#include <SocketBaseImpl.hpp>
Definition at line 68 of file SocketBaseImpl.hpp.
◆ SocketBaseImpl() [1/4]
BLOCXX_NAMESPACE::SocketBaseImpl::SocketBaseImpl |
( |
| ) |
|
◆ SocketBaseImpl() [2/4]
◆ SocketBaseImpl() [3/4]
BLOCXX_NAMESPACE::SocketBaseImpl::SocketBaseImpl |
( |
const SocketAddress & | addr | ) |
|
◆ ~SocketBaseImpl()
BLOCXX_NAMESPACE::SocketBaseImpl::~SocketBaseImpl |
( |
| ) |
|
|
virtual |
◆ SocketBaseImpl() [4/4]
BLOCXX_NAMESPACE::SocketBaseImpl::SocketBaseImpl |
( |
const SocketBaseImpl & | arg | ) |
|
|
private |
◆ connect()
void BLOCXX_NAMESPACE::SocketBaseImpl::connect |
( |
const SocketAddress & | addr | ) |
|
|
virtual |
Reimplemented in BLOCXX_NAMESPACE::SSLSocketImpl.
Definition at line 190 of file SocketBaseImpl.cpp.
References BLOCXX_NAMESPACE::TimeoutTimer::asRelativeTimeout(), BLOCXX_ASSERT, BLOCXX_THROW, BLOCXX_THROW_ERRNO_MSG, BLOCXX_NAMESPACE::Format::c_str(), BLOCXX_NAMESPACE::String::c_str(), BLOCXX_NAMESPACE::IntrusiveReference< T >::cast_to(), connect(), disconnect(), BLOCXX_NAMESPACE::String::empty(), BLOCXX_NAMESPACE::TimeoutTimer::expired(), fillInetAddrParms(), fillUnixAddrParms(), BLOCXX_NAMESPACE::AutoResource< Policy >::get(), getfd(), BLOCXX_NAMESPACE::SocketAddress::getInetAddress(), BLOCXX_NAMESPACE::DateTime::getMicrosecond(), BLOCXX_NAMESPACE::SocketAddress::getNativeForm(), BLOCXX_NAMESPACE::SocketAddress::getNativeFormSize(), BLOCXX_NAMESPACE::Socket::getShutDownMechanism(), BLOCXX_NAMESPACE::SocketAddress::getType(), BLOCXX_NAMESPACE::SocketAddress::INET, BLOCXX_NAMESPACE::TimeoutTimer::loop(), m_connectTimeout, m_in, m_inout, m_isConnected, m_out, m_peerAddress, m_sockfd, m_streamBuf, m_traceFileOut, BLOCXX_NAMESPACE::Array< T >::push_back(), BLOCXX_NAMESPACE::AutoResource< Policy >::release(), BLOCXX_NAMESPACE::IOIFCStreamBuffer::reset(), BLOCXX_NAMESPACE::Select::SELECT_ERROR, BLOCXX_NAMESPACE::Select::SELECT_TIMEOUT, BLOCXX_NAMESPACE::Select::selectRW(), BLOCXX_NAMESPACE::DateTime::setToCurrent(), BLOCXX_NAMESPACE::Array< T >::size(), BLOCXX_NAMESPACE::TimeoutTimer::start(), BLOCXX_NAMESPACE::Thread::testCancel(), BLOCXX_NAMESPACE::DateTime::toString(), BLOCXX_NAMESPACE::SocketAddress::toString(), BLOCXX_NAMESPACE::SocketAddress::UDS, BLOCXX_NAMESPACE::Select::SelectObject::waitForRead, and BLOCXX_NAMESPACE::Select::SelectObject::waitForWrite.
Referenced by connect(), and SocketBaseImpl().
◆ disconnect()
void BLOCXX_NAMESPACE::SocketBaseImpl::disconnect |
( |
| ) |
|
|
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::c_str(), BLOCXX_NAMESPACE::String::empty(), getfd(), BLOCXX_NAMESPACE::DateTime::getMicrosecond(), m_in, m_inout, m_isConnected, m_out, m_sockfd, m_traceFileOut, BLOCXX_NAMESPACE::DateTime::setToCurrent(), and BLOCXX_NAMESPACE::DateTime::toString().
Referenced by connect(), and ~SocketBaseImpl().
◆ fillInetAddrParms()
void BLOCXX_NAMESPACE::SocketBaseImpl::fillInetAddrParms |
( |
| ) |
|
|
private |
◆ fillUnixAddrParms()
void BLOCXX_NAMESPACE::SocketBaseImpl::fillUnixAddrParms |
( |
| ) |
|
|
private |
◆ getConnectTimeout()
Timeout BLOCXX_NAMESPACE::SocketBaseImpl::getConnectTimeout |
( |
| ) |
const |
|
inline |
◆ getfd()
◆ getInputStream()
istream & BLOCXX_NAMESPACE::SocketBaseImpl::getInputStream |
( |
| ) |
|
◆ getIOStream()
iostream & BLOCXX_NAMESPACE::SocketBaseImpl::getIOStream |
( |
| ) |
|
◆ getLocalAddress()
SocketAddress BLOCXX_NAMESPACE::SocketBaseImpl::getLocalAddress |
( |
| ) |
const |
|
inline |
◆ getOutputStream()
ostream & BLOCXX_NAMESPACE::SocketBaseImpl::getOutputStream |
( |
| ) |
|
◆ getPeerAddress()
SocketAddress BLOCXX_NAMESPACE::SocketBaseImpl::getPeerAddress |
( |
| ) |
const |
|
inline |
◆ getReceiveTimeout()
Timeout BLOCXX_NAMESPACE::SocketBaseImpl::getReceiveTimeout |
( |
| ) |
const |
|
inline |
◆ getSelectObj()
Select_t BLOCXX_NAMESPACE::SocketBaseImpl::getSelectObj |
( |
| ) |
const |
|
virtual |
◆ getSendTimeout()
Timeout BLOCXX_NAMESPACE::SocketBaseImpl::getSendTimeout |
( |
| ) |
const |
|
inline |
◆ isConnected()
bool BLOCXX_NAMESPACE::SocketBaseImpl::isConnected |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ read()
Read a specified number of bytes from the device that is exposing the IOIFC interface.
- Parameters
-
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. |
- Exceptions
-
An | exception will be thrown upon an error condition if errorAsException is true. |
- Returns
- The number of bytes actually read from the device, or -1 on error. If the device is set to nonblocking and no input is available, -1 will be returned and errno will be set to ETIMEDOUT
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(), BLOCXX_NAMESPACE::DateTime::getMicrosecond(), m_isConnected, m_recvTimeout, m_traceFileIn, m_traceFileOut, readAux(), BLOCXX_NAMESPACE::DateTime::setToCurrent(), BLOCXX_NAMESPACE::DateTime::toString(), and waitForInput().
◆ readAux()
virtual int BLOCXX_NAMESPACE::SocketBaseImpl::readAux |
( |
void * | dataIn, |
|
|
int | dataInLen ) |
|
protectedpure virtual |
◆ receiveTimeOutExpired()
bool BLOCXX_NAMESPACE::SocketBaseImpl::receiveTimeOutExpired |
( |
| ) |
const |
|
inline |
◆ setConnectTimeout()
void BLOCXX_NAMESPACE::SocketBaseImpl::setConnectTimeout |
( |
const Timeout & | timeout | ) |
|
|
inline |
◆ setDumpFiles()
void BLOCXX_NAMESPACE::SocketBaseImpl::setDumpFiles |
( |
const String & | in, |
|
|
const String & | out ) |
|
static |
◆ setReceiveTimeout()
void BLOCXX_NAMESPACE::SocketBaseImpl::setReceiveTimeout |
( |
const Timeout & | timeout | ) |
|
|
inline |
◆ setSendTimeout()
void BLOCXX_NAMESPACE::SocketBaseImpl::setSendTimeout |
( |
const Timeout & | timeout | ) |
|
|
inline |
◆ setTimeouts()
void BLOCXX_NAMESPACE::SocketBaseImpl::setTimeouts |
( |
const Timeout & | timeout | ) |
|
|
inline |
◆ waitForInput()
bool BLOCXX_NAMESPACE::SocketBaseImpl::waitForInput |
( |
const Timeout & | timeout | ) |
|
|
virtual |
◆ waitForOutput()
bool BLOCXX_NAMESPACE::SocketBaseImpl::waitForOutput |
( |
const Timeout & | timeout | ) |
|
◆ write()
Write a specified number of bytes to the device that is exposing the IOIFC interface.
- Parameters
-
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. |
- Exceptions
-
An | exception will be thrown upon an error condition if errorAsException is true.
|
- Returns
- The number of bytes actually written to the device. or -1 on error. If the device is set to nonblocking and the write would block, -1 will be returned and errno will be set to ETIMEDOUT.
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(), BLOCXX_NAMESPACE::DateTime::getMicrosecond(), m_isConnected, m_sendTimeout, m_traceFileOut, BLOCXX_NAMESPACE::DateTime::setToCurrent(), BLOCXX_NAMESPACE::DateTime::toString(), waitForOutput(), and writeAux().
◆ writeAux()
virtual int BLOCXX_NAMESPACE::SocketBaseImpl::writeAux |
( |
const void * | dataOut, |
|
|
int | dataOutLen ) |
|
protectedpure virtual |
◆ m_connectTimeout
Timeout BLOCXX_NAMESPACE::SocketBaseImpl::m_connectTimeout |
|
private |
◆ m_in
std::istream BLOCXX_NAMESPACE::SocketBaseImpl::m_in |
|
private |
◆ m_inout
std::iostream BLOCXX_NAMESPACE::SocketBaseImpl::m_inout |
|
private |
◆ m_isConnected
bool BLOCXX_NAMESPACE::SocketBaseImpl::m_isConnected |
|
protected |
◆ m_localAddress
◆ m_out
std::ostream BLOCXX_NAMESPACE::SocketBaseImpl::m_out |
|
private |
◆ m_peerAddress
◆ m_recvTimeout
Timeout BLOCXX_NAMESPACE::SocketBaseImpl::m_recvTimeout |
|
private |
◆ m_recvTimeoutExprd
bool BLOCXX_NAMESPACE::SocketBaseImpl::m_recvTimeoutExprd |
|
private |
◆ m_sendTimeout
Timeout BLOCXX_NAMESPACE::SocketBaseImpl::m_sendTimeout |
|
private |
◆ m_sockfd
◆ m_streamBuf
◆ m_traceFileIn
String BLOCXX_NAMESPACE::SocketBaseImpl::m_traceFileIn |
|
staticprivate |
◆ m_traceFileOut
String BLOCXX_NAMESPACE::SocketBaseImpl::m_traceFileOut |
|
staticprivate |
The documentation for this class was generated from the following files: