|
blocxx
|
#include <SocketBaseImpl.hpp>
Static Public Member Functions | |
| static void | setDumpFiles (const String &in, const String &out) |
Protected Member Functions | |
| virtual int | readAux (void *dataIn, int dataInLen)=0 |
| virtual int | writeAux (const void *dataOut, int dataOutLen)=0 |
Protected Member Functions inherited from BLOCXX_NAMESPACE::IntrusiveCountableBase | |
| IntrusiveCountableBase () | |
| IntrusiveCountableBase (const IntrusiveCountableBase &) | |
| IntrusiveCountableBase & | operator= (const IntrusiveCountableBase &) |
| virtual | ~IntrusiveCountableBase () |
Protected Attributes | |
| bool | m_isConnected |
| SocketHandle_t | m_sockfd |
| SocketAddress | m_localAddress |
| SocketAddress | m_peerAddress |
Private Member Functions | |
| void | fillInetAddrParms () |
| void | fillUnixAddrParms () |
| SocketBaseImpl (const SocketBaseImpl &arg) | |
| SocketBaseImpl & | operator= (const SocketBaseImpl &arg) |
Private Attributes | |
| bool | m_recvTimeoutExprd |
| SocketStreamBuffer | m_streamBuf |
| std::istream | m_in |
| std::ostream | m_out |
| std::iostream | m_inout |
| Timeout | m_recvTimeout |
| Timeout | m_sendTimeout |
| Timeout | m_connectTimeout |
Static Private Attributes | |
| static String | m_traceFileOut |
| static String | m_traceFileIn |
Additional Inherited Members | |
Public Types inherited from BLOCXX_NAMESPACE::IOIFC | |
| enum | ErrorAction { E_THROW_ON_ERROR , E_RETURN_ON_ERROR } |
Definition at line 68 of file SocketBaseImpl.hpp.
| BLOCXX_NAMESPACE::SocketBaseImpl::SocketBaseImpl | ( | ) |
Definition at line 97 of file SocketBaseImpl.cpp.
| BLOCXX_NAMESPACE::SocketBaseImpl::SocketBaseImpl | ( | SocketHandle_t | fd, |
| SocketAddress::AddressType | addrType ) |
Definition at line 117 of file SocketBaseImpl.cpp.
References BLOCXX_ASSERT, fillInetAddrParms(), fillUnixAddrParms(), BLOCXX_NAMESPACE::SocketAddress::INET, m_inout, m_out, BLOCXX_NAMESPACE::operator==(), and BLOCXX_NAMESPACE::SocketAddress::UDS.
| BLOCXX_NAMESPACE::SocketBaseImpl::SocketBaseImpl | ( | const SocketAddress & | addr | ) |
Definition at line 150 of file SocketBaseImpl.cpp.
References connect(), m_inout, m_out, and m_peerAddress.
|
virtual |
Definition at line 171 of file SocketBaseImpl.cpp.
References disconnect().
|
private |
|
virtual |
Reimplemented in BLOCXX_NAMESPACE::SSLSocketImpl.
Definition at line 190 of file SocketBaseImpl.cpp.
References BLOCXX_ASSERT, BLOCXX_THROW, BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::Format::c_str(), connect(), disconnect(), BLOCXX_NAMESPACE::String::empty(), fillInetAddrParms(), fillUnixAddrParms(), getfd(), BLOCXX_NAMESPACE::Socket::getShutDownMechanism(), BLOCXX_NAMESPACE::SocketAddress::INET, m_connectTimeout, m_in, m_inout, m_isConnected, m_out, m_peerAddress, m_sockfd, m_streamBuf, m_traceFileOut, BLOCXX_NAMESPACE::operator==(), BLOCXX_NAMESPACE::IOIFCStreamBuffer::reset(), BLOCXX_NAMESPACE::Select::SELECT_ERROR, BLOCXX_NAMESPACE::Select::SELECT_TIMEOUT, BLOCXX_NAMESPACE::Select::selectRW(), BLOCXX_NAMESPACE::DateTime::setToCurrent(), BLOCXX_NAMESPACE::Thread::testCancel(), and BLOCXX_NAMESPACE::SocketAddress::UDS.
Referenced by connect(), and SocketBaseImpl().
|
virtual |
Reimplemented in BLOCXX_NAMESPACE::SSLSocketImpl.
Definition at line 355 of file SocketBaseImpl.cpp.
References BLOCXX_LOG_ERROR, BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::String::empty(), getfd(), m_in, m_inout, m_isConnected, m_out, m_sockfd, m_traceFileOut, BLOCXX_NAMESPACE::operator==(), and BLOCXX_NAMESPACE::DateTime::setToCurrent().
Referenced by connect(), and ~SocketBaseImpl().
|
private |
Definition at line 401 of file SocketBaseImpl.cpp.
References BLOCXX_NAMESPACE::SocketAddress::assignFromNativeForm(), m_localAddress, m_peerAddress, m_sockfd, and BLOCXX_NAMESPACE::operator==().
Referenced by connect(), and SocketBaseImpl().
|
private |
Definition at line 423 of file SocketBaseImpl.cpp.
References BLOCXX_NAMESPACE::SocketAddress::assignFromNativeForm(), BLOCXX_THROW_ERRNO_MSG, m_localAddress, m_peerAddress, m_sockfd, and BLOCXX_NAMESPACE::operator==().
Referenced by connect(), and SocketBaseImpl().
|
inline |
Definition at line 82 of file SocketBaseImpl.hpp.
|
inline |
Definition at line 96 of file SocketBaseImpl.hpp.
Referenced by connect(), disconnect(), read(), and write().
| istream & BLOCXX_NAMESPACE::SocketBaseImpl::getInputStream | ( | ) |
Definition at line 574 of file SocketBaseImpl.cpp.
References m_in.
| iostream & BLOCXX_NAMESPACE::SocketBaseImpl::getIOStream | ( | ) |
Definition at line 586 of file SocketBaseImpl.cpp.
References m_inout.
|
inline |
Definition at line 94 of file SocketBaseImpl.hpp.
| ostream & BLOCXX_NAMESPACE::SocketBaseImpl::getOutputStream | ( | ) |
Definition at line 580 of file SocketBaseImpl.cpp.
References m_out.
|
inline |
Definition at line 95 of file SocketBaseImpl.hpp.
|
inline |
Definition at line 78 of file SocketBaseImpl.hpp.
|
virtual |
Implements BLOCXX_NAMESPACE::SelectableIFC.
Reimplemented in BLOCXX_NAMESPACE::SocketImpl, and BLOCXX_NAMESPACE::SSLSocketImpl.
Definition at line 184 of file SocketBaseImpl.cpp.
References m_sockfd.
|
inline |
Definition at line 80 of file SocketBaseImpl.hpp.
|
inline |
Definition at line 98 of file SocketBaseImpl.hpp.
|
private |
|
virtual |
Read a specified number of bytes from the device that is exposing the IOIFC interface.
| dataIn | A pointer to a location in memory to put the bytes that have been read. |
| dataInLen | The number of bytes being requested from the device. |
| errorAsException | If true and an error occurs durring the read operation, then throw an exception. |
| An | exception will be thrown upon an error condition if errorAsException is true. |
Implements BLOCXX_NAMESPACE::IOIFC.
Definition at line 494 of file SocketBaseImpl.cpp.
References BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::String::c_str(), BLOCXX_NAMESPACE::IOIFC::E_THROW_ON_ERROR, BLOCXX_NAMESPACE::String::empty(), getfd(), m_isConnected, m_recvTimeout, m_traceFileIn, m_traceFileOut, BLOCXX_NAMESPACE::operator==(), readAux(), BLOCXX_NAMESPACE::DateTime::setToCurrent(), and waitForInput().
|
protectedpure virtual |
Implemented in BLOCXX_NAMESPACE::SocketImpl, and BLOCXX_NAMESPACE::SSLSocketImpl.
Referenced by read().
|
inline |
Definition at line 84 of file SocketBaseImpl.hpp.
Definition at line 81 of file SocketBaseImpl.hpp.
References BLOCXX_NAMESPACE::operator==().
|
static |
Definition at line 593 of file SocketBaseImpl.cpp.
References m_traceFileIn, and m_traceFileOut.
Definition at line 77 of file SocketBaseImpl.hpp.
References BLOCXX_NAMESPACE::operator==().
Definition at line 79 of file SocketBaseImpl.hpp.
References BLOCXX_NAMESPACE::operator==().
Definition at line 83 of file SocketBaseImpl.hpp.
References BLOCXX_NAMESPACE::operator==().
Reimplemented in BLOCXX_NAMESPACE::SSLSocketImpl.
Definition at line 553 of file SocketBaseImpl.cpp.
References BLOCXX_NAMESPACE::SocketFlags::E_WAIT_FOR_INPUT, ETIMEDOUT, m_recvTimeoutExprd, m_sockfd, BLOCXX_NAMESPACE::operator==(), and BLOCXX_NAMESPACE::SocketUtils::waitForIO().
Referenced by read().
Definition at line 568 of file SocketBaseImpl.cpp.
References BLOCXX_NAMESPACE::SocketFlags::E_WAIT_FOR_OUTPUT, m_sockfd, BLOCXX_NAMESPACE::operator==(), and BLOCXX_NAMESPACE::SocketUtils::waitForIO().
Referenced by write().
|
virtual |
Write a specified number of bytes to the device that is exposing the IOIFC interface.
| dataOut | A pointer to a location in memory that contains the bytes that will be written to the device. |
| dataOutLen | The length of the data pointed to by the dataOut param. |
| errorAsException | If true and an error occurs durring the write operation, then throw an exception. |
| An | exception will be thrown upon an error condition if errorAsException is true. |
Implements BLOCXX_NAMESPACE::IOIFC.
Definition at line 438 of file SocketBaseImpl.cpp.
References BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::String::c_str(), BLOCXX_NAMESPACE::IOIFC::E_THROW_ON_ERROR, BLOCXX_NAMESPACE::String::empty(), getfd(), m_isConnected, m_sendTimeout, m_traceFileOut, BLOCXX_NAMESPACE::operator==(), BLOCXX_NAMESPACE::DateTime::setToCurrent(), waitForOutput(), and writeAux().
|
protectedpure virtual |
Implemented in BLOCXX_NAMESPACE::SocketImpl, and BLOCXX_NAMESPACE::SSLSocketImpl.
Referenced by write().
|
private |
Definition at line 130 of file SocketBaseImpl.hpp.
Referenced by connect().
|
private |
Definition at line 125 of file SocketBaseImpl.hpp.
Referenced by connect(), disconnect(), and getInputStream().
|
private |
Definition at line 127 of file SocketBaseImpl.hpp.
Referenced by connect(), disconnect(), getIOStream(), SocketBaseImpl(), SocketBaseImpl(), and SocketBaseImpl().
|
protected |
Definition at line 104 of file SocketBaseImpl.hpp.
Referenced by connect(), disconnect(), read(), and write().
|
protected |
Definition at line 106 of file SocketBaseImpl.hpp.
Referenced by fillInetAddrParms(), and fillUnixAddrParms().
|
private |
Definition at line 126 of file SocketBaseImpl.hpp.
Referenced by connect(), disconnect(), getOutputStream(), SocketBaseImpl(), SocketBaseImpl(), and SocketBaseImpl().
|
protected |
Definition at line 107 of file SocketBaseImpl.hpp.
Referenced by connect(), fillInetAddrParms(), fillUnixAddrParms(), and SocketBaseImpl().
|
private |
Definition at line 128 of file SocketBaseImpl.hpp.
Referenced by read().
|
private |
Definition at line 123 of file SocketBaseImpl.hpp.
Referenced by waitForInput().
|
private |
Definition at line 129 of file SocketBaseImpl.hpp.
Referenced by write().
|
protected |
Definition at line 105 of file SocketBaseImpl.hpp.
Referenced by connect(), disconnect(), fillInetAddrParms(), fillUnixAddrParms(), getSelectObj(), BLOCXX_NAMESPACE::SocketImpl::getSelectObj(), BLOCXX_NAMESPACE::SocketImpl::readAux(), waitForInput(), waitForOutput(), and BLOCXX_NAMESPACE::SocketImpl::writeAux().
|
private |
Definition at line 124 of file SocketBaseImpl.hpp.
Referenced by connect().
|
staticprivate |
Definition at line 133 of file SocketBaseImpl.hpp.
Referenced by read(), and setDumpFiles().
|
staticprivate |
Definition at line 132 of file SocketBaseImpl.hpp.
Referenced by connect(), disconnect(), read(), setDumpFiles(), and write().