BLOCXX_NAMESPACE::ServerSocketImpl Class Reference

#include <ServerSocketImpl.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::ServerSocketImpl:

BLOCXX_NAMESPACE::SelectableIFC BLOCXX_NAMESPACE::IntrusiveCountableBase List of all members.

Public Member Functions

 ServerSocketImpl (SSLServerCtxRef sslCtx)
 ServerSocketImpl (SocketFlags::ESSLFlag isSSL)
 ~ServerSocketImpl ()
String addrString ()
Socket accept (int timeoutSecs=-1)
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 doListen (UInt16 port, int queueSize=10, const String &listenAddr=SocketAddress::ALL_LOCAL_ADDRESSES, SocketFlags::EReuseAddrFlag reuseAddr=SocketFlags::E_REUSE_ADDR)
void doListen (const String &filename, int queueSize=10, bool reuseAddr=true)
Select_t getSelectObj () const

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

Detailed Description

Definition at line 59 of file ServerSocketImpl.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::ServerSocketImpl::ServerSocketImpl SSLServerCtxRef  sslCtx  ) 
 

Definition at line 68 of file ServerSocketImpl.cpp.

References BLOCXX_ASSERT.

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

Definition at line 87 of file ServerSocketImpl.cpp.

References BLOCXX_ASSERT.

BLOCXX_NAMESPACE::ServerSocketImpl::~ServerSocketImpl  ) 
 

Definition at line 106 of file ServerSocketImpl.cpp.

References close().

BLOCXX_NAMESPACE::ServerSocketImpl::ServerSocketImpl const ServerSocketImpl arg  )  [private]
 


Member Function Documentation

Socket BLOCXX_NAMESPACE::ServerSocketImpl::accept int  timeoutSecs = -1  ) 
 

Definition at line 472 of file ServerSocketImpl.cpp.

References BLOCXX_THROW, BLOCXX_NAMESPACE::SocketFlags::E_WAIT_FOR_INPUT, BLOCXX_NAMESPACE::SocketAddress::getType(), BLOCXX_NAMESPACE::SocketAddress::INET, m_isActive, m_localAddress, m_sockfd, BLOCXX_NAMESPACE::SocketAddress::UDS, and BLOCXX_NAMESPACE::SocketUtils::waitForIO().

String BLOCXX_NAMESPACE::ServerSocketImpl::addrString  ) 
 

void BLOCXX_NAMESPACE::ServerSocketImpl::close  ) 
 

Definition at line 549 of file ServerSocketImpl.cpp.

References BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::File::close(), BLOCXX_NAMESPACE::SocketAddress::getType(), m_isActive, m_localAddress, m_udsFile, BLOCXX_NAMESPACE::FileSystem::removeFile(), BLOCXX_NAMESPACE::SocketAddress::toString(), BLOCXX_NAMESPACE::SocketAddress::UDS, and BLOCXX_NAMESPACE::File::unlock().

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

void BLOCXX_NAMESPACE::ServerSocketImpl::doListen const String filename,
int  queueSize = 10,
bool  reuseAddr = true
 

Definition at line 394 of file ServerSocketImpl.cpp.

References BLOCXX_THROW_ERRNO_MSG, close(), BLOCXX_NAMESPACE::SocketAddress::getUDS(), m_localAddress, m_sockfd, m_udsFile, BLOCXX_NAMESPACE::FileSystem::openOrCreateFile(), and BLOCXX_NAMESPACE::File::tryLock().

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

Definition at line 331 of file ServerSocketImpl.cpp.

References BLOCXX_NAMESPACE::SocketAddress::ALL_LOCAL_ADDRESSES, BLOCXX_NAMESPACE::SocketAddress::allocEmptyAddress(), BLOCXX_THROW_ERRNO_MSG, close(), fillAddrParms(), BLOCXX_NAMESPACE::SocketAddress::getByName(), BLOCXX_NAMESPACE::SocketAddress::getInetAddress(), BLOCXX_NAMESPACE::hton16(), BLOCXX_NAMESPACE::hton32(), BLOCXX_NAMESPACE::SocketAddress::INET, m_isActive, m_localAddress, and m_sockfd.

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 138 of file ServerSocketImpl.cpp.

References m_isSSL.

void BLOCXX_NAMESPACE::ServerSocketImpl::fillAddrParms  )  [private]
 

Definition at line 591 of file ServerSocketImpl.cpp.

References BLOCXX_NAMESPACE::SocketAddress::assignFromNativeForm(), BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::SocketAddress::getType(), BLOCXX_NAMESPACE::SocketAddress::INET, and m_localAddress.

Referenced by doListen().

SocketHandle_t BLOCXX_NAMESPACE::ServerSocketImpl::getfd  )  const [inline]
 

Definition at line 71 of file ServerSocketImpl.hpp.

SocketAddress BLOCXX_NAMESPACE::ServerSocketImpl::getLocalAddress  )  [inline]
 

Definition at line 70 of file ServerSocketImpl.hpp.

Select_t BLOCXX_NAMESPACE::ServerSocketImpl::getSelectObj  )  const [virtual]
 

Implements BLOCXX_NAMESPACE::SelectableIFC.

Definition at line 123 of file ServerSocketImpl.cpp.

References m_sockfd.

ServerSocketImpl& BLOCXX_NAMESPACE::ServerSocketImpl::operator= const ServerSocketImpl arg  )  [private]
 


Member Data Documentation

bool BLOCXX_NAMESPACE::ServerSocketImpl::m_isActive [private]
 

Definition at line 95 of file ServerSocketImpl.hpp.

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

SocketFlags::ESSLFlag BLOCXX_NAMESPACE::ServerSocketImpl::m_isSSL [private]
 

Definition at line 98 of file ServerSocketImpl.hpp.

Referenced by doListen().

SocketAddress BLOCXX_NAMESPACE::ServerSocketImpl::m_localAddress [private]
 

Definition at line 94 of file ServerSocketImpl.hpp.

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

SocketHandle_t BLOCXX_NAMESPACE::ServerSocketImpl::m_sockfd [private]
 

Definition at line 91 of file ServerSocketImpl.hpp.

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

SSLServerCtxRef BLOCXX_NAMESPACE::ServerSocketImpl::m_sslCtx [private]
 

Definition at line 105 of file ServerSocketImpl.hpp.

File BLOCXX_NAMESPACE::ServerSocketImpl::m_udsFile [private]
 

Definition at line 111 of file ServerSocketImpl.hpp.

Referenced by close(), and doListen().


The documentation for this class was generated from the following files:
Generated on Fri Jun 16 15:39:11 2006 for blocxx by  doxygen 1.4.6