24 #include "ns3/simulator.h"
25 #include "ns3/packet.h"
33 #include "ns3/pointer.h"
40 #include "ns3/buffer.h"
53 .SetGroupName(
"Wimax");
92 if ((*iter)->GetDirection () ==
dir)
94 if ((*iter)->CheckClassifierMatch (srcAddress, dstAddress, srcPort, dstPort, proto))
108 if ((*iter)->GetSfid () == sfid)
114 NS_LOG_DEBUG (
"GetServiceFlow: service flow not found!");
129 NS_LOG_DEBUG (
"GetServiceFlow: service flow not found!");
133 std::vector<ServiceFlow*>
136 std::vector<ServiceFlow*> tmpServiceFlows;
141 tmpServiceFlows.push_back ((*iter));
144 return tmpServiceFlows;
162 for (std::vector<ServiceFlow*>::const_iterator iter = serviceFlowVector.begin (); iter != serviceFlowVector.end (); ++iter)
164 if (!(*iter)->GetIsEnabled ())
175 std::vector<ServiceFlow*>::iterator iter;
178 if (!(*iter)->GetIsEnabled ())
uint16_t GetIdentifier(void) const
Ipv4 addresses are stored in host order in this class.
A base class which provides memory management and object aggregation.
This class implements service flows as described by the IEEE-802.16 standard.
SchedulingType
section 11.13.11 Service flow scheduling type, page 701
Direction
Direction enumeration.
ServiceFlow * GetNextServiceFlowToAllocate()
ServiceFlow * DoClassify(Ipv4Address SrcAddress, Ipv4Address DstAddress, uint16_t SrcPort, uint16_t DstPort, uint8_t Proto, ServiceFlow::Direction dir) const
std::vector< ServiceFlow * > GetServiceFlows(enum ServiceFlow::SchedulingType schedulingType) const
Get service flows function.
void AddServiceFlow(ServiceFlow *serviceFlow)
Add service flow function.
ServiceFlow * GetServiceFlow(uint32_t sfid) const
Get service flow by flow id.
uint32_t GetNrServiceFlows(void) const
~ServiceFlowManager(void)
bool AreServiceFlowsAllocated()
static TypeId GetTypeId(void)
Get the type ID.
std::vector< ServiceFlow * > * m_serviceFlows
the service flows
void DoDispose(void)
Destructor implementation.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.