|
GRPC Core
9.0.0
|
#include <grpc/support/port_platform.h>#include "src/core/lib/surface/channel.h"#include <inttypes.h>#include <limits.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/lib/channel/channel_args.h"#include "src/core/lib/channel/channel_trace.h"#include "src/core/lib/channel/channelz.h"#include "src/core/lib/channel/channelz_registry.h"#include "src/core/lib/debug/stats.h"#include "src/core/lib/gprpp/manual_constructor.h"#include "src/core/lib/gprpp/memory.h"#include "src/core/lib/gprpp/ref_counted_ptr.h"#include "src/core/lib/iomgr/iomgr.h"#include "src/core/lib/iomgr/resource_quota.h"#include "src/core/lib/slice/slice_internal.h"#include "src/core/lib/surface/api_trace.h"#include "src/core/lib/surface/call.h"#include "src/core/lib/surface/channel_init.h"#include "src/core/lib/transport/static_metadata.h"Data Structures | |
| struct | registered_call |
Macros | |
| #define | NUM_CACHED_STATUS_ELEMS 3 |
| Cache grpc-status: X mdelems for X = 0..NUM_CACHED_STATUS_ELEMS. More... | |
| #define | ROUND_UP_SIZE 256 |
Typedefs | |
| typedef struct registered_call | registered_call |
Functions | |
| grpc_channel * | grpc_channel_create_with_builder (grpc_channel_stack_builder *builder, grpc_channel_stack_type channel_stack_type) |
| grpc_channel * | grpc_channel_create (const char *target, const grpc_channel_args *input_args, grpc_channel_stack_type channel_stack_type, grpc_transport *optional_transport, grpc_resource_user *resource_user) |
| size_t | grpc_channel_get_call_size_estimate (grpc_channel *channel) |
| void | grpc_channel_update_call_size_estimate (grpc_channel *channel, size_t size) |
| char * | grpc_channel_get_target (grpc_channel *channel) |
| Return a newly allocated string representing the target a channel was created for. More... | |
| void | grpc_channel_get_info (grpc_channel *channel, const grpc_channel_info *channel_info) |
| Request info about the channel. More... | |
| void | grpc_channel_reset_connect_backoff (grpc_channel *channel) |
| EXPERIMENTAL. More... | |
| grpc_call * | grpc_channel_create_call (grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_completion_queue *cq, grpc_slice method, const grpc_slice *host, gpr_timespec deadline, void *reserved) |
| Create a call given a grpc_channel, in order to call 'method'. More... | |
| grpc_call * | grpc_channel_create_pollset_set_call (grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_pollset_set *pollset_set, const grpc_slice &method, const grpc_slice *host, grpc_millis deadline, void *reserved) |
| 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, void *reserved) |
| Pre-register a method/host pair on a channel. More... | |
| grpc_call * | grpc_channel_create_registered_call (grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline, void *reserved) |
| Create a call given a handle returned from grpc_channel_register_call. More... | |
| void | grpc_channel_destroy_internal (grpc_channel *channel) |
| The same as grpc_channel_destroy, but doesn't create an ExecCtx, and so is safe to use from within core. More... | |
| void | grpc_channel_destroy (grpc_channel *channel) |
| Close and destroy a grpc channel. More... | |
| #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).
| #define ROUND_UP_SIZE 256 |
| typedef struct registered_call registered_call |
| grpc_channel* grpc_channel_create | ( | const char * | target, |
| const grpc_channel_args * | input_args, | ||
| grpc_channel_stack_type | channel_stack_type, | ||
| grpc_transport * | optional_transport, | ||
| grpc_resource_user * | resource_user | ||
| ) |
| grpc_call* grpc_channel_create_call | ( | grpc_channel * | channel, |
| grpc_call * | parent_call, | ||
| uint32_t | propagation_mask, | ||
| grpc_completion_queue * | completion_queue, | ||
| grpc_slice | method, | ||
| const grpc_slice * | host, | ||
| gpr_timespec | deadline, | ||
| void * | reserved | ||
| ) |
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. If parent_call is non-NULL, it must be a server-side call. It will be used to propagate properties from the server call to this new client call, depending on the value of propagation_mask (see propagation_bits.h for possible values).
| grpc_call* grpc_channel_create_pollset_set_call | ( | grpc_channel * | channel, |
| grpc_call * | parent_call, | ||
| uint32_t | propagation_mask, | ||
| grpc_pollset_set * | pollset_set, | ||
| const grpc_slice & | method, | ||
| const grpc_slice * | host, | ||
| grpc_millis | deadline, | ||
| void * | reserved | ||
| ) |
Create a call given a grpc_channel, in order to call method.
Progress is tied to activity on pollset_set. The returned call object is meant to be used with grpc_call_start_batch_and_execute, which relies on callbacks to signal completions. method and host need only live through the invocation of this function. If parent_call is non-NULL, it must be a server-side call. It will be used to propagate properties from the server call to this new client call, depending on the value of propagation_mask (see propagation_bits.h for possible values)
| grpc_call* grpc_channel_create_registered_call | ( | grpc_channel * | channel, |
| grpc_call * | parent_call, | ||
| uint32_t | propagation_mask, | ||
| grpc_completion_queue * | completion_queue, | ||
| void * | registered_call_handle, | ||
| gpr_timespec | deadline, | ||
| void * | reserved | ||
| ) |
Create a call given a handle returned from grpc_channel_register_call.
| grpc_channel* grpc_channel_create_with_builder | ( | grpc_channel_stack_builder * | builder, |
| grpc_channel_stack_type | channel_stack_type | ||
| ) |
| void grpc_channel_destroy | ( | grpc_channel * | channel | ) |
Close and destroy a grpc channel.
| void grpc_channel_destroy_internal | ( | grpc_channel * | channel | ) |
The same as grpc_channel_destroy, but doesn't create an ExecCtx, and so is safe to use from within core.
| size_t grpc_channel_get_call_size_estimate | ( | grpc_channel * | channel | ) |
| void grpc_channel_get_info | ( | grpc_channel * | channel, |
| const grpc_channel_info * | channel_info | ||
| ) |
Request info about the channel.
channel_info indicates what information is being requested and how that information will be returned. channel_info is owned by the caller.
| char* grpc_channel_get_target | ( | grpc_channel * | channel | ) |
Return a newly allocated string representing the target a channel was created for.
| void* grpc_channel_register_call | ( | grpc_channel * | channel, |
| const char * | method, | ||
| const char * | host, | ||
| void * | reserved | ||
| ) |
Pre-register a method/host pair on a channel.
method and host are not owned and must remain alive while the server is running.
| void grpc_channel_reset_connect_backoff | ( | grpc_channel * | channel | ) |
EXPERIMENTAL.
Resets the channel's connect backoff. TODO(roth): When we see whether this proves useful, either promote to non-experimental or remove it.
| void grpc_channel_update_call_size_estimate | ( | grpc_channel * | channel, |
| size_t | size | ||
| ) |