#include <Socket.hpp>
Inheritance diagram for BLOCXX_NAMESPACE::Socket:
Public Types | |
typedef UnnamedPipeRef | ShutDownMechanism_t |
Public Member Functions | |
Socket () | |
Construct a non-SSL Socket. | |
Socket (const SSLClientCtxRef &sslCtx) | |
Construct a Socket. | |
Socket (SocketHandle_t fd, SocketAddress::AddressType addrType, SocketFlags::ESSLFlag isSSL=SocketFlags::E_NOT_SSL) | |
TODO: Make a replacement for this function so it can be deprecated. | |
Socket (const SocketAddress &addr, SocketFlags::ESSLFlag isSSL=SocketFlags::E_NOT_SSL) | |
TODO: Make a replacement for this function so it can be deprecated. | |
void | connect (const SocketAddress &addr) |
Connect to a peer node. | |
void | disconnect () |
Disconnect the (presumably) open connection. | |
void | setReceiveTimeout (int seconds) |
Set the receive timeout on the socket. | |
int | getReceiveTimeout () const |
Get the receive timeout. | |
void | setSendTimeout (int seconds) |
Set the send timeout on the socket. | |
int | getSendTimeout () const |
Get the send timeout. | |
void | setConnectTimeout (int seconds) |
Set the connect timeout on the socket. | |
int | getConnectTimeout () const |
Get the connect timeout. | |
void | setTimeouts (int seconds) |
Set all timeouts (send, receive, connect). | |
bool | receiveTimeOutExpired () const |
Has the receive timeout expired? | |
int | write (const void *dataOut, int dataOutLen, bool errorAsException=false) |
Write some data to the socket. | |
int | read (void *dataIn, int dataInLen, bool errorAsException=false) |
Read from the socket. | |
bool | waitForInput (int timeOutSecs=INFINITE_TIMEOUT) |
Wait for input on the socket for a specified length of time. | |
bool | waitForOutput (int timeOutSecs=INFINITE_TIMEOUT) |
Wait for output on the socket for a specified length of time. | |
SocketAddress | getLocalAddress () const |
Get the local address associated with the socket connection. | |
SocketAddress | getPeerAddress () const |
Get the peer address associated with the socket connection. | |
Select_t | getSelectObj () const |
SocketHandle_t | getfd () |
Get the socket handle for the socket. | |
bool | isConnected () const |
Get connected state. | |
Static Public Member Functions | |
static void | createShutDownMechanism () |
static void | shutdownAllSockets () |
Call this to shutdown all sockets. | |
static void | deleteShutDownMechanism () |
Have the sockets been shutdown? | |
static ShutDownMechanism_t | getShutDownMechanism () |
Static Public Attributes | |
static const int | INFINITE_TIMEOUT = -1 |
Private Member Functions | |
Socket (SocketHandle_t fd, SocketAddress::AddressType addrType, const SSLServerCtxRef &sslCtx) | |
Allocate a new Socket based on an existing handle. | |
Private Attributes | |
SocketBaseImplRef | m_impl |
Static Private Attributes | |
static ShutDownMechanism_t | s_shutDownMechanism = 0 |
Friends | |
class | ServerSocketImpl |
Definition at line 66 of file Socket.hpp.
|
Definition at line 227 of file Socket.hpp. |
|
Construct a non-SSL Socket.
Definition at line 61 of file Socket.cpp. |
|
Construct a Socket.
Definition at line 66 of file Socket.cpp. References BLOCXX_THROW, and m_impl. |
|
TODO: Make a replacement for this function so it can be deprecated. Allocate a new Socket based on an existing handle. This is used by ServerSocket::accept()
Definition at line 83 of file Socket.cpp. References BLOCXX_THROW, BLOCXX_NAMESPACE::SocketFlags::E_SSL, and m_impl. |
|
TODO: Make a replacement for this function so it can be deprecated. Allocate a new Socket and connect it to a peer machine
Definition at line 118 of file Socket.cpp. References BLOCXX_THROW, BLOCXX_NAMESPACE::SocketFlags::E_SSL, and m_impl. |
|
Allocate a new Socket based on an existing handle. This is used by ServerSocket::accept()
Definition at line 101 of file Socket.cpp. References BLOCXX_THROW, and m_impl. |
|
Connect to a peer node.
Definition at line 101 of file Socket.hpp. |
|
Definition at line 161 of file Socket.cpp. References BLOCXX_NAMESPACE::b_gotShutDown, BLOCXX_ASSERT, BLOCXX_NAMESPACE::UnnamedPipe::createUnnamedPipe(), BLOCXX_NAMESPACE::UnnamedPipe::E_NONBLOCKING, s_shutDownMechanism, and BLOCXX_NAMESPACE::shutdownMutex. |
|
Have the sockets been shutdown?
Definition at line 179 of file Socket.cpp. References s_shutDownMechanism, and BLOCXX_NAMESPACE::shutdownMutex. |
|
Disconnect the (presumably) open connection.
Definition at line 106 of file Socket.hpp. |
|
Get the connect timeout.
Definition at line 138 of file Socket.hpp. |
|
Get the socket handle for the socket.
Definition at line 204 of file Socket.hpp. |
|
Get the local address associated with the socket connection.
Definition at line 190 of file Socket.hpp. |
|
Get the peer address associated with the socket connection.
Definition at line 195 of file Socket.hpp. |
|
Get the receive timeout.
Definition at line 118 of file Socket.hpp. |
|
Implements BLOCXX_NAMESPACE::SelectableIFC. Definition at line 199 of file Socket.hpp. |
|
Get the send timeout.
Definition at line 128 of file Socket.hpp. |
|
Definition at line 230 of file Socket.hpp. Referenced by BLOCXX_NAMESPACE::SocketUtils::waitForIO(). |
|
Get connected state.
Definition at line 209 of file Socket.hpp. |
|
Read from the socket.
Implements BLOCXX_NAMESPACE::IOIFC. Definition at line 167 of file Socket.hpp. |
|
Has the receive timeout expired?
Definition at line 148 of file Socket.hpp. |
|
Set the connect timeout on the socket.
Definition at line 133 of file Socket.hpp. |
|
Set the receive timeout on the socket.
Definition at line 113 of file Socket.hpp. |
|
Set the send timeout on the socket.
Definition at line 123 of file Socket.hpp. |
|
Set all timeouts (send, receive, connect).
Definition at line 143 of file Socket.hpp. |
|
Call this to shutdown all sockets. This is usefull when the CIMOM is shutting down. We want any outstanding connections to close immediately. Definition at line 138 of file Socket.cpp. References BLOCXX_NAMESPACE::b_gotShutDown, BLOCXX_ASSERT, BLOCXX_THROW_ERRNO_MSG, s_shutDownMechanism, and BLOCXX_NAMESPACE::shutdownMutex. |
|
Wait for input on the socket for a specified length of time.
Definition at line 175 of file Socket.hpp. |
|
Wait for output on the socket for a specified length of time.
Definition at line 183 of file Socket.hpp. |
|
Write some data to the socket.
Implements BLOCXX_NAMESPACE::IOIFC. Definition at line 157 of file Socket.hpp. |
|
Definition at line 274 of file Socket.hpp. |
|
Definition at line 108 of file Socket.hpp. |
|
Definition at line 266 of file Socket.hpp. Referenced by Socket(). |
|
Definition at line 272 of file Socket.hpp. Referenced by createShutDownMechanism(), deleteShutDownMechanism(), and shutdownAllSockets(). |