39 allocInvokeId(0), deallocInvokeId(0),
45 srcApni(src), dstApni(dst),
51 allocInvokeId(0), deallocInvokeId(0),
204 std::stringstream os;
230 std::stringstream os;
240 std::stringstream os;
250 std::stringstream os;
251 os <<
"Hop Count: " <<
hopCount << endl
253 <<
"DDT: " << (
ddtFlag ?
"yes" :
"no");
259 std::stringstream os;
263 os <<
" (aggregated)";
328 std::stringstream os;
337 return os << fl.
info();
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.
ConnectionId & swapCepIds()
Exchanges source and destination CEP identifiers.
void setDstAddr(const Address &dstAddr)
Sets (end-point) destination Address.
const int VAL_UNDEF_PORTID
ConnectionId & getConnectionId()
Gets Flow's ConnectionId.
const int VAL_MAXCREATERETRIES
long deallocInvokeId
Attribute holding persistant InvokeId used for deallocation.
std::string getQoSId() const
Getter of selected QoS-cube identifier.
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.
int getSrcCepId() const
Getter of source Connection-Endpoint identifier.
void setDstPortId(int dstPortId)
Sets destination PortId.
const APN & getApn() const
Getter of APN.
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.
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_MGMT_PORTID
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...
const int VAL_MAXHOPCOUNT
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.
Flow()
Constructor for the flow with undefined values.
Address dstNeighbor
Attribute holding hop-by-hop destination address.
std::string info() const
Prints QoSReq information as string.
int getDstCepId() const
Getter of destination Connection-Endpoint identifier.
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::ostream & operator<<(std::ostream &os, const Flow &fl)
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...
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.
const APN & getApn() const
Getter of unique APN which is initialized during object construction.
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.
bool compare(const QoSReq &other) const
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.
static const QoSReq MANAGEMENT
long getDeallocInvokeId() const
Gets deallocation InvokeId Used inside M_DELETE(_R)(flow) messages.