INET Framework for OMNeT++/OMNEST
RSVP.cc File Reference
#include "RSVP.h"
#include "IPControlInfo.h"
#include "IPAddressResolver.h"
#include "common.h"
#include "Utils.h"
#include "XMLUtils.h"
#include "IPv4InterfaceData.h"
#include "TEDAccess.h"
#include "RoutingTableAccess.h"
#include "InterfaceTableAccess.h"
#include "LIBTableAccess.h"
#include "NotifierConsts.h"

Defines

#define PSB_REFRESH_INTERVAL   5.0
#define RSB_REFRESH_INTERVAL   6.0
#define PSB_TIMEOUT_INTERVAL   16.0
#define RSB_TIMEOUT_INTERVAL   19.0
#define PATH_ERR_UNFEASIBLE   1
#define PATH_ERR_PREEMPTED   2
#define PATH_ERR_NEXTHOP_FAILED   3

Functions

 Define_Module (RSVP)
bool operator== (const SessionObj_t &a, const SessionObj_t &b)
bool operator!= (const SessionObj_t &a, const SessionObj_t &b)
bool operator== (const FilterSpecObj_t &a, const FilterSpecObj_t &b)
bool operator!= (const FilterSpecObj_t &a, const FilterSpecObj_t &b)
bool operator== (const SenderTemplateObj_t &a, const SenderTemplateObj_t &b)
bool operator!= (const SenderTemplateObj_t &a, const SenderTemplateObj_t &b)
std::ostream & operator<< (std::ostream &os, const FlowSpecObj_t &a)
std::ostream & operator<< (std::ostream &os, const SessionObj_t &a)
std::ostream & operator<< (std::ostream &os, const SenderTemplateObj_t &a)

Define Documentation

#define PATH_ERR_NEXTHOP_FAILED   3
#define PATH_ERR_PREEMPTED   2
#define PATH_ERR_UNFEASIBLE   1
#define PSB_REFRESH_INTERVAL   5.0

Referenced by RSVP::processPSB_TIMER().

#define PSB_TIMEOUT_INTERVAL   16.0

Referenced by RSVP::scheduleTimeout().

#define RSB_REFRESH_INTERVAL   6.0
#define RSB_TIMEOUT_INTERVAL   19.0

Referenced by RSVP::scheduleTimeout().


Function Documentation

Define_Module ( RSVP  )
bool operator!= ( const FilterSpecObj_t &  a,
const FilterSpecObj_t &  b 
)
{
    return !operator==(a, b);
}
bool operator!= ( const SessionObj_t &  a,
const SessionObj_t &  b 
)
{
    return !operator==(a, b);
}
bool operator!= ( const SenderTemplateObj_t &  a,
const SenderTemplateObj_t &  b 
)
{
    return !operator==(a, b);
}
std::ostream& operator<< ( std::ostream &  os,
const FlowSpecObj_t &  a 
)
{
    os << "{bandwidth:" << a.req_bandwidth << "}";
    return os;
}
std::ostream& operator<< ( std::ostream &  os,
const SessionObj_t &  a 
)
{
    os << "{tunnelId:" << a.Tunnel_Id << "  exTunnelId:" << a.Extended_Tunnel_Id <<
            "  destAddr:" << a.DestAddress << "}";
    return os;
}
std::ostream& operator<< ( std::ostream &  os,
const SenderTemplateObj_t &  a 
)
{
    os << "{lspid:" << a.Lsp_Id << "  sender:" << a.SrcAddress << "}";
    return os;
}
bool operator== ( const SessionObj_t &  a,
const SessionObj_t &  b 
)
{
    return (a.DestAddress == b.DestAddress &&
        a.Tunnel_Id == b.Tunnel_Id &&
        a.Extended_Tunnel_Id == b.Extended_Tunnel_Id);
    // NOTE: don't compare holdingPri and setupPri; their placement
    // into Session_Object is only for our convenience
}
bool operator== ( const FilterSpecObj_t &  a,
const FilterSpecObj_t &  b 
)
{
    return a.SrcAddress==b.SrcAddress && a.Lsp_Id==b.Lsp_Id;
}
bool operator== ( const SenderTemplateObj_t &  a,
const SenderTemplateObj_t &  b 
)
{
    return a.SrcAddress == b.SrcAddress && a.Lsp_Id == b.Lsp_Id;
}