blocxx
BLOCXX_NAMESPACE::ServerSocketImpl Class Reference

#include <ServerSocketImpl.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::ServerSocketImpl:
BLOCXX_NAMESPACE::SelectableIFC BLOCXX_NAMESPACE::IntrusiveCountableBase

Public Member Functions

 ServerSocketImpl (SSLServerCtxRef sslCtx)
 
 ServerSocketImpl (SocketFlags::ESSLFlag isSSL)
 
 ~ServerSocketImpl ()
 
String addrString ()
 
Socket accept (const Timeout &timeout)
 
void close ()
 
SocketAddress getLocalAddress ()
 
SocketHandle_t getfd () const
 
void doListen (UInt16 port, SocketFlags::ESSLFlag isSSL, int queueSize=10, const String &listenAddr=SocketAddress::ALL_LOCAL_ADDRESSES, SocketFlags::EReuseAddrFlag reuseAddr=SocketFlags::E_REUSE_ADDR)
 
void doListenIPv4 (UInt16 port, int queueSize, const String &listenAddr)
 
void doListen (UInt16 port, int queueSize=10, const String &listenAddr=SocketAddress::ALL_LOCAL_ADDRESSES, SocketFlags::EReuseAddrFlag reuseAddr=SocketFlags::E_REUSE_ADDR)
 
void doListenUDS (const String &filename, int queueSize=10, bool reuseAddr=true)
 
Select_t getSelectObj () const
 
- Public Member Functions inherited from BLOCXX_NAMESPACE::SelectableIFC
virtual ~SelectableIFC ()
 

Private Member Functions

void fillAddrParms ()
 
 ServerSocketImpl (const ServerSocketImpl &arg)
 
ServerSocketImploperator= (const ServerSocketImpl &arg)
 

Private Attributes

SocketHandle_t m_sockfd
 
SocketAddress m_localAddress
 
bool m_isActive
 
SocketFlags::ESSLFlag m_isSSL
 
SSLServerCtxRef m_sslCtx
 
File m_udsFile
 

Additional Inherited Members

- Protected Member Functions inherited from BLOCXX_NAMESPACE::IntrusiveCountableBase
 IntrusiveCountableBase ()
 
 IntrusiveCountableBase (const IntrusiveCountableBase &)
 
IntrusiveCountableBaseoperator= (const IntrusiveCountableBase &)
 
virtual ~IntrusiveCountableBase ()
 

Detailed Description

Definition at line 60 of file ServerSocketImpl.hpp.

Constructor & Destructor Documentation

◆ ServerSocketImpl() [1/3]

BLOCXX_NAMESPACE::ServerSocketImpl::ServerSocketImpl ( SSLServerCtxRef sslCtx)

Definition at line 72 of file ServerSocketImpl.cpp.

References BLOCXX_ASSERT, INVALID_SOCKET, m_isActive, m_localAddress, m_sockfd, and m_sslCtx.

Referenced by operator=(), and ServerSocketImpl().

◆ ServerSocketImpl() [2/3]

BLOCXX_NAMESPACE::ServerSocketImpl::ServerSocketImpl ( SocketFlags::ESSLFlag isSSL)

◆ ~ServerSocketImpl()

BLOCXX_NAMESPACE::ServerSocketImpl::~ServerSocketImpl ( )

Definition at line 110 of file ServerSocketImpl.cpp.

References close().

◆ ServerSocketImpl() [3/3]

BLOCXX_NAMESPACE::ServerSocketImpl::ServerSocketImpl ( const ServerSocketImpl & arg)
private

References ServerSocketImpl().

Member Function Documentation

◆ accept()

◆ addrString()

String BLOCXX_NAMESPACE::ServerSocketImpl::addrString ( )

References accept(), and close().

◆ close()

◆ doListen() [1/2]

◆ doListen() [2/2]

void BLOCXX_NAMESPACE::ServerSocketImpl::doListen ( UInt16 port,
SocketFlags::ESSLFlag isSSL,
int queueSize = 10,
const String & listenAddr = SocketAddress::ALL_LOCAL_ADDRESSES,
SocketFlags::EReuseAddrFlag reuseAddr = SocketFlags::E_REUSE_ADDR )

Definition at line 143 of file ServerSocketImpl.cpp.

References doListen(), and m_isSSL.

Referenced by doListen().

◆ doListenIPv4()

◆ doListenUDS()

◆ fillAddrParms()

void BLOCXX_NAMESPACE::ServerSocketImpl::fillAddrParms ( )
private

◆ getfd()

SocketHandle_t BLOCXX_NAMESPACE::ServerSocketImpl::getfd ( ) const
inline

Definition at line 72 of file ServerSocketImpl.hpp.

References m_sockfd.

◆ getLocalAddress()

SocketAddress BLOCXX_NAMESPACE::ServerSocketImpl::getLocalAddress ( )
inline

Definition at line 71 of file ServerSocketImpl.hpp.

References m_localAddress.

◆ getSelectObj()

Select_t BLOCXX_NAMESPACE::ServerSocketImpl::getSelectObj ( ) const
virtual

Implements BLOCXX_NAMESPACE::SelectableIFC.

Definition at line 127 of file ServerSocketImpl.cpp.

References m_sockfd.

◆ operator=()

ServerSocketImpl & BLOCXX_NAMESPACE::ServerSocketImpl::operator= ( const ServerSocketImpl & arg)
private

References ServerSocketImpl().

Member Data Documentation

◆ m_isActive

bool BLOCXX_NAMESPACE::ServerSocketImpl::m_isActive
private

◆ m_isSSL

SocketFlags::ESSLFlag BLOCXX_NAMESPACE::ServerSocketImpl::m_isSSL
private

Definition at line 105 of file ServerSocketImpl.hpp.

Referenced by accept(), doListen(), and ServerSocketImpl().

◆ m_localAddress

SocketAddress BLOCXX_NAMESPACE::ServerSocketImpl::m_localAddress
private

◆ m_sockfd

SocketHandle_t BLOCXX_NAMESPACE::ServerSocketImpl::m_sockfd
private

◆ m_sslCtx

SSLServerCtxRef BLOCXX_NAMESPACE::ServerSocketImpl::m_sslCtx
private

Definition at line 112 of file ServerSocketImpl.hpp.

Referenced by accept(), and ServerSocketImpl().

◆ m_udsFile

File BLOCXX_NAMESPACE::ServerSocketImpl::m_udsFile
private

Definition at line 118 of file ServerSocketImpl.hpp.

Referenced by close(), and doListenUDS().


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