SNode.C
Loading...
Searching...
No Matches
net::SocketAddress< SockAddrT > Class Template Reference

#include <SocketAddress.h>

Inheritance diagram for net::SocketAddress< SockAddrT >:
Collaboration diagram for net::SocketAddress< SockAddrT >:

Public Types

using SockAddr = SockAddrT
using SockLen = socklen_t

Public Member Functions

 SocketAddress (sa_family_t af, SockLen sockAddrLen=sizeof(SockAddr))
 SocketAddress (const SocketAddress &socketAddress)
 SocketAddress (const SockAddr &sockAddr, SockLen sockAddrLen)
SocketAddressoperator= (const SocketAddress &socketAddress)
const sockaddr & getSockAddr ()
const SockLengetSockAddrLen () const
sa_family_t getAddressFamily () const
Public Member Functions inherited from core::socket::SocketAddress
virtual ~SocketAddress ()
virtual bool useNext ()
virtual std::string toString (bool expanded=true) const =0
virtual std::string getEndpoint (const std::string_view &format={}) const

Protected Attributes

SockAddr sockAddr {}
SockLen sockAddrLen = 0

Detailed Description

template<typename SockAddrT>
class net::SocketAddress< SockAddrT >

Definition at line 57 of file SocketAddress.h.

Member Typedef Documentation

◆ SockAddr

template<typename SockAddrT>
using net::SocketAddress< SockAddrT >::SockAddr = SockAddrT

Definition at line 59 of file SocketAddress.h.

◆ SockLen

template<typename SockAddrT>
using net::SocketAddress< SockAddrT >::SockLen = socklen_t

Definition at line 60 of file SocketAddress.h.

Constructor & Destructor Documentation

◆ SocketAddress() [1/3]

template<typename SockAddr>
net::SocketAddress< SockAddr >::SocketAddress ( sa_family_t af,
SockLen sockAddrLen = sizeof(SockAddr) )
explicit

Definition at line 53 of file SocketAddress.hpp.

55 std::memset(&sockAddr, 0, sizeof(sockAddr));
56 reinterpret_cast<sockaddr*>(&sockAddr)->sa_family = af;
57 }

References sockAddr, and sockAddrLen.

Referenced by net::in6::SocketAddress::SocketAddress(), net::in::SocketAddress::SocketAddress(), net::l2::SocketAddress::SocketAddress(), net::rc::SocketAddress::SocketAddress(), and net::un::SocketAddress::SocketAddress().

Here is the caller graph for this function:

◆ SocketAddress() [2/3]

template<typename SockAddr>
net::SocketAddress< SockAddr >::SocketAddress ( const SocketAddress< SockAddrT > & socketAddress)

Definition at line 60 of file SocketAddress.hpp.

References sockAddr, and sockAddrLen.

◆ SocketAddress() [3/3]

template<typename SockAddr>
net::SocketAddress< SockAddr >::SocketAddress ( const SockAddr & sockAddr,
SockLen sockAddrLen )

Definition at line 66 of file SocketAddress.hpp.

References sockAddr, and sockAddrLen.

Referenced by net::in6::SocketAddress::SocketAddress(), net::in::SocketAddress::SocketAddress(), net::l2::SocketAddress::SocketAddress(), net::rc::SocketAddress::SocketAddress(), and net::un::SocketAddress::SocketAddress().

Here is the caller graph for this function:

Member Function Documentation

◆ getAddressFamily()

template<typename SockAddr>
sa_family_t net::SocketAddress< SockAddr >::getAddressFamily ( ) const

Definition at line 92 of file SocketAddress.hpp.

92 {
93 return reinterpret_cast<const sockaddr*>(&sockAddr)->sa_family;
94 }

References sockAddr.

Referenced by net::in6::SocketAddress::init(), and net::in::SocketAddress::init().

Here is the caller graph for this function:

◆ getSockAddr()

template<typename SockAddr>
const sockaddr & net::SocketAddress< SockAddr >::getSockAddr ( )

Definition at line 82 of file SocketAddress.hpp.

82 {
83 return reinterpret_cast<const sockaddr&>(sockAddr);
84 }

References sockAddr.

Referenced by net::un::dgram::Socket::sendFd().

Here is the caller graph for this function:

◆ getSockAddrLen()

template<typename SockAddr>
const SocketAddress< SockAddr >::SockLen & net::SocketAddress< SockAddr >::getSockAddrLen ( ) const

Definition at line 87 of file SocketAddress.hpp.

87 {
88 return sockAddrLen;
89 }

References sockAddrLen.

Referenced by net::un::dgram::Socket::sendFd().

Here is the caller graph for this function:

◆ operator=()

template<typename SockAddr>
SocketAddress< SockAddr > & net::SocketAddress< SockAddr >::operator= ( const SocketAddress< SockAddrT > & socketAddress)

Definition at line 72 of file SocketAddress.hpp.

72 {
73 if (this != &socketAddress) {
76 }
77
78 return *this;
79 }

References sockAddr, and sockAddrLen.

Member Data Documentation

◆ sockAddr

template<typename SockAddrT>
SockAddr net::SocketAddress< SockAddrT >::sockAddr {}
protected

◆ sockAddrLen

template<typename SockAddrT>
SockLen net::SocketAddress< SockAddrT >::sockAddrLen = 0
protected

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