E-MailRelay

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Classes | Public Types | Public Member Functions | List of all members
GNet::StreamSocket Class Reference

A derivation of GNet::Socket for a stream socket. More...

`#include <gsocket.h>`

Inheritance diagram for GNet::StreamSocket:

## Classes
struct | Listener
| Overload discriminator class for GNet::StreamSocket. More...

## Public Types
typedef Socket::size_type | size_type
typedef Socket::ssize_type | ssize_type
Public Types inherited from GNet::Socket
typedef G::ReadWrite::size_type | size_type
typedef G::ReadWrite::ssize_type | ssize_type
Public Types inherited from G::ReadWrite
typedef size_t | size_type
typedef ssize_t | ssize_type

## Public Member Functions
| StreamSocket (int address_domain)
| Constructor with a hint of the bind()/connect() address to be used later. More...
| StreamSocket (int address_domain, const Listener &)
| Constructor overload specifically for a listening socket. More...
virtual | ~StreamSocket ()
| Destructor.
virtual ssize_type | read (char *buffer, size_type buffer_length) override
| Override from Socket::read().
virtual ssize_type | write (const char *buf, size_type len) override
| Override from Socket::write().
AcceptPair | accept ()
| Accepts an incoming connection, returning a new()ed socket and the peer address. More...
Public Member Functions inherited from GNet::Socket
virtual | ~Socket ()
| Destructor.
std::pair< bool, Address > | getLocalAddress () const
| Retrieves local address of the socket. More...
std::pair< bool, Address > | getPeerAddress () const
| Retrieves address of socket's peer. More...
bool | hasPeer () const
| Returns true if the socket has a valid peer. More...
void | bind (const Address &)
| Binds the socket with the given address.
bool | bind (const Address &, NoThrow)
| No-throw overload. Returns false on error.
bool | canBindHint (const Address &address)
| Returns true if the socket can probably be bound with the given address. More...
bool | connect (const Address &addr, bool *done=nullptr)
| Initiates a connection to (or association with) the given address. More...
void | listen (int backlog=1)
| Starts the socket listening on the bound address for incoming connections or incoming datagrams. More...
void | shutdown (int how=1)
| Modifies the local socket state so that so that new sends (1 or 2) and/or receives (0 or 2) will fail. More...
virtual SOCKET | fd () const override
| Returns the socket descriptor. Override from G::ReadWrite.
virtual bool | eWouldBlock () override
| Returns true if the previous socket operation failed because the socket would have blocked. More...
bool | eInProgress ()
| Returns true if the previous socket operation failed with the EINPROGRESS error status. More...
bool | eMsgSize ()
| Returns true if the previous socket operation failed with the EMSGSIZE error status. More...
void | addReadHandler (EventHandler &, ExceptionHandler &)
| Adds this socket to the event source list so that the given handler receives read events. More...
void | dropReadHandler ()
| Reverses addReadHandler().
void | addWriteHandler (EventHandler &, ExceptionHandler &)
| Adds this socket to the event source list so that the given handler receives write events when flow control is released. More...
void | dropWriteHandler ()
| Reverses addWriteHandler().
void | addOtherHandler (EventHandler &, ExceptionHandler &)
| Adds this socket to the event source list so that the given handler receives exception events. More...
void | dropOtherHandler ()
| Reverses addOtherHandler().
std::string | asString () const
| Returns the socket handle as a string. More...
std::string | reason () const
| Returns the reason for the previous error.
Public Member Functions inherited from G::ReadWrite
virtual | ~ReadWrite ()
| Destructor.

## Additional Inherited Members
Protected Member Functions inherited from GNet::Socket
| Socket (int domain, int type, int protocol)
| Constructor used by derived classes. More...
| Socket (Descriptor s, const Accepted &)
| Constructor which creates a socket object from a socket handle from accept(). More...
bool | create (int, int, int)
void | saveReason ()
void | saveReason () const
bool | prepare (bool)
std::pair< bool, Address > | getAddress (bool) const
void | setOptionsOnBind (bool)
void | setOptionsOnConnect (bool)
void | setOptionLingerImp (int, int)
void | setOptionNoLinger ()
void | setOptionReuse ()
void | setOptionExclusive ()
void | setOptionPureV6 (bool)
bool | setOptionPureV6 (bool, NoThrow)
void | setOptionKeepAlive ()
Static Protected Member Functions inherited from GNet::Socket
static std::string | reasonString (int)
static bool | error (int rc)
static bool | sizeError (ssize_type size)
Protected Attributes inherited from GNet::Socket
int | m_reason
std::string | m_reason_string
int | m_domain
Descriptor | m_socket
HANDLE | m_handle

## Detailed Description

A derivation of GNet::Socket for a stream socket.

Definition at line 246 of file gsocket.h.

## Constructor & Destructor Documentation

GNet::StreamSocket::StreamSocket | ( | int | address_domain | ) |
| explicit

Constructor with a hint of the bind()/connect() address to be used later.

Definition at line 268 of file gsocket.cpp.

GNet::StreamSocket::StreamSocket | ( | int | address_domain,
|  | const Listener & |
| ) |  |

Constructor overload specifically for a listening socket.

This can be used modify the socket options.

Definition at line 274 of file gsocket.cpp.

## Member Function Documentation

GNet::AcceptPair GNet::StreamSocket::accept | ( |  | ) |

Accepts an incoming connection, returning a new()ed socket and the peer address.

Definition at line 311 of file gsocket.cpp.

The documentation for this class was generated from the following files:

- /tmp/slackrepo/SBo/slackrepo.S3SYfd/build_emailrelay/emailrelay-2.0.1/src/gnet/gsocket.h
- /tmp/slackrepo/SBo/slackrepo.S3SYfd/build_emailrelay/emailrelay-2.0.1/src/gnet/gsocket.cpp