Nexus Engine  v0.0.1
Loading...
Searching...
No Matches
Nexus::Network::Socket Class Referenceexport

Public Member Functions

 Socket ()=default
 Socket (SocketType type)
 ~Socket ()
 Socket (const Socket &)=delete
Socketoperator= (const Socket &)=delete
 Socket (Socket &&other) noexcept
Socketoperator= (Socket &&other) noexcept
bool IsValid () const noexcept
bool SetNonBlocking (bool enabled)
bool Bind (uint16 port)
bool Connect (const NetworkAddress &address, std::optional< NetworkError > &outError)
bool CompleteConnect (std::optional< NetworkError > &outError)
bool Listen (int backlog=16)
std::optional< SocketAccept ()
std::optional< usizeSend (std::span< const byte > data, std::optional< NetworkError > &outError)
std::optional< usizeReceiveInto (std::span< byte > buffer, std::optional< NetworkError > &outError)
std::optional< usizeSendTo (const NetworkAddress &dest, std::span< const byte > data, std::optional< NetworkError > &outError)
std::optional< usizeReceiveFrom (std::span< byte > buffer, NetworkAddress &outSender, std::optional< NetworkError > &outError)
void Close ()

Constructor & Destructor Documentation

◆ Socket() [1/4]

Nexus::Network::Socket::Socket ( )
default

◆ Socket() [2/4]

Nexus::Network::Socket::Socket ( SocketType type)
explicit

◆ ~Socket()

Nexus::Network::Socket::~Socket ( )

◆ Socket() [3/4]

Nexus::Network::Socket::Socket ( const Socket & )
delete

◆ Socket() [4/4]

Nexus::Network::Socket::Socket ( Socket && other)
noexcept

Member Function Documentation

◆ Accept()

std::optional< Socket > Nexus::Network::Socket::Accept ( )
nodiscard

◆ Bind()

bool Nexus::Network::Socket::Bind ( uint16 port)

◆ Close()

void Nexus::Network::Socket::Close ( )

◆ CompleteConnect()

bool Nexus::Network::Socket::CompleteConnect ( std::optional< NetworkError > & outError)
nodiscard

◆ Connect()

bool Nexus::Network::Socket::Connect ( const NetworkAddress & address,
std::optional< NetworkError > & outError )

◆ IsValid()

bool Nexus::Network::Socket::IsValid ( ) const
inlinenodiscardnoexcept

◆ Listen()

bool Nexus::Network::Socket::Listen ( int backlog = 16)

◆ operator=() [1/2]

Socket & Nexus::Network::Socket::operator= ( const Socket & )
delete

◆ operator=() [2/2]

Socket & Nexus::Network::Socket::operator= ( Socket && other)
noexcept

◆ ReceiveFrom()

std::optional< usize > Nexus::Network::Socket::ReceiveFrom ( std::span< byte > buffer,
NetworkAddress & outSender,
std::optional< NetworkError > & outError )

◆ ReceiveInto()

std::optional< usize > Nexus::Network::Socket::ReceiveInto ( std::span< byte > buffer,
std::optional< NetworkError > & outError )

◆ Send()

std::optional< usize > Nexus::Network::Socket::Send ( std::span< const byte > data,
std::optional< NetworkError > & outError )

◆ SendTo()

std::optional< usize > Nexus::Network::Socket::SendTo ( const NetworkAddress & dest,
std::span< const byte > data,
std::optional< NetworkError > & outError )

◆ SetNonBlocking()

bool Nexus::Network::Socket::SetNonBlocking ( bool enabled)

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