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

String BLOCXX_NAMESPACE::ServerSocketImpl::addrString (  ) 

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

Definition at line 472 of file ServerSocketImpl.cpp.

References BLOCXX_ASSERT, BLOCXX_THROW, BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::SocketFlags::E_SSL, BLOCXX_NAMESPACE::SocketFlags::E_WAIT_FOR_INPUT, BLOCXX_NAMESPACE::SocketAddress::getType(), BLOCXX_NAMESPACE::SocketAddress::INET, m_isActive, m_isSSL, m_localAddress, m_sockfd, m_sslCtx, BLOCXX_NAMESPACE::ThreadImpl::testCancel(), BLOCXX_NAMESPACE::SocketAddress::UDS, and BLOCXX_NAMESPACE::SocketUtils::waitForIO().

void BLOCXX_NAMESPACE::ServerSocketImpl::close (  ) 

Definition at line 549 of file ServerSocketImpl.cpp.

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

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

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

Definition at line 70 of file ServerSocketImpl.hpp.

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

Definition at line 71 of file ServerSocketImpl.hpp.

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::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 ( const String filename,
int  queueSize = 10,
bool  reuseAddr = true 
)

Definition at line 394 of file ServerSocketImpl.cpp.

References BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::String::c_str(), close(), BLOCXX_NAMESPACE::FileSystem::exists(), fillAddrParms(), BLOCXX_NAMESPACE::SocketAddress::getNativeForm(), BLOCXX_NAMESPACE::SocketAddress::getNativeFormSize(), BLOCXX_NAMESPACE::SocketAddress::getUDS(), m_isActive, m_localAddress, m_sockfd, m_udsFile, BLOCXX_NAMESPACE::FileSystem::openOrCreateFile(), BLOCXX_NAMESPACE::FileSystem::removeFile(), and BLOCXX_NAMESPACE::File::tryLock().

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

Implements BLOCXX_NAMESPACE::SelectableIFC.

Definition at line 123 of file ServerSocketImpl.cpp.

References m_sockfd.

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

Definition at line 591 of file ServerSocketImpl.cpp.

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

Referenced by doListen().

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


Member Data Documentation

SocketHandle_t BLOCXX_NAMESPACE::ServerSocketImpl::m_sockfd [private]

Definition at line 91 of file ServerSocketImpl.hpp.

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

SocketAddress BLOCXX_NAMESPACE::ServerSocketImpl::m_localAddress [private]

Definition at line 94 of file ServerSocketImpl.hpp.

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

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 accept(), and doListen().

SSLServerCtxRef BLOCXX_NAMESPACE::ServerSocketImpl::m_sslCtx [private]

Definition at line 105 of file ServerSocketImpl.hpp.

Referenced by accept().

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 Sep 21 23:42:37 2007 for blocxx by  doxygen 1.5.3