blocxx
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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 ()
 
virtual Select_t getSelectObj () const =0
 

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.

◆ ServerSocketImpl() [2/3]

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

Definition at line 91 of file ServerSocketImpl.cpp.

References BLOCXX_ASSERT.

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

Member Function Documentation

◆ accept()

Socket BLOCXX_NAMESPACE::ServerSocketImpl::accept ( const Timeout timeout)

◆ addrString()

String BLOCXX_NAMESPACE::ServerSocketImpl::addrString ( )

◆ close()

void BLOCXX_NAMESPACE::ServerSocketImpl::close ( )

◆ doListen() [1/2]

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

◆ 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()

void BLOCXX_NAMESPACE::ServerSocketImpl::doListenIPv4 ( UInt16  port,
int  queueSize,
const String listenAddr 
)

◆ doListenUDS()

void BLOCXX_NAMESPACE::ServerSocketImpl::doListenUDS ( const String filename,
int  queueSize = 10,
bool  reuseAddr = true 
)

◆ fillAddrParms()

void BLOCXX_NAMESPACE::ServerSocketImpl::fillAddrParms ( )
private

◆ getfd()

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

Definition at line 72 of file ServerSocketImpl.hpp.

◆ getLocalAddress()

SocketAddress BLOCXX_NAMESPACE::ServerSocketImpl::getLocalAddress ( )
inline

Definition at line 71 of file ServerSocketImpl.hpp.

◆ 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

Member Data Documentation

◆ m_isActive

bool BLOCXX_NAMESPACE::ServerSocketImpl::m_isActive
private

Definition at line 102 of file ServerSocketImpl.hpp.

Referenced by accept(), close(), doListenIPv4(), and doListenUDS().

◆ m_isSSL

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

Definition at line 105 of file ServerSocketImpl.hpp.

Referenced by accept(), and doListen().

◆ m_localAddress

SocketAddress BLOCXX_NAMESPACE::ServerSocketImpl::m_localAddress
private

Definition at line 101 of file ServerSocketImpl.hpp.

Referenced by accept(), close(), doListen(), doListenUDS(), and fillAddrParms().

◆ 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().

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