24 #include "ns3/simulator.h"
25 #include "ns3/packet.h"
33 #include "ns3/pointer.h"
40 #include "ns3/buffer.h"
91 if ((*iter)->GetDirection () == dir)
93 if ((*iter)->CheckClassifierMatch (srcAddress, dstAddress, srcPort, dstPort, proto))
107 if ((*iter)->GetSfid () == sfid)
113 NS_LOG_DEBUG (
"GetServiceFlow: service flow not found!");
128 NS_LOG_DEBUG (
"GetServiceFlow: service flow not found!");
132 std::vector<ServiceFlow*>
135 std::vector<ServiceFlow*> tmpServiceFlows;
140 tmpServiceFlows.push_back ((*iter));
143 return tmpServiceFlows;
161 for (std::vector<ServiceFlow*>::const_iterator iter = serviceFlowVector.begin (); iter != serviceFlowVector.end (); ++iter)
163 if (!(*iter)->GetIsEnabled ())
174 std::vector<ServiceFlow*>::iterator iter;
177 if (!(*iter)->GetIsEnabled ())
static TypeId GetTypeId(void)
ServiceFlow * GetServiceFlow(uint32_t sfid) const
NS_OBJECT_ENSURE_REGISTERED(NullMessageSimulatorImpl)
ServiceFlow * GetNextServiceFlowToAllocate()
bool AreServiceFlowsAllocated()
uint32_t GetNrServiceFlows(void) const
ServiceFlow * DoClassify(Ipv4Address SrcAddress, Ipv4Address DstAddress, uint16_t SrcPort, uint16_t DstPort, uint8_t Proto, ServiceFlow::Direction dir) const
void DoDispose(void)
This method is called by Object::Dispose or by the object's destructor, whichever comes first...
std::vector< ServiceFlow * > GetServiceFlows(enum ServiceFlow::SchedulingType schedulingType) const
This class implements service flows as described by the IEEE-802.16 standard.
Ipv4 addresses are stored in host order in this class.
std::vector< ServiceFlow * > * m_serviceFlows
void AddServiceFlow(ServiceFlow *serviceFlow)
#define NS_LOG_DEBUG(msg)
~ServiceFlowManager(void)
uint16_t GetIdentifier(void) const
a base class which provides memory management and object aggregation
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
NS_LOG_COMPONENT_DEFINE("ServiceFlowManager")