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
 

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 }

◆ SocketAddress() [2/3]

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

Definition at line 60 of file SocketAddress.hpp.

61 : sockAddr(socketAddress.sockAddr)
62 , sockAddrLen(socketAddress.sockAddrLen) {
63 }

◆ SocketAddress() [3/3]

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

Definition at line 66 of file SocketAddress.hpp.

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 }

◆ 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 }

◆ 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 }

◆ 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) {
74 this->sockAddr = socketAddress.sockAddr;
75 this->sockAddrLen = socketAddress.sockAddrLen;
76 }
77
78 return *this;
79 }

Member Data Documentation

◆ sockAddr

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

Definition at line 76 of file SocketAddress.h.

76{};

◆ sockAddrLen

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

Definition at line 77 of file SocketAddress.h.


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