Demultiplexes packets to various transport layer endpoints. More...
#include <ipv4-end-point-demux.h>
Public Types | |
typedef std::list< Ipv4EndPoint * > | EndPoints |
typedef std::list < Ipv4EndPoint * >::iterator | EndPointsI |
Public Member Functions | |
EndPoints | GetAllEndPoints (void) |
bool | LookupPortLocal (uint16_t port) |
bool | LookupLocal (Ipv4Address addr, uint16_t port) |
EndPoints | Lookup (Ipv4Address daddr, uint16_t dport, Ipv4Address saddr, uint16_t sport, Ptr< Ipv4Interface > incomingInterface) |
Ipv4EndPoint * | SimpleLookup (Ipv4Address daddr, uint16_t dport, Ipv4Address saddr, uint16_t sport) |
Ipv4EndPoint * | Allocate (void) |
Ipv4EndPoint * | Allocate (Ipv4Address address) |
Ipv4EndPoint * | Allocate (uint16_t port) |
Ipv4EndPoint * | Allocate (Ipv4Address address, uint16_t port) |
Ipv4EndPoint * | Allocate (Ipv4Address localAddress, uint16_t localPort, Ipv4Address peerAddress, uint16_t peerPort) |
void | DeAllocate (Ipv4EndPoint *endPoint) |
Demultiplexes packets to various transport layer endpoints.
This class serves as a lookup table to match partial or full information about a four-tuple to an ns3::Ipv4EndPoint. It internally contains a list of endpoints, and has APIs to add and find endpoints in this demux. This code is shared in common to TCP and UDP protocols in ns3. This demux sits between ns3's layer four and the socket layer