aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
Public Member Functions | Protected Member Functions | List of all members
Aws::Crt::Io::ClientTlsChannelHandler Class Referenceabstract

#include <TlsOptions.h>

Inheritance diagram for Aws::Crt::Io::ClientTlsChannelHandler:
Aws::Crt::Io::TlsChannelHandler Aws::Crt::Io::ChannelHandler

Public Member Functions

virtual void StartNegotiation ()=0
 
- Public Member Functions inherited from Aws::Crt::Io::TlsChannelHandler
virtual ~TlsChannelHandler ()
 
virtual String GetProtocol () const =0
 
- Public Member Functions inherited from Aws::Crt::Io::ChannelHandler
virtual ~ChannelHandler ()=default
 
 ChannelHandler (const ChannelHandler &)=delete
 
ChannelHandleroperator= (const ChannelHandler &)=delete
 
bool ChannelsThreadIsCallersThread () const
 
void ShutDownChannel (int errorCode)
 
void ScheduleTask (std::function< void(TaskStatus)> &&task)
 
void ScheduleTask (std::function< void(TaskStatus)> &&task, std::chrono::nanoseconds run_in)
 

Protected Member Functions

 ClientTlsChannelHandler (struct aws_channel_slot *slot, const struct aws_tls_connection_options &options, Allocator *allocator=g_allocator)
 
- Protected Member Functions inherited from Aws::Crt::Io::TlsChannelHandler
 TlsChannelHandler (struct aws_channel_slot *slot, const struct aws_tls_connection_options &options, Allocator *allocator=g_allocator)
 
void CompleteTlsNegotiation (int errorCode)
 
- Protected Member Functions inherited from Aws::Crt::Io::ChannelHandler
virtual int ProcessReadMessage (struct aws_io_message *message)=0
 
virtual int ProcessWriteMessage (struct aws_io_message *message)=0
 
virtual int IncrementReadWindow (size_t size)=0
 
virtual void ProcessShutdown (ChannelDirection dir, int errorCode, bool freeScarceResourcesImmediately)=0
 
virtual size_t InitialWindowSize ()=0
 
virtual size_t MessageOverhead ()=0
 
virtual void ResetStatistics ()
 
virtual void GatherStatistics (struct aws_array_list *)
 
 ChannelHandler (Allocator *allocator=g_allocator)
 
struct aws_io_message * AcquireMessageFromPool (MessageType messageType, size_t sizeHint)
 
struct aws_io_message * AcquireMaxSizeMessageForWrite ()
 
bool SendMessage (struct aws_io_message *message, ChannelDirection direction)
 
bool IncrementUpstreamReadWindow (size_t windowUpdateSize)
 
void OnShutdownComplete (ChannelDirection direction, int errorCode, bool freeScarceResourcesImmediately)
 
size_t DownstreamReadWindow () const
 
size_t UpstreamMessageOverhead () const
 
struct aws_channel_slot * GetSlot () const
 

Additional Inherited Members

- Public Attributes inherited from Aws::Crt::Io::ChannelHandler
 s_ProcessReadMessage
 
 s_ProcessWriteMessage
 
 s_IncrementReadWindow
 
 s_ProcessShutdown
 
 s_InitialWindowSize
 
 s_MessageOverhead
 
 s_ResetStatistics
 
 s_GatherStatistics
 
- Protected Attributes inherited from Aws::Crt::Io::ChannelHandler
struct aws_channel_handler m_handler
 
Allocatorm_allocator
 

Detailed Description

BYO_CRYPTO: Client TLS channel-handler base class.

If using BYO_CRYPTO, you must define a concrete implementation and set its creation callback via ApiHandle.SetBYOCryptoClientTlsCallback().

Constructor & Destructor Documentation

◆ ClientTlsChannelHandler()

Aws::Crt::Io::ClientTlsChannelHandler::ClientTlsChannelHandler ( struct aws_channel_slot *  slot,
const struct aws_tls_connection_options &  options,
Allocator allocator = g_allocator 
)
protected

Member Function Documentation

◆ StartNegotiation()

virtual void Aws::Crt::Io::ClientTlsChannelHandler::StartNegotiation ( )
pure virtual

Initiates the TLS session negotiation. This is called by the common runtime when it's time to start a new session.


The documentation for this class was generated from the following files: