A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::Ipv4EndPointDemux Class Reference

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

Ipv4EndPointAllocate (void)
 
Ipv4EndPointAllocate (Ipv4Address address)
 
Ipv4EndPointAllocate (uint16_t port)
 
Ipv4EndPointAllocate (Ipv4Address address, uint16_t port)
 
Ipv4EndPointAllocate (Ipv4Address localAddress, uint16_t localPort, Ipv4Address peerAddress, uint16_t peerPort)
 
void DeAllocate (Ipv4EndPoint *endPoint)
 
EndPoints GetAllEndPoints (void)
 
EndPoints Lookup (Ipv4Address daddr, uint16_t dport, Ipv4Address saddr, uint16_t sport, Ptr< Ipv4Interface > incomingInterface)
 
bool LookupLocal (Ipv4Address addr, uint16_t port)
 
bool LookupPortLocal (uint16_t port)
 
Ipv4EndPointSimpleLookup (Ipv4Address daddr, uint16_t dport, Ipv4Address saddr, uint16_t sport)
 

Private Member Functions

uint16_t AllocateEphemeralPort (void)
 

Private Attributes

EndPoints m_endPoints
 
uint16_t m_ephemeral
 
uint16_t m_portFirst
 
uint16_t m_portLast
 

Detailed Description

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

Definition at line 43 of file ipv4-end-point-demux.h.


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