XTL  0.1
eXtended Template Library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
xtd::socket Namespace Reference

General purpose socket communication. More...

Data Structures

class  bindable_socket
 Server side binding behavior. More...
 
class  connectable_socket
 Client side connecting behavior. More...
 
class  exception
 Represents an socket error. More...
 
class  ip_options
 IP based socket properties. More...
 
class  ipv4address
 IPv4 address wrapper around sockaddr_in. More...
 
class  ipv6address
 IPv6 address wrapper around sockaddr_in6. More...
 
class  listening_socket
 Server side listening behavior. More...
 
class  polling_socket
 Polling behavior policy. More...
 
class  selectable_socket
 Async IO select behavior. More...
 
class  serializer
 Serializes data on a socket. More...
 
class  socket_base< _AddressT, _SocketT, _Protocol >
 Base class of the various socket specializations Hierarchy generation TMP pattern to create all the socket object types with the various behavioral policies. More...
 
class  socket_options
 Socket properties. More...
 
class  tcp_options
 TCP based socket properties. More...
 
class  udp_options
 UDP socket properties. More...
 

Typedefs

using ipv4_tcp_stream = socket_base< ipv4address, socket_type::stream, socket_protocol::tcp, socket_options, ip_options, tcp_options, connectable_socket, bindable_socket, listening_socket, selectable_socket >
 General purpose IPV4 client and server socket type.
 
using ipv4_udp_socket = socket_base< ipv4address, socket_type::datagram, socket_protocol::udp, socket_options, ip_options, udp_options >
 General purpose UDP socket type.
 

Enumerations

enum  socket_protocol {
  socket_protocol::ip = IPPROTO_IP,
  socket_protocol::icmp = IPPROTO_ICMP,
  socket_protocol::tcp = IPPROTO_TCP,
  socket_protocol::udp = IPPROTO_UDP,
  socket_protocol::ipv6 = IPPROTO_IPV6
}
 IP based protocols. More...
 
enum  socket_type {
  socket_type::stream = SOCK_STREAM,
  socket_type::datagram = SOCK_DGRAM,
  socket_type::raw = SOCK_RAW
}
 socket communication styles More...
 

Detailed Description

General purpose socket communication.