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 35 of file SocketAddress.h.

Member Typedef Documentation

◆ SockAddr

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

Definition at line 37 of file SocketAddress.h.

◆ SockLen

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

Definition at line 38 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 31 of file SocketAddress.hpp.

33 std::memset(&sockAddr, 0, sizeof(sockAddr));
34 reinterpret_cast<sockaddr*>(&sockAddr)->sa_family = af;
35 }

◆ SocketAddress() [2/3]

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

Definition at line 38 of file SocketAddress.hpp.

39 : sockAddr(socketAddress.sockAddr)
40 , sockAddrLen(socketAddress.sockAddrLen) {
41 }

◆ SocketAddress() [3/3]

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

Definition at line 44 of file SocketAddress.hpp.

Member Function Documentation

◆ getAddressFamily()

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

Definition at line 70 of file SocketAddress.hpp.

70 {
71 return reinterpret_cast<const sockaddr*>(&sockAddr)->sa_family;
72 }

◆ getSockAddr()

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

Definition at line 60 of file SocketAddress.hpp.

60 {
61 return reinterpret_cast<const sockaddr&>(sockAddr);
62 }

◆ getSockAddrLen()

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

Definition at line 65 of file SocketAddress.hpp.

65 {
66 return sockAddrLen;
67 }

◆ operator=()

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

Definition at line 50 of file SocketAddress.hpp.

50 {
51 if (this != &socketAddress) {
52 this->sockAddr = socketAddress.sockAddr;
53 this->sockAddrLen = socketAddress.sockAddrLen;
54 }
55
56 return *this;
57 }

Member Data Documentation

◆ sockAddr

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

Definition at line 54 of file SocketAddress.h.

54{};

◆ sockAddrLen

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

Definition at line 55 of file SocketAddress.h.


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