EpcTools
An event based multi-threaded C++ development framework.
Classes | Namespaces | Typedefs | Enumerations
esocket.h File Reference
#include <csignal>
#include <unordered_map>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include "ebase.h"
#include "ecbuf.h"
#include "eerror.h"
#include "estatic.h"
#include "estring.h"
#include "etevent.h"

Go to the source code of this file.

Classes

class  ESocket::Address
 Encapsulates a sockaddr_storage structure that represents a socket address. More...
 
class  ESocket::Base< TQueue, TMessage >
 The base socket class. More...
 
class  ESocket::TCP::Talker< TQueue, TMessage >
 A TCP socket class capabile of sending and receiving data. More...
 
class  ESocket::TCP::Listener< TQueue, TMessage >
 Listens for incoming TCP/IP connections. More...
 
class  ESocket::UDP< TQueue, TMessage >
 A UDP socket class capabile of sending and receiving data. More...
 
class  ESocket::Thread< TQueue, TMessage >
 The socket thread base class. An event based thread class capable of surfacing socket events. More...
 

Namespaces

 ESocket
 The namespace for all socket related classes.
 
 ESocket::TCP
 Namespace for TCP related classes.
 

Typedefs

typedef Base< EThreadQueuePublic< EThreadMessage >, EThreadMessageESocket::BasePublic
 
typedef Base< EThreadQueuePrivate< EThreadMessage >, EThreadMessageESocket::BasePrivate
 
typedef Thread< EThreadQueuePublic< EThreadMessage >, EThreadMessageESocket::ThreadPublic
 
typedef Thread< EThreadQueuePrivate< EThreadMessage >, EThreadMessageESocket::ThreadPrivate
 
typedef Talker< EThreadQueuePublic< EThreadMessage >, EThreadMessageESocket::TCP::TalkerPublic
 
typedef Talker< EThreadQueuePrivate< EThreadMessage >, EThreadMessageESocket::TCP::TalkerPrivate
 
typedef Listener< EThreadQueuePublic< EThreadMessage >, EThreadMessageESocket::TCP::ListenerPublic
 
typedef Listener< EThreadQueuePrivate< EThreadMessage >, EThreadMessageESocket::TCP::ListenerPrivate
 
typedef UDP< EThreadQueuePublic< EThreadMessage >, EThreadMessageESocket::UdpPublic
 
typedef UDP< EThreadQueuePrivate< EThreadMessage >, EThreadMessageESocket::UdpPrivate
 

Enumerations

enum  ESocket::Family { ESocket::Family::Undefined, ESocket::Family::INET, ESocket::Family::INET6 }
 Defines the possible address family values. More...
 
enum  ESocket::SocketType { ESocket::SocketType::Undefined, ESocket::SocketType::TcpTalker, ESocket::SocketType::TcpListener, ESocket::SocketType::Udp }
 Defines the possible socket types. More...
 
enum  ESocket::SocketState {
  ESocket::SocketState::Undefined, ESocket::SocketState::Disconnected, ESocket::SocketState::Connecting, ESocket::SocketState::Listening,
  ESocket::SocketState::Connected
}
 The socket connection state. More...