aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
Classes | Typedefs | Enumerations | Functions | Variables
Aws::Crt::Io Namespace Reference

Classes

struct  ChannelHandler
 
class  ClientBootstrap
 
class  ClientTlsChannelHandler
 
class  DefaultHostResolver
 
class  EventLoopGroup
 
class  HostResolver
 
class  InputStream
 
class  SocketOptions
 
class  StdIOStreamInputStream
 
struct  TaskWrapper
 
class  TlsChannelHandler
 
class  TlsConnectionOptions
 
class  TlsContext
 
class  TlsContextOptions
 
class  Uri
 

Typedefs

using OnClientBootstrapShutdownComplete = std::function< void()>
 
using HostAddress = aws_host_address
 
using OnHostResolved = std::function< void(HostResolver &resolver, const Vector< HostAddress > &addresses, int errorCode)>
 
using StreamStatus = aws_stream_status
 
using OffsetType = aws_off_t
 
using NewTlsContextImplCallback = std::function< void *(TlsContextOptions &, TlsMode, Allocator *)>
 
using DeleteTlsContextImplCallback = std::function< void(void *)>
 
using IsTlsAlpnSupportedCallback = std::function< bool()>
 
using NewClientTlsHandlerCallback = std::function< std::shared_ptr< ClientTlsChannelHandler >(struct aws_channel_slot *slot, const struct aws_tls_connection_options &options, Allocator *allocator)>
 
using IStream = std::basic_istream< char, std::char_traits< char > >
 

Enumerations

enum class  ChannelDirection { Read , Write }
 
enum class  MessageType { ApplicationData }
 
enum class  TaskStatus { RunReady , Canceled }
 
enum class  SocketType { Stream = AWS_SOCKET_STREAM , Dgram = AWS_SOCKET_DGRAM }
 
enum class  SocketDomain { IPv4 = AWS_SOCKET_IPV4 , IPv6 = AWS_SOCKET_IPV6 , Local = AWS_SOCKET_LOCAL }
 
enum class  StreamSeekBasis { Begin = AWS_SSB_BEGIN , End = AWS_SSB_END }
 
enum class  TlsMode { CLIENT , SERVER }
 

Functions

static void s_ChannelTaskCallback (struct aws_channel_task *, void *arg, enum aws_task_status status)
 

Variables

static const uint32_t DEFAULT_SOCKET_TIME_MSEC = 3000
 

Typedef Documentation

◆ DeleteTlsContextImplCallback

using Aws::Crt::Io::DeleteTlsContextImplCallback = typedef std::function<void(void *)>

◆ HostAddress

using Aws::Crt::Io::HostAddress = typedef aws_host_address

◆ IsTlsAlpnSupportedCallback

using Aws::Crt::Io::IsTlsAlpnSupportedCallback = typedef std::function<bool()>

◆ IStream

using Aws::Crt::Io::IStream = typedef std::basic_istream<char, std::char_traits<char> >

◆ NewClientTlsHandlerCallback

using Aws::Crt::Io::NewClientTlsHandlerCallback = typedef std::function<std::shared_ptr<ClientTlsChannelHandler>( struct aws_channel_slot *slot, const struct aws_tls_connection_options &options, Allocator *allocator)>

◆ NewTlsContextImplCallback

using Aws::Crt::Io::NewTlsContextImplCallback = typedef std::function<void *(TlsContextOptions &, TlsMode, Allocator *)>

◆ OffsetType

using Aws::Crt::Io::OffsetType = typedef aws_off_t
Deprecated:
Use int64_t instead for offsets in public APIs.

◆ OnClientBootstrapShutdownComplete

using Aws::Crt::Io::OnClientBootstrapShutdownComplete = typedef std::function<void()>

◆ OnHostResolved

using Aws::Crt::Io::OnHostResolved = typedef std::function<void(HostResolver &resolver, const Vector<HostAddress> &addresses, int errorCode)>

Invoked upon resolution of an address. You do not own the memory pointed to in addresses, if you persist the data, copy it first. If errorCode is AWS_ERROR_SUCCESS, the operation succeeded. Otherwise, the operation failed.

◆ StreamStatus

using Aws::Crt::Io::StreamStatus = typedef aws_stream_status

Enumeration Type Documentation

◆ ChannelDirection

enum class Aws::Crt::Io::ChannelDirection
strong
Enumerator
Read 
Write 

◆ MessageType

enum class Aws::Crt::Io::MessageType
strong
Enumerator
ApplicationData 

◆ SocketDomain

enum class Aws::Crt::Io::SocketDomain
strong
Enumerator
IPv4 
IPv6 
Local 

Unix domain sockets (or at least something like them)

◆ SocketType

enum class Aws::Crt::Io::SocketType
strong
Enumerator
Stream 

A streaming socket sends reliable messages over a two-way connection. This means TCP when used with IPV4/6, and Unix domain sockets, when used with AWS_SOCKET_LOCAL

Dgram 

A datagram socket is connectionless and sends unreliable messages. This means UDP when used with IPV4/6. LOCAL sockets are not compatible with DGRAM.

◆ StreamSeekBasis

enum class Aws::Crt::Io::StreamSeekBasis
strong
Enumerator
Begin 
End 

◆ TaskStatus

enum class Aws::Crt::Io::TaskStatus
strong
Enumerator
RunReady 
Canceled 

◆ TlsMode

enum class Aws::Crt::Io::TlsMode
strong
Enumerator
CLIENT 
SERVER 

Function Documentation

◆ s_ChannelTaskCallback()

static void Aws::Crt::Io::s_ChannelTaskCallback ( struct aws_channel_task *  ,
void *  arg,
enum aws_task_status  status 
)
static

Variable Documentation

◆ DEFAULT_SOCKET_TIME_MSEC

const uint32_t Aws::Crt::Io::DEFAULT_SOCKET_TIME_MSEC = 3000
static