|
| SSLStream (Family family=IPV4, bool throwflag=true, timeout_t to=0) |
|
void | disconnect (void) |
|
| SSLStream (const IPV4Host &host, tpport_t port, unsigned mss=536, bool throwflag=true, timeout_t to=0) |
|
| SSLStream (const IPV6Host &host, tpport_t port, unsigned mss=536, bool throwflag=true, timeout_t to=0) |
|
| SSLStream (const char *name, Family family=IPV4, unsigned mss=536, bool throwflag=false, timeout_t to=0) |
|
| SSLStream (const SSLStream &ssl) |
|
bool | isSSL (void) |
|
bool | getSession (void) |
|
void | endStream (void) |
|
virtual | ~SSLStream () |
|
ssize_t | readLine (char *str, size_t max, timeout_t to=0) |
|
ssize_t | readData (void *buf, size_t len, char separator=0, timeout_t to=0) |
|
ssize_t | writeData (void *buf, size_t len, timeout_t to=0) |
|
| TCPStream (Family family=IPV4, bool throwflag=true, timeout_t to=0) |
| The constructor required for building other classes or to start an unconnected TCPStream for connect. More...
|
|
void | disconnect (void) |
| Disconnect the current session and prepare for a new one. More...
|
|
int | getSegmentSize (void) |
| Get protocol segment size. More...
|
|
| TCPStream (TCPSocket &server, bool throwflag=true, timeout_t timeout=0) |
| Create a TCP stream by accepting a connection from a bound TCP socket acting as a server. More...
|
|
| TCPStream (TCPV6Socket &server, bool throwflag=true, timeout_t timeout=0) |
|
void | connect (TCPSocket &server) |
| Accept a connection from a TCP Server. More...
|
|
void | connect (TCPV6Socket &server) |
|
| TCPStream (const IPV4Host &host, tpport_t port, unsigned mss=536, bool throwflag=true, timeout_t timeout=0) |
| Create a TCP stream by connecting to a TCP socket (on a remote machine). More...
|
|
| TCPStream (const IPV6Host &host, tpport_t port, unsigned mss=536, bool throwflag=true, timeout_t timeout=0) |
|
| TCPStream (const char *name, Family family=IPV4, unsigned mss=536, bool throwflag=false, timeout_t timer=0) |
| Construct a named TCP Socket connected to a remote machine. More...
|
|
void | setTimeout (timeout_t timer) |
| Set the I/O operation timeout for socket I/O operations. More...
|
|
| TCPStream (const TCPStream &source) |
| A copy constructor creates a new stream buffer. More...
|
|
virtual | ~TCPStream () |
| Flush and empty all buffers, and then remove the allocated buffers. More...
|
|
int | sync (void) |
| Flushes the stream input and output buffers, writes pending output. More...
|
|
size_t | printf (const char *format,...) |
| Print content into a socket. More...
|
|
bool | isPending (Pending pend, timeout_t timeout=TIMEOUT_INF) |
| Get the status of pending stream data. More...
|
|
ssize_t | peek (void *buf, size_t len) |
| Examine contents of next waiting packet. More...
|
|
size_t | getBufferSize (void) const |
| Return the size of the current stream buffering used. More...
|
|
virtual | ~Socket () |
| The socket base class may be "thrown" as a result of an error, and the "catcher" may then choose to destroy the object. More...
|
|
Socket & | operator= (const Socket &from) |
| Sockets may also be duplicated by the assignment operator. More...
|
|
virtual IPV4Host | getIPV4Sender (tpport_t *port=NULL) const |
| May be used to examine the origin of data waiting in the socket receive queue. More...
|
|
IPV4Host | getSender (tpport_t *port=NULL) const |
|
virtual IPV6Host | getIPV6Sender (tpport_t *port=NULL) const |
|
IPV4Host | getIPV4Peer (tpport_t *port=NULL) const |
| Get the host address and port of the socket this socket is connected to. More...
|
|
IPV4Host | getPeer (tpport_t *port=NULL) const |
|
IPV6Host | getIPV6Peer (tpport_t *port=NULL) const |
|
IPV4Host | getIPV4Local (tpport_t *port=NULL) const |
| Get the local address and port number this socket is currently bound to. More...
|
|
IPV4Host | getLocal (tpport_t *port=NULL) const |
|
IPV6Host | getIPV6Local (tpport_t *port=NULL) const |
|
IPV4Host | getIPV4NAT (tpport_t *port=NULL) const |
| Perform NAT table lookup for this socket. More...
|
|
IPV4Host | getNAT (tpport_t *port) const |
|
IPV6Host | getIPV6NAT (tpport_t *port=NULL) const |
|
void | setCompletion (bool immediate) |
| Used to specify blocking mode for the socket. More...
|
|
Error | setLinger (bool linger) |
| Enable lingering sockets on close. More...
|
|
Error | setKeepAlive (bool enable) |
| Set the keep-alive status of this socket and if keep-alive messages will be sent. More...
|
|
Error | setTypeOfService (Tos service) |
| Set packet scheduling on platforms which support ip quality of service conventions. More...
|
|
bool | isConnected (void) const |
| Can test to see if this socket is "connected", and hence whether a "catch" can safely call getPeer(). More...
|
|
bool | isActive (void) const |
| Test to see if the socket is at least operating or if it is mearly initialized. More...
|
|
bool | operator! () const |
| Operator based testing to see if a socket is currently active. More...
|
|
bool | isBroadcast (void) const |
| Return if broadcast has been enabled for the specified socket. More...
|
|
bool | isRouted (void) const |
| Return if socket routing is enabled. More...
|
|
Error | getErrorNumber (void) const |
| Often used by a "catch" to fetch the last error of a thrown socket. More...
|
|
const char * | getErrorString (void) const |
| Often used by a "catch" to fetch the user set error string of a thrown socket, but only if EXTENDED error codes are used. More...
|
|
long | getSystemError (void) const |
|
const char * | getSystemErrorString (void) const |
|
|
enum | Family { IPV6 = AF_INET6,
IPV4 = AF_INET
} |
|
enum | Error {
errSuccess = 0,
errCreateFailed,
errCopyFailed,
errInput,
errInputInterrupt,
errResourceFailure,
errOutput,
errOutputInterrupt,
errNotConnected,
errConnectRefused,
errConnectRejected,
errConnectTimeout,
errConnectFailed,
errConnectInvalid,
errConnectBusy,
errConnectNoRoute,
errBindingFailed,
errBroadcastDenied,
errRoutingDenied,
errKeepaliveDenied,
errServiceDenied,
errServiceUnavailable,
errMulticastDisabled,
errTimeout,
errNoDelay,
errExtended,
errLookupFail,
errSearchErr,
errInvalidValue
} |
|
enum | Tos {
tosLowDelay = 0,
tosThroughput,
tosReliability,
tosMinCost,
tosInvalid
} |
|
enum | Pending { pendingInput,
pendingOutput,
pendingError
} |
|
typedef enum Family | Family |
|
typedef enum Error | Error |
|
typedef enum Tos | Tos |
|
typedef enum Pending | Pending |
|
static bool | check (Family fam) |
| See if a specific protocol family is available in the current runtime environment. More...
|
|
enum | State {
INITIAL,
AVAILABLE,
BOUND,
CONNECTED,
CONNECTING,
STREAM
} |
|
typedef enum State | State |
|
void | allocate (size_t size) |
| Used to allocate the buffer space needed for iostream operations. More...
|
|
void | endStream (void) |
| Used to terminate the buffer space and cleanup the socket connection. More...
|
|
int | underflow () |
| This streambuf method is used to load the input buffer through the established tcp socket connection. More...
|
|
int | uflow () |
| This streambuf method is used for doing unbuffered reads through the establish tcp socket connection when in interactive mode. More...
|
|
int | overflow (int ch) |
| This streambuf method is used to write the output buffer through the established tcp connection. More...
|
|
void | connect (const IPV4Host &host, tpport_t port, unsigned mss=536) |
| Create a TCP stream by connecting to a TCP socket (on a remote machine). More...
|
|
void | connect (const IPV6Host &host, tpport_t port, unsigned mss=536) |
|
void | connect (const char *name, unsigned mss=536) |
| Connect a TCP stream to a named destination host and port number, using getaddrinfo interface if available. More...
|
|
std::iostream * | tcp (void) |
| Used in derived classes to refer to the current object via it's iostream. More...
|
|
static Mutex | mutex |
|