#include <handshaker.h>
Public Attributes | |
grpc_channel_args * | args = nullptr |
Timestamp | deadline |
grpc_endpoint * | endpoint = nullptr |
bool | exit_early = false |
grpc_slice_buffer * | read_buffer = nullptr |
void * | user_data = nullptr |
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.
Definition at line 64 of file handshaker.h.
grpc_channel_args* grpc_core::HandshakerArgs::args = nullptr |
Definition at line 66 of file handshaker.h.
Timestamp grpc_core::HandshakerArgs::deadline |
Definition at line 77 of file handshaker.h.
grpc_endpoint* grpc_core::HandshakerArgs::endpoint = nullptr |
Definition at line 65 of file handshaker.h.
Definition at line 70 of file handshaker.h.
grpc_slice_buffer* grpc_core::HandshakerArgs::read_buffer = nullptr |
Definition at line 67 of file handshaker.h.
void* grpc_core::HandshakerArgs::user_data = nullptr |
Definition at line 73 of file handshaker.h.