TCP streams are used to represent TCP client connections to a server by TCP protocol servers for accepting client connections.
More...
|
void | connect (TCPSocket &server) |
| Accept a connection from a TCP Server. More...
|
|
void | connect (TCPV6Socket &server) |
|
void | disconnect (void) |
| Disconnect the current session and prepare for a new one.
|
|
size_t | getBufferSize (void) const |
| Return the size of the current stream buffering used. More...
|
|
int | getSegmentSize (void) |
| Get protocol segment size.
|
|
bool | isPending (Pending pend, timeout_t timeout=ucommon::Timer::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 | printf (const char *format,...) |
| Print content into a socket. More...
|
|
void | setTimeout (timeout_t timer) |
| Set the I/O operation timeout for socket I/O operations. More...
|
|
int | sync (void) |
| Flushes the stream input and output buffers, writes pending output. More...
|
|
| 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.
|
|
| 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) |
|
| 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...
|
|
virtual | ~TCPStream () |
| Flush and empty all buffers, and then remove the allocated buffers.
|
|
struct in_addr | getaddress (const IPV4Address &ia) const |
|
struct in6_addr | getaddress (const IPV6Address &ia) const |
|
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...
|
|
IPV4Host | getIPV4Local (in_port_t *port=NULL) const |
| Get the local address and port number this socket is currently bound to. More...
|
|
IPV4Host | getIPV4Peer (in_port_t *port=NULL) const |
|
virtual IPV4Host | getIPV4Sender (in_port_t *port=NULL) const |
|
IPV6Host | getIPV6Local (in_port_t *port=NULL) const |
|
IPV6Host | getIPV6Peer (in_port_t *port=NULL) const |
|
virtual IPV6Host | getIPV6Sender (in_port_t *port=NULL) const |
|
IPV4Host | getLocal (in_port_t *port) const |
|
ucommon::Socket::address | getLocal () const |
|
ucommon::Socket::address | getPeer () const |
| Get the host address and port of the socket this socket is connected to. More...
|
|
IPV4Host | getPeer (in_port_t *port) const |
|
ucommon::Socket::address | getSender () const |
| May be used to examine the origin of data waiting in the socket receive queue. More...
|
|
IPV4Host | getSender (in_port_t *port) const |
|
long | getSystemError (void) const |
|
const char * | getSystemErrorString (void) const |
|
bool | isActive (void) const |
| Test to see if the socket is at least operating or if it is mearly initialized. More...
|
|
bool | isBroadcast (void) const |
| Return if broadcast has been enabled for the specified socket. More...
|
|
bool | isConnected (void) const |
| Can test to see if this socket is "connected", and hence whether a "catch" can safely call getPeer(). More...
|
|
virtual bool | isPending (Pending pend, timeout_t timeout=ucommon::Timer::inf) |
| Get the status of pending operations. More...
|
|
bool | isRouted (void) const |
| Return if socket routing is enabled. More...
|
|
| operator bool () const |
|
bool | operator! () const |
| Operator based testing to see if a socket is currently active.
|
|
Socket & | operator= (const Socket &from) |
| Sockets may also be duplicated by the assignment operator.
|
|
void | setCompletion (bool immediate) |
| Used to specify blocking mode for the socket. More...
|
|
Error | setKeepAlive (bool enable) |
| Set the keep-alive status of this socket and if keep-alive messages will be sent. More...
|
|
Error | setLinger (bool linger) |
| Enable lingering sockets on close. More...
|
|
Error | setTypeOfService (Tos service) |
| Set packet scheduling on platforms which support ip quality of service conventions. More...
|
|
|
void | allocate (size_t size) |
| Used to allocate the buffer space needed for iostream operations. 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...
|
|
void | endStream (void) |
| Used to terminate the buffer space and cleanup the socket connection. More...
|
|
int | overflow (int ch) |
| This streambuf method is used to write the output buffer through the established tcp connection. More...
|
|
std::iostream * | tcp (void) |
| Used in derived classes to refer to the current object via it's iostream. More...
|
|
int | uflow () |
| This streambuf method is used for doing unbuffered reads through the establish tcp socket connection when in interactive mode. More...
|
|
int | underflow () |
| This streambuf method is used to load the input buffer through the established tcp socket connection. More...
|
|
Error | bufferSize (unsigned size) |
| Set the total protocol stack network kernel buffer size for both send and receive together. More...
|
|
Error | connectError (void) const |
| Used as a common handler for connection failure processing. More...
|
|
Error | drop (const ucommon::Socket::address &ia, int iface=0) |
| Drop membership from a multicast group. More...
|
|
Error | drop (const IPV4Multicast &ia) |
|
Error | drop (const IPV6Multicast &ia, int iface=0) |
|
void | endSocket (void) |
| Used as the default destructor for ending a socket. More...
|
|
Error | error (Error error, const char *err=NULL, long systemError=0) const |
| This service is used to throw all socket errors which usually occur during the socket constructor. More...
|
|
void | error (const char *err) const |
| This service is used to throw application defined socket errors where the application specific error code is a string. More...
|
|
Error | join (const ucommon::Socket::address &ia, int iface=0) |
| Join a multicast group. More...
|
|
Error | join (const IPV4Multicast &ia) |
|
Error | join (const IPV6Multicast &ia, int iface=0) |
|
virtual ssize_t | readData (void *buf, size_t len, char separator=0, timeout_t t=0) |
| Read in a block of len bytes with specific separator. More...
|
|
ssize_t | readLine (char *buf, size_t len, timeout_t timeout=0) |
| Process a logical input line from a socket descriptor directly. More...
|
|
Error | receiveBuffer (unsigned size) |
| Set the protocol stack network kernel receive buffer size associated with the socket. More...
|
|
Error | receiveLimit (int limit=1) |
| Set thr receive limit.
|
|
Error | receiveTimeout (timeout_t timer) |
| Receive timeout for receiving raw network data. More...
|
|
Error | sendBuffer (unsigned size) |
| Set the protocol stack network kernel send buffer size associated with the socket. More...
|
|
Error | sendLimit (int limit=2048) |
| Set the send limit.
|
|
Error | sendTimeout (timeout_t timer) |
| Set the send timeout for sending raw network data. More...
|
|
Error | setBroadcast (bool enable) |
| Set the subnet broadcast flag for the socket. More...
|
|
void | setError (bool enable) |
| This service is used to turn the error handler on or off for "throwing" exceptions by manipulating the thrown flag. More...
|
|
Error | setLoopbackByFamily (bool enable, Family family=IPV4) |
| Set the multicast loopback flag for the socket. More...
|
|
Error | setMulticastByFamily (bool enable, Family family=IPV4) |
| Setting multicast binds the multicast interface used for the socket to the interface the socket itself has been implicitly bound to. More...
|
|
Error | setNoDelay (bool enable) |
| Enable/disable delaying packets (Nagle algorithm) More...
|
|
Error | setRouting (bool enable) |
| Set the socket routing to indicate if outgoing messages should bypass normal routing (set false). More...
|
|
Error | setTimeToLiveByFamily (uint8_t ttl, Family fam=IPV4) |
| Set the multicast time to live for a multicast socket. More...
|
|
| Socket (int domain, int type, int protocol=0) |
| An unconnected socket may be created directly on the local machine. More...
|
|
| Socket (socket_t fd) |
| A socket object may be created from a file descriptor when that descriptor was created either through a socket() or accept() call. More...
|
|
| Socket () |
| Create an inactive socket object for base constructors.
|
|
| Socket (const Socket &source) |
| A socket can also be constructed from an already existing Socket object. More...
|
|
virtual ssize_t | writeData (const void *buf, size_t len, timeout_t t=0) |
| Write a block of len bytes to socket. More...
|
|
int | blocking (bool enable) |
| Set socket blocking I/O mode. More...
|
|
int | broadcast (bool enable) |
| Set socket for unicast mode broadcasts. More...
|
|
void | cancel (void) |
| Cancel pending i/o by shutting down the socket.
|
|
bool | ccid (uint8_t id) |
| Set ccid of dccp socket. More...
|
|
bool | connected (void) const |
| Test if socket is connected. More...
|
|
int | connectto (struct addrinfo *list) |
| Connect our socket to a remote host from an address list. More...
|
|
int | disconnect (void) |
| Disconnect a connected socket. More...
|
|
int | drop (const struct addrinfo *list, const int ifindex=0) |
| Drop socket from multicast group. More...
|
|
int | err (void) const |
| Get error code.
|
|
int | getError (void) const |
| Get socket error code. More...
|
|
bool | is_pending (unsigned value) |
| See the number of bytes in the receive queue. More...
|
|
int | join (const struct addrinfo *list, const int ifindex=0) |
| Join socket to multicast group. More...
|
|
int | keepalive (bool enable) |
| Set socket for keepalive packets. More...
|
|
int | loopback (bool enable) |
| Set loopback to read multicast packets we broadcast. More...
|
|
int | multicast (unsigned ttl=1) |
| Set multicast mode and multicast broadcast range. More...
|
|
int | nodelay (void) const |
| Set nodelay option for tcp socket. More...
|
|
| operator bool () const |
| Test if socket is valid. More...
|
|
| operator socket_t () const |
| Get the socket descriptor by casting. More...
|
|
bool | operator! () const |
| Test if socket is invalid. More...
|
|
socket_t | operator* () const |
| Get the socket descriptor by pointer reference. More...
|
|
Socket & | operator= (socket_t socket) |
| Assign socket from a socket descriptor. More...
|
|
size_t | peek (void *data, size_t number) const |
| Peek at data waiting in the socket receive buffer. More...
|
|
unsigned | pending (void) const |
| Get the number of bytes of data in the socket receive buffer. More...
|
|
size_t | printf (const char *format,...) |
| Print formatted string to socket. More...
|
|
int | priority (int scheduling) |
| Set packet priority, 0 to 6 unless privileged. More...
|
|
size_t | readfrom (void *data, size_t number, struct sockaddr_storage *address=NULL) |
| Read data from the socket receive buffer. More...
|
|
size_t | readline (char *data, size_t size) |
| Read a newline of text data from the socket and save in NULL terminated string. More...
|
|
size_t | readline (String &buffer) |
| Read a string of input from the socket and strip trailing newline. More...
|
|
stringref_t | readline (size_t maxsize) |
|
int | recvsize (unsigned size) |
| Set the size of the socket receive buffer. More...
|
|
void | release (void) |
| Shutdown and close the socket.
|
|
unsigned | segsize (unsigned size) |
| Set segment size and get mtu of a socket. More...
|
|
int | sendsize (unsigned size) |
| Set the size of the socket send buffer. More...
|
|
int | sendwait (unsigned size) |
| Set the size to wait before sending. More...
|
|
void | shutdown (void) |
| Shutdown the socket communication channel.
|
|
| Socket () |
| Create a socket object for use.
|
|
| Socket (const Socket &existing) |
| Create socket as duped handle of existing socket. More...
|
|
| Socket (socket_t socket) |
| Create socket from existing socket descriptor. More...
|
|
| Socket (const struct addrinfo *address) |
| Create and connect a socket to an address from an address list. More...
|
|
| Socket (int family, int type, int protocol=0) |
| Create an unbound socket of a specific type. More...
|
|
| Socket (const char *address, const char *port, int family=0, int type=0, int protocol=0) |
| Create a bound socket. More...
|
|
int | tos (int type) |
| Set the type of service field of outgoing packets. More...
|
|
int | ttl (uint8_t time) |
| Set the time to live before packets expire. More...
|
|
int | type (void) const |
| Get the type of a socket. More...
|
|
bool | wait (timeout_t timeout=0) const |
| Test for pending input data. More...
|
|
int | wait (timeout_t timeout=Timer::inf) |
| Socket i/o timer setting. More...
|
|
bool | waitSending (timeout_t timeout=0) const |
| Test for output data sent. More...
|
|
size_t | writes (const char *string) |
| Write a null terminated string to the socket. More...
|
|
size_t | writeto (const void *data, size_t number, const struct sockaddr *address=NULL) |
| Write data to the socket send buffer. More...
|
|
virtual | ~Socket () |
| Shutdown, close, and destroy socket.
|
|
TCP streams are used to represent TCP client connections to a server by TCP protocol servers for accepting client connections.
The TCP stream is a C++ "stream" class, and can accept streaming of data to and from other C++ objects using the << and >> operators.
TCPStream itself can be formed either by connecting to a bound network address of a TCP server, or can be created when "accepting" a network connection from a TCP server.
- Author
- David Sugar dyfet.nosp@m.@ost.nosp@m.el.co.nosp@m.m streamable TCP socket connection.
Definition at line 329 of file tcp.h.