|
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 |
Public Member Functions inherited from BLOCXX_NAMESPACE::SelectableIFC | |
| 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 | |
Protected Member Functions inherited from BLOCXX_NAMESPACE::IntrusiveCountableBase | |
| 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, and BLOCXX_NAMESPACE::operator==().
| BLOCXX_NAMESPACE::ServerSocketImpl::ServerSocketImpl | ( | SocketFlags::ESSLFlag | isSSL | ) |
Definition at line 91 of file ServerSocketImpl.cpp.
References BLOCXX_ASSERT, and BLOCXX_NAMESPACE::operator==().
| BLOCXX_NAMESPACE::ServerSocketImpl::~ServerSocketImpl | ( | ) |
Definition at line 110 of file ServerSocketImpl.cpp.
References close(), and BLOCXX_NAMESPACE::operator==().
|
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::operator==(), 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::operator==(), 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, m_sockfd, and BLOCXX_NAMESPACE::operator==().
| 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(), m_isSSL, and BLOCXX_NAMESPACE::operator==().
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::hton16(), BLOCXX_NAMESPACE::hton32(), m_isActive, m_sockfd, and BLOCXX_NAMESPACE::operator==().
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::operator==(), 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, BLOCXX_NAMESPACE::operator==(), 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, and BLOCXX_NAMESPACE::operator==().
|
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().