Unix domain sockets are used for stream based connected sessions between processes on the same machine.
More...
|
void | close (void) |
|
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...
|
|
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...
|
|
void | endSocket (void) |
| Used as the default destructor for ending a socket. More...
|
|
Error | connectError (void) |
| Used as a common handler for connection failure processing. More...
|
|
Error | sendLimit (int limit=2048) |
| Set the send limit. More...
|
|
Error | receiveLimit (int limit=1) |
| Set thr receive limit. More...
|
|
Error | sendTimeout (timeout_t timer) |
| Set the send timeout for sending raw network data. More...
|
|
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 | receiveBuffer (unsigned size) |
| Set the protocol stack network kernel receive buffer size associated with the socket. More...
|
|
Error | bufferSize (unsigned size) |
| Set the total protocol stack network kernel buffer size for both send and receive together. More...
|
|
Error | setBroadcast (bool enable) |
| Set the subnet broadcast 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 | setLoopbackByFamily (bool enable, Family family=IPV4) |
| Set the multicast loopback flag for the socket. More...
|
|
Error | setTimeToLiveByFamily (unsigned char ttl, Family fam=IPV4) |
| Set the multicast time to live for a multicast socket. More...
|
|
Error | join (const IPV4Multicast &ia) |
| Join a multicast group. More...
|
|
Error | join (const IPV6Multicast &ia) |
|
Error | drop (const IPV4Multicast &ia) |
| Drop membership from a multicast group. More...
|
|
Error | drop (const IPV6Multicast &ia) |
|
Error | setRouting (bool enable) |
| Set the socket routing to indicate if outgoing messages should bypass normal routing (set false). More...
|
|
Error | setNoDelay (bool enable) |
| Enable/disable delaying packets (Nagle algorithm) More...
|
|
| Socket (int domain, int type, int protocol=0) |
| An unconnected socket may be created directly on the local machine. More...
|
|
| Socket (SOCKET 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. More...
|
|
| Socket (const Socket &source) |
| A socket can also be constructed from an already existing Socket object. More...
|
|
ssize_t | readLine (char *buf, size_t len, timeout_t timeout=0) |
| Process a logical input line from a socket descriptor directly. More...
|
|
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...
|
|
virtual ssize_t | writeData (const void *buf, size_t len, timeout_t t=0) |
| Write a block of len bytes to socket. 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 |
|
virtual bool | isPending (Pending pend, timeout_t timeout=TIMEOUT_INF) |
| Get the status of pending operations. More...
|
|
Unix domain sockets are used for stream based connected sessions between processes on the same machine.
An implicit and unique UnixSocket object exists in Common C++ to represent a bound Unix domain socket acting as a "server" for receiving connection requests. This class is not part of UnixStream because such objects normally perform no physical I/O (read or write operations) other than to specify a listen backlog queue and perform "accept" operations for pending connections.
- Author
- Alex Pavloff alex@.nosp@m.pavl.nosp@m.off.n.nosp@m.et bound server for Unix domain streams and sessions.