A Discrete-Event Network Simulator
API
Socket
+ Collaboration diagram for Socket:

Classes

struct  ns3::Ipv6RawSocketImpl::Data
 IPv6 raw data and additional information. More...
 
struct  ns3::Ipv4RawSocketImpl::Data
 IPv4 raw data and additional information. More...
 
struct  ns3::Ipv6RawSocketImpl::Icmpv6Filter
 Struct to hold the ICMPv6 filter. More...
 
class  ns3::Ipv4RawSocketFactory
 API to create RAW socket instances. More...
 
class  ns3::Ipv4RawSocketFactoryImpl
 Implementation of IPv4 raw socket factory. More...
 
class  ns3::Ipv4RawSocketImpl
 IPv4 raw socket. More...
 
class  ns3::Ipv6RawSocketFactory
 API to create IPv6 RAW socket instances. More...
 
class  ns3::Ipv6RawSocketFactoryImpl
 Implementation of IPv6 raw socket factory. More...
 
class  ns3::Ipv6RawSocketImpl
 IPv6 raw socket. More...
 
class  ns3::NscTcpSocketImpl
 Socket logic for the NSC TCP sockets. More...
 
class  ns3::PacketSocket
 A PacketSocket is a link between an application and a net device. More...
 
class  ns3::PacketSocketClient
 A simple client. More...
 
class  ns3::PacketSocketFactory
 This can be used as an interface in a node in order for the node to generate PacketSockets that can connect to net devices. More...
 
class  ns3::PacketSocketServer
 A server using PacketSocket. More...
 
class  ns3::Socket
 A low-level Socket API based loosely on the BSD Socket API. More...
 
class  ns3::SocketFactory
 Object to create transport layer instances that provide a socket API to applications. More...
 
class  ns3::TcpSocket
 (abstract) base class of all TcpSockets More...
 
class  ns3::TcpSocketBase
 A base class for implementation of a stream socket using TCP. More...
 
class  ns3::TcpSocketFactory
 API to create TCP socket instances. More...
 
class  ns3::TcpSocketFactoryImpl
 socket factory implementation for native ns-3 TCP More...
 
class  ns3::UdpSocket
 (abstract) base class of all UdpSockets More...
 
class  ns3::UdpSocketFactory
 API to create UDP socket instances. More...
 
class  ns3::UdpSocketFactoryImpl
 Object to create UDP socket instances. More...
 
class  ns3::UdpSocketImpl
 A sockets interface to UDP. More...
 

Enumerations

enum  ns3::Socket::Ipv6MulticastFilterMode { ns3::Socket::INCLUDE =1, ns3::Socket::EXCLUDE }
 Enumeration of the possible filter of a socket. More...
 
enum  ns3::Socket::SocketErrno {
  ns3::Socket::ERROR_NOTERROR, ns3::Socket::ERROR_ISCONN, ns3::Socket::ERROR_NOTCONN, ns3::Socket::ERROR_MSGSIZE,
  ns3::Socket::ERROR_AGAIN, ns3::Socket::ERROR_SHUTDOWN, ns3::Socket::ERROR_OPNOTSUPP, ns3::Socket::ERROR_AFNOSUPPORT,
  ns3::Socket::ERROR_INVAL, ns3::Socket::ERROR_BADF, ns3::Socket::ERROR_NOROUTETOHOST, ns3::Socket::ERROR_NODEV,
  ns3::Socket::ERROR_ADDRNOTAVAIL, ns3::Socket::ERROR_ADDRINUSE, ns3::Socket::SOCKET_ERRNO_LAST
}
 Enumeration of the possible errors returned by a socket. More...
 
enum  ns3::Socket::SocketPriority {
  ns3::Socket::NS3_PRIO_BESTEFFORT = 0, ns3::Socket::NS3_PRIO_FILLER = 1, ns3::Socket::NS3_PRIO_BULK = 2, ns3::Socket::NS3_PRIO_INTERACTIVE_BULK = 4,
  ns3::Socket::NS3_PRIO_INTERACTIVE = 6, ns3::Socket::NS3_PRIO_CONTROL = 7
}
 Enumeration of the possible socket priorities. More...
 
enum  ns3::Socket::SocketType { ns3::Socket::NS3_SOCK_STREAM, ns3::Socket::NS3_SOCK_SEQPACKET, ns3::Socket::NS3_SOCK_DGRAM, ns3::Socket::NS3_SOCK_RAW }
 Enumeration of the possible socket types. More...
 
enum  ns3::PacketSocket::State { ns3::PacketSocket::STATE_OPEN, ns3::PacketSocket::STATE_BOUND, ns3::PacketSocket::STATE_CONNECTED, ns3::PacketSocket::STATE_CLOSED }
 States of the socket. More...
 

Detailed Description

Enumeration Type Documentation

Enumeration of the possible filter of a socket.

A socket can have filters on specific sources to include only packets incoming from them, or to exclude packets incoming from specific sources. Moreover, inclusion and exclusion also works as a leave, since "joining" a group without allowed sources is equivalent to leaving it.

Enumerator
INCLUDE 
EXCLUDE 

Definition at line 138 of file socket.h.

Enumeration of the possible errors returned by a socket.

Enumerator
ERROR_NOTERROR 
ERROR_ISCONN 
ERROR_NOTCONN 
ERROR_MSGSIZE 
ERROR_AGAIN 
ERROR_SHUTDOWN 
ERROR_OPNOTSUPP 
ERROR_AFNOSUPPORT 
ERROR_INVAL 
ERROR_BADF 
ERROR_NOROUTETOHOST 
ERROR_NODEV 
ERROR_ADDRNOTAVAIL 
ERROR_ADDRINUSE 
SOCKET_ERRNO_LAST 

Definition at line 82 of file socket.h.

Enumeration of the possible socket priorities.

Names and corresponding values are derived from the Linux TC_PRIO_* macros

Enumerator
NS3_PRIO_BESTEFFORT 
NS3_PRIO_FILLER 
NS3_PRIO_BULK 
NS3_PRIO_INTERACTIVE_BULK 
NS3_PRIO_INTERACTIVE 
NS3_PRIO_CONTROL 

Definition at line 118 of file socket.h.

Enumeration of the possible socket types.

Enumerator
NS3_SOCK_STREAM 
NS3_SOCK_SEQPACKET 
NS3_SOCK_DGRAM 
NS3_SOCK_RAW 

Definition at line 104 of file socket.h.

States of the socket.

Enumerator
STATE_OPEN 
STATE_BOUND 
STATE_CONNECTED 
STATE_CLOSED 

Definition at line 188 of file packet-socket.h.