45 class Flow :
public cObject
91 std::string
info()
const;
Class representing flow object with attributes from specs.
void setQosRequirements(const QoSReq &qosReqs)
Sets QoS parameters wanted by flow initiator.
const APNamingInfo & getSrcApni() const
Gets read-only source APNamingInfo.
void setDstApni(const APNamingInfo &dstApni)
Sets destination APNamingInfo.
void setDstAddr(const Address &dstAddr)
Sets (end-point) destination Address.
ConnectionId & getConnectionId()
Gets Flow's ConnectionId.
long deallocInvokeId
Attribute holding persistant InvokeId used for deallocation.
void setAllocInvokeId(long allocInvokeId)
Sets allocation InvokeId.
bool isDdtFlag() const
Gets whether flow is for Degenerate Data Transfer.
long getAllocInvokeId() const
Gets allocation InvokeId Used inside M_CREATE(_R)(flow) messages.
const Address & getSrcNeighbor() const
Gets neighbor source Address, which is the address of (interim) hop-by-hop source Used during flow al...
std::string info() const
Prints Flow information as string Calls variety of other info functions to produce final output...
bool ddtFlag
Attribute representing whether flow is for Degenerate Data Transfer or not.
Address srcAddr
Attribute holding source address (initiator of communication)
Connection identifier as defined in specifications.
const int VAL_MAXCREATERETRIES
void setDstPortId(int dstPortId)
Sets destination PortId.
void swapAddresses()
Auxiliary function swapping source and destination Addresses.
void setMaxCreateFlowRetries(uint32_t maxCreateFlowRetries)
Sets maximum allowed number of CreateFlow retries.
uint32_t maxCreateFlowRetries
Attribute holding maximum allowed number of CreateFlow retries.
void setHopCount(uint32_t hopCount)
Sets a new hop-count. Hop-count should be decremented each time message is forwarded within DIF...
Address dstAddr
Attribute holding destination address (end-host for communication)
void setSrcApni(const APNamingInfo &srcApni)
Sets source APNamingInfo.
const int VAL_MGMT_PORTID
void setSrcNeighbor(const Address &srcNeighbor)
Sets neighbor source Address.
int getDstPortId() const
Gets destination PortId.
std::string infoDestination() const
Prints Flow destination information as string Outputs destination APNI, address, neigbor-address, PortId, CEP-Id.
int srcPortId
Attribute holding source PortId.
APNamingInfo holds complete naming info for particular application process.
const Address & getSrcAddr() const
Gets source Address, which is the address of communication start-point.
const QoSReq & getQosRequirements() const
Gets QoS parameters wanted by flow initiator.
const int VAL_MAXHOPCOUNT
std::string getFlowName() const
Prints flow name consisting of source and destination APNI Primary use is for OMNeT++ cMessage proper...
QoSCube qosCube
Attribute holding the assigned QoSCube.
uint32_t hopCount
Attribute holding flow's hop-count.
void setDdtFlag(bool ddtFlag)
Sets Degenerate Data Transfer flag.
const Address & getDstNeighbor() const
Gets neighbor destination Address, which is the address of (interim) hop-by-hop destination Used duri...
void setSrcAddr(const Address &srcAddr)
Sets (start-point) source Address.
bool isManagementFlow() const
QoSReq qosReqs
Attribute holding wanted QoS parameters in form of QoSReq.
uint32_t getMaxCreateFlowRetries() const
Gets maximum allowed number CreateFlow retries By default 3 (const VAL_MAXCREATERETRIES). Value is checked during Flow allocation.
std::ostream & operator<<(std::ostream &os, const Flow &fl)
Flow()
Constructor for the flow with undefined values.
Address dstNeighbor
Attribute holding hop-by-hop destination address.
void setConId(const ConnectionId &conId)
Sets Flow's ConnectionId.
virtual ~Flow()
Destructor assigning default uninitialized values.
APNamingInfo srcApni
Attribute holding source APNI.
std::string infoSource() const
Prints Flow source information as string Outputs source APNI, address, neigbor-address, PortId, CEP-Id.
int getSrcPortId() const
Gets source PortId.
bool operator==(const Flow &other) const
Equal operator overloading.
Address srcNeighbor
Attribute holding hop-by-hop source address.
std::string infoOther() const
Prints Flow create flow information and hop-cpunt as string.
std::string infoQoS() const
Prints RA's QoSCube-id that FA choosed during Flow allocation phase Accompanied QoSParameters could b...
const int VAL_UNDEF_PORTID
void swapCepIds()
Auxiliary function swapping source and destination CEP-Ids.
int dstPortId
Attribute holding destination PortId.
Class representing QoSCube with all its properties that is primarily used by FA, RMT and RA Specifica...
const ConnectionId & getConId() const
Gets read-only Flow's ConnectionId.
void setSrcPortId(int srcPortId)
Sets source PortId.
void setCreateFlowRetries(uint32_t createFlowRetries)
Sets current number of CreateFlow retries During Flow allocation phase, CreateFlow is incremented eac...
uint32_t createFlowRetries
Attribute holding current number of allowed CreateFlow retries.
void swapApni()
Auxiliary function swapping source and destinatio APNI.
uint32_t getCreateFlowRetries() const
Gets current number of CreateFlow retries During Flow allocation phase, CreateFlow is incremented eac...
APNamingInfo dstApni
Attribute holding destination APNI.
Class representing QoSReq with all its properties that is primarily used by FA, RMT and RA Specificat...
void swapPortIds()
Auxiliary function swapping source and destination PortIds.
void setDstNeighbor(const Address &dstNeighbor)
Sets neighbor destination Address.
const Address & getDstAddr() const
Gets source Address, which is the address of communication end-point.
bool compare(const Flow &other) const
Comparator taking into account src/dst addresses, src/dst APNIs, src-dst ConIds/PortIds.
uint32_t getHopCount() const
Gets hop-count, which is number of allowed message forwards from this device towards destination By d...
bool isManagementFlowLocalToIPCP() const
const QoSCube & getQosCube() const
virtual Flow * dup() const
Flow object duplication method that creates copy with.
long allocInvokeId
Attribute holding persistant InvokeId used for allocation.
ConnectionId conId
Attribute holding ConnectionId containing source and destination CEP-Ids and chosen RA's QoSCube...
Address class holds IPC Process identification.
Flow & swapFlow()
Function that swaps relevant source and destination Flow parameters It is being used mainly for count...
const APNamingInfo & getDstApni() const
Gets read-only destination APNamingInfo.
void setQosCube(const QoSCube &qosCube)
void setDeallocInvokeId(long deallocInvokeId)
Sets deallocation InvokeId.
long getDeallocInvokeId() const
Gets deallocation InvokeId Used inside M_DELETE(_R)(flow) messages.