GRPC Core  9.0.0
Data Fields
grpc_core::HandshakerArgs Struct Reference

Handshakers are used to perform initial handshakes on a connection before the client sends the initial request. More...

#include <handshaker.h>

Data Fields

grpc_endpointendpoint = nullptr
 
grpc_channel_argsargs = nullptr
 
grpc_slice_bufferread_buffer = nullptr
 
bool exit_early = false
 
void * user_data = nullptr
 

Detailed Description

Handshakers are used to perform initial handshakes on a connection before the client sends the initial request.

Some examples of what a handshaker can be used for includes support for HTTP CONNECT on the client side and various types of security initialization.

In general, handshakers should be used via a handshake manager. Arguments passed through handshakers and to the on_handshake_done callback.

For handshakers, all members are input/output parameters; for example, a handshaker may read from or write to endpoint and then later replace it with a wrapped endpoint. Similarly, a handshaker may modify args.

A handshaker takes ownership of the members while a handshake is in progress. Upon failure or shutdown of an in-progress handshaker, the handshaker is responsible for destroying the members and setting them to NULL before invoking the on_handshake_done callback.

For the on_handshake_done callback, all members are input arguments, which the callback takes ownership of.

Field Documentation

◆ args

grpc_channel_args* grpc_core::HandshakerArgs::args = nullptr

◆ endpoint

grpc_endpoint* grpc_core::HandshakerArgs::endpoint = nullptr

◆ exit_early

bool grpc_core::HandshakerArgs::exit_early = false

◆ read_buffer

grpc_slice_buffer* grpc_core::HandshakerArgs::read_buffer = nullptr

◆ user_data

void* grpc_core::HandshakerArgs::user_data = nullptr

The documentation for this struct was generated from the following file: