blocxx
|
#include <ServerSocketImpl.hpp>
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 |
![]() | |
virtual | ~SelectableIFC () |
Private Member Functions | |
void | fillAddrParms () |
ServerSocketImpl (const ServerSocketImpl &arg) | |
ServerSocketImpl & | operator= (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 | |
![]() | |
IntrusiveCountableBase () | |
IntrusiveCountableBase (const IntrusiveCountableBase &) | |
IntrusiveCountableBase & | operator= (const IntrusiveCountableBase &) |
virtual | ~IntrusiveCountableBase () |
Definition at line 60 of file ServerSocketImpl.hpp.
BLOCXX_NAMESPACE::ServerSocketImpl::ServerSocketImpl | ( | SSLServerCtxRef | sslCtx | ) |
Definition at line 72 of file ServerSocketImpl.cpp.
References BLOCXX_ASSERT.
BLOCXX_NAMESPACE::ServerSocketImpl::ServerSocketImpl | ( | SocketFlags::ESSLFlag | isSSL | ) |
Definition at line 91 of file ServerSocketImpl.cpp.
References BLOCXX_ASSERT.
BLOCXX_NAMESPACE::ServerSocketImpl::~ServerSocketImpl | ( | ) |
Definition at line 110 of file ServerSocketImpl.cpp.
References close().
|
private |
Definition at line 695 of file ServerSocketImpl.cpp.
References accept(), BLOCXX_ASSERT, BLOCXX_THROW, BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::SocketFlags::E_SSL, BLOCXX_NAMESPACE::SocketFlags::E_WAIT_FOR_INPUT, ETIMEDOUT, BLOCXX_NAMESPACE::SocketAddress::getType(), BLOCXX_NAMESPACE::SocketAddress::INET, m_isActive, m_isSSL, m_localAddress, m_sockfd, m_sslCtx, BLOCXX_NAMESPACE::Thread::testCancel(), BLOCXX_NAMESPACE::SocketAddress::UDS, and BLOCXX_NAMESPACE::SocketUtils::waitForIO().
Referenced by accept().
String BLOCXX_NAMESPACE::ServerSocketImpl::addrString | ( | ) |
void BLOCXX_NAMESPACE::ServerSocketImpl::close | ( | ) |
Definition at line 777 of file ServerSocketImpl.cpp.
References BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::String::c_str(), BLOCXX_NAMESPACE::File::close(), close(), BLOCXX_NAMESPACE::SocketAddress::getType(), INVALID_SOCKET, 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 close(), doListen(), doListenIPv4(), doListenUDS(), and ~ServerSocketImpl().
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 431 of file ServerSocketImpl.cpp.
References BLOCXX_NAMESPACE::SocketAddress::allocEmptyAddress(), BLOCXX_THROW_ERRNO_MSG, close(), doListenIPv4(), BLOCXX_NAMESPACE::SocketAddress::INET, INVALID_SOCKET, 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 143 of file ServerSocketImpl.cpp.
References doListen(), and m_isSSL.
Referenced by doListen().
void BLOCXX_NAMESPACE::ServerSocketImpl::doListenIPv4 | ( | UInt16 | port, |
int | queueSize, | ||
const String & | listenAddr ) |
Definition at line 520 of file ServerSocketImpl.cpp.
References BLOCXX_NAMESPACE::SocketAddress::ALL_LOCAL_ADDRESSES, BLOCXX_THROW_ERRNO_MSG, close(), fillAddrParms(), BLOCXX_NAMESPACE::SocketAddress::getByName(), BLOCXX_NAMESPACE::SocketAddress::getInetAddress(), BLOCXX_NAMESPACE::hton16(), BLOCXX_NAMESPACE::hton32(), m_isActive, and m_sockfd.
Referenced by doListen().
void BLOCXX_NAMESPACE::ServerSocketImpl::doListenUDS | ( | const String & | filename, |
int | queueSize = 10, | ||
bool | reuseAddr = true ) |
Definition at line 601 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(), INVALID_SOCKET, m_isActive, m_localAddress, m_sockfd, m_udsFile, BLOCXX_NAMESPACE::FileSystem::openOrCreateFile(), BLOCXX_NAMESPACE::FileSystem::removeFile(), and BLOCXX_NAMESPACE::File::tryLock().
|
private |
Definition at line 819 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 doListenIPv4(), and doListenUDS().
|
inline |
Definition at line 72 of file ServerSocketImpl.hpp.
|
inline |
Definition at line 71 of file ServerSocketImpl.hpp.
|
virtual |
Implements BLOCXX_NAMESPACE::SelectableIFC.
Definition at line 127 of file ServerSocketImpl.cpp.
References m_sockfd.
|
private |
|
private |
Definition at line 102 of file ServerSocketImpl.hpp.
Referenced by accept(), close(), doListenIPv4(), and doListenUDS().
|
private |
Definition at line 105 of file ServerSocketImpl.hpp.
Referenced by accept(), and doListen().
|
private |
Definition at line 101 of file ServerSocketImpl.hpp.
Referenced by accept(), close(), doListen(), doListenUDS(), and fillAddrParms().
|
private |
Definition at line 98 of file ServerSocketImpl.hpp.
Referenced by accept(), close(), doListen(), doListenIPv4(), doListenUDS(), fillAddrParms(), and getSelectObj().
|
private |
Definition at line 112 of file ServerSocketImpl.hpp.
Referenced by accept().
|
private |
Definition at line 118 of file ServerSocketImpl.hpp.
Referenced by close(), and doListenUDS().