35 #include "ns3/buffer.h"
39 #include "ns3/packet.h"
40 #include "ns3/pointer.h"
41 #include "ns3/simulator.h"
95 if ((*iter)->GetDirection() ==
dir)
97 if ((*iter)->CheckClassifierMatch(srcAddress, dstAddress, srcPort, dstPort, proto))
111 if ((*iter)->GetSfid() == sfid)
117 NS_LOG_DEBUG(
"GetServiceFlow: service flow not found!");
132 NS_LOG_DEBUG(
"GetServiceFlow: service flow not found!");
136 std::vector<ServiceFlow*>
139 std::vector<ServiceFlow*> tmpServiceFlows;
142 if (((*iter)->GetSchedulingType() == schedulingType) ||
145 tmpServiceFlows.push_back(*iter);
148 return tmpServiceFlows;
166 for (
auto iter = serviceFlowVector.begin(); iter != serviceFlowVector.end(); ++iter)
168 if (!(*iter)->GetIsEnabled())
181 if (!(*iter)->GetIsEnabled())
uint16_t GetIdentifier() 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
void AddServiceFlow(ServiceFlow *serviceFlow)
Add service flow function.
ServiceFlow * GetServiceFlow(uint32_t sfid) const
Get service flow by flow id.
std::vector< ServiceFlow * > GetServiceFlows(ServiceFlow::SchedulingType schedulingType) const
Get service flows function.
uint32_t GetNrServiceFlows() const
~ServiceFlowManager() override
static TypeId GetTypeId()
Get the type ID.
void DoDispose() override
Destructor implementation.
bool AreServiceFlowsAllocated()
std::vector< ServiceFlow * > * m_serviceFlows
the service flows
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.