Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

Node Class Reference

#include <node.h>

Inheritance diagram for Node:

BlueNode FirstBitRxNode NodeInterconnect TACLANENode SatelliteNode List of all members.

Public Types

enum  Shape_t {
  NONE, CIRCLE, SQUARE, HEXAGON,
  OCTAGON, CUSTOM, IMAGE
}

Public Member Functions

 Node (SystemId_t=0)
virtual ~Node ()
NodeId_t Id ()
IPAddr_t GetIPAddr ()
virtual void SetIPAddr (IPAddr_t)
void IPAddrs (IPMaskVec_t &)
bool LocalIP (IPAddr_t)
bool IPKnown ()
bool IsReal ()
bool IsSwitchNode ()
void IsSwitchNode (bool)
void PacketRX (Packet *, Interface *)
InterfaceAddInterface (Interface *)
InterfaceAddInterface (const L2Proto &=L2Proto802_3(), bool bootstrap=false)
InterfaceAddInterface (const L2Proto &, IPAddr_t, Mask_t, MACAddr m=MACAddr::Allocate(), bool bootstrap=false)
InterfaceAddInterface (const L2Proto &, const Interface &, IPAddr_t, Mask_t, MACAddr=MACAddr::Allocate(), bool bootstrap=false)
virtual Count_t InterfaceCount ()
virtual const IFVec_tInterfaces ()
virtual InterfaceGetIfByLink (Link *)
virtual InterfaceGetIfByNode (Node *)
virtual InterfaceGetIfByIP (IPAddr_t)
void Broadcast (Packet *, Proto_t)
InterfaceAddDuplexLink (Node *)
InterfaceAddDuplexLink (Node *, const Linkp2p &)
InterfaceAddDuplexLink (Interface *, Interface *)
InterfaceAddDuplexLink (Interface *, Interface *, const Linkp2p &)
InterfaceAddDuplexLink (Node *, IPAddr_t, Mask_t=Mask(32), IPAddr_t=((IPAddr_t) 0x0), Mask_t=Mask(32))
InterfaceAddDuplexLink (Node *, const Linkp2p &, IPAddr_t, Mask_t=Mask(32), IPAddr_t=((IPAddr_t) 0x0), Mask_t=Mask(32))
InterfaceAddRemoteLink (IPAddr_t, Mask_t)
InterfaceAddRemoteLink (IPAddr_t, Mask_t, Rate_t, Time_t)
LinkGetLink (Node *)
InterfaceAddSimplexLink (Node *)
InterfaceAddSimplexLink (Node *, const Linkp2p &)
InterfaceAddSimplexLink (Node *, const Linkp2p &, IPAddr_t, Mask_t)
QueueGetQueue ()
QueueGetQueue (Node *)
ApplicationAddApplication (const Application &a)
virtual void Neighbors (NodeWeightVec_t &, bool=false)
void AddNeighbor (Node *, Weight_t)
Count_t NeighborCount ()
void NeighborsByIf (Interface *, IPAddrVec_t &)
void DefaultRoute (RoutingEntry)
void DefaultRoute (Node *)
void AddRoute (IPAddr_t, Count_t, Interface *, IPAddr_t)
RoutingEntry LookupRoute (IPAddr_t)
RoutingEntry LookupRouteNix (Count_t)
Routing::RType_t RoutingType ()
InterfaceLocalRoute (IPAddr_t)
AODVRoutingEntryLookupRouteAODV (IPAddr_t)
void SetRoutingAODV (void *pRouting)
RoutingAODVGetRoutingAODV ()
void InitializeRoutes ()
void ReInitializeRoutes (bool)
Count_t RoutingFibSize () const
Count_t GetNix (Node *) const
RoutingNixVectorGetNixRouting ()
RoutingGetRouting ()
void DumpNV ()
ProtocolLookupProto (Layer_t, Proto_t)
void InsertProto (Layer_t, Proto_t, Protocol *)
bool Bind (Proto_t, PortId_t, Protocol *)
bool Bind (Proto_t, PortId_t, IPAddr_t, PortId_t, IPAddr_t, Protocol *)
PortId_t Bind (Proto_t, Protocol *)
bool Unbind (Proto_t, PortId_t, Protocol *)
bool Unbind (Proto_t, PortId_t, IPAddr_t, PortId_t, IPAddr_t, Protocol *)
ProtocolLookupByPort (Proto_t, PortId_t)
ProtocolLookupByPort (Proto_t, PortId_t, IPAddr_t, PortId_t, IPAddr_t)
bool TracePDU (Protocol *, PDU *, Packet *=0, char *=0)
void SetTrace (Trace::TraceStatus)
void SetLocation (Meters_t, Meters_t, Meters_t=0)
void SetLocation (const Location &)
void SetLocationLongLat (const Location &)
bool HasLocation ()
Meters_t LocationX ()
Meters_t LocationY ()
Meters_t LocationZ ()
Location GetLocation ()
Location UpdateLocation ()
MobilityAddMobility (const Mobility &)
MobilityGetMobility ()
bool IsMobile ()
bool IsMoving ()
Meters_t Distance (Node *)
void BuildRadioInterfaceList (WirelessLink *)
const RadioVec_tGetRadioInterfaceList ()
void SetRadioRange (Meters_t range)
Meters_t GetRadioRange (void)
void AddCallback (Layer_t, Proto_t, PacketCallbacks::Type_t, Interface *, PacketCallbacks::Function_t)
void AddCallbackHead (Layer_t, Proto_t, PacketCallbacks::Type_t, Interface *, PacketCallbacks::Function_t)
void DeleteCallback (Layer_t, Proto_t, PacketCallbacks::Type_t, Interface *)
bool CallCallbacks (Layer_t, Proto_t, PacketCallbacks::Type_t, Packet *, Interface *=0)
void UserInformation (void *)
void * UserInformation ()
void UseWormContainment (bool b)
bool UseWormContainment ()
void SetWormContainment (WormContainment *)
WormContainmentGetWormContainment ()
void UseARP (bool)
bool FirstBitRx ()
void FirstBitRx (bool)
bool WirelessTx ()
bool WirelessRx ()
bool WirelessCx ()
bool WirelessRxMe ()
bool WirelessRxZz ()
void Show (bool)
bool Show ()
QCanvasItem * Display (QTWindow *)
QCanvasItem * Display (const QPoint &, QTWindow *)
void WirelessTxColor (const QColor &)
const QColor & WirelessTxColor ()
bool PushWirelessTx (QCanvasItem *)
QCanvasItem * PopWirelessTx ()
void PixelSize (Count_t)
Count_t PixelSizeX ()
Count_t PixelSizeY ()
void Shape (Shape_t)
Shape_t Shape ()
CustomShape_t CustomShape ()
void CustomShape (CustomShape_t)
bool CustomShapeFile (const char *)
bool CustomShapeImage (const Image &)
void Color (const QColor &)
bool HasColor ()
QColor & Color ()
NodeAnimation * GetNodeAnimation () const
bool ICMPEnabled () const
void DisableICMP ()
void Down ()
void Up ()
bool IsDown ()
Joules_t getBattery (void)
void setBattery (Joules_t)
double getComputePower (void)
void setComputePower (double)
void SetProxyRoutingConfig (IPAddr_t ip, Mask mask)
bool HasProxyRoutingConfig ()
bool CanProxyRouteIP (IPAddr_t ip)
IPAddr_t GetProxyIP ()
Mask GetProxyMask ()
int GetLongestPrefixLength (IPAddr_t ip)
RouteTablegetRouteTable (void)
void setRouteTable (RouteTable *)

Static Public Member Functions

void SetNextNodeId (NodeId_t i)
const NodeVec_tGetNodes ()
NodeGetNode (NodeId_t)
void Clear ()
void DefaultMaxSpeed (double speed)
double DefaultMaxSpeed ()

Public Attributes

NodeImplpImpl

Static Public Attributes

NodeId_t nextId = 0
NodeVec_t nodes
double defaultMaxSpeed = 20

Protected Member Functions

 Node (NodeImpl *, SystemId_t=0)

Private Attributes

NodeId_t id
IPAddr_t proxyIP
Mask proxyMask

Member Enumeration Documentation

enum Node::Shape_t
 

Enumeration values:
NONE 
CIRCLE 
SQUARE 
HEXAGON 
OCTAGON 
CUSTOM 
IMAGE 


Constructor & Destructor Documentation

Node::Node SystemId_t  = 0  ) 
 

Node::Node NodeImpl ,
SystemId_t  = 0
[protected]
 

Node::~Node  )  [virtual]
 


Member Function Documentation

Application * Node::AddApplication const Application a  ) 
 

void Node::AddCallback Layer_t  ,
Proto_t  ,
PacketCallbacks::Type_t  ,
Interface ,
PacketCallbacks::Function_t 
 

void Node::AddCallbackHead Layer_t  ,
Proto_t  ,
PacketCallbacks::Type_t  ,
Interface ,
PacketCallbacks::Function_t 
 

Interface * Node::AddDuplexLink Node ,
const Linkp2p ,
IPAddr_t  ,
Mask_t  = Mask(32),
IPAddr_t  = ((IPAddr_t) 0x0),
Mask_t  = Mask(32)
 

Interface * Node::AddDuplexLink Node ,
IPAddr_t  ,
Mask_t  = Mask(32),
IPAddr_t  = ((IPAddr_t) 0x0),
Mask_t  = Mask(32)
 

Interface * Node::AddDuplexLink Interface ,
Interface ,
const Linkp2p
 

Interface * Node::AddDuplexLink Interface ,
Interface
 

Interface * Node::AddDuplexLink Node ,
const Linkp2p
 

Interface * Node::AddDuplexLink Node  ) 
 

Interface * Node::AddInterface const L2Proto ,
const Interface ,
IPAddr_t  ,
Mask_t  ,
MACAddr  = MACAddr::Allocate(),
bool  bootstrap = false
 

Interface * Node::AddInterface const L2Proto ,
IPAddr_t  ,
Mask_t  ,
MACAddr  m = MACAddr::Allocate(),
bool  bootstrap = false
 

Interface * Node::AddInterface const L2Proto = L2Proto802_3(),
bool  bootstrap = false
 

Interface * Node::AddInterface Interface  ) 
 

Mobility * Node::AddMobility const Mobility  ) 
 

void Node::AddNeighbor Node ,
Weight_t 
 

Interface * Node::AddRemoteLink IPAddr_t  ,
Mask_t  ,
Rate_t  ,
Time_t 
 

Interface * Node::AddRemoteLink IPAddr_t  ,
Mask_t 
 

void Node::AddRoute IPAddr_t  ,
Count_t  ,
Interface ,
IPAddr_t 
 

Interface * Node::AddSimplexLink Node ,
const Linkp2p ,
IPAddr_t  ,
Mask_t 
 

Interface * Node::AddSimplexLink Node ,
const Linkp2p
 

Interface * Node::AddSimplexLink Node  ) 
 

PortId_t Node::Bind Proto_t  ,
Protocol
 

bool Node::Bind Proto_t  ,
PortId_t  ,
IPAddr_t  ,
PortId_t  ,
IPAddr_t  ,
Protocol
 

bool Node::Bind Proto_t  ,
PortId_t  ,
Protocol
 

void Node::Broadcast Packet ,
Proto_t 
 

void Node::BuildRadioInterfaceList WirelessLink  ) 
 

bool Node::CallCallbacks Layer_t  ,
Proto_t  ,
PacketCallbacks::Type_t  ,
Packet ,
Interface = 0
 

bool Node::CanProxyRouteIP IPAddr_t  ip  ) 
 

void Node::Clear  )  [static]
 

QColor & Node::Color  ) 
 

void Node::Color const QColor &   ) 
 

void Node::CustomShape CustomShape_t   ) 
 

CustomShape_t Node::CustomShape  ) 
 

bool Node::CustomShapeFile const char *   ) 
 

bool Node::CustomShapeImage const Image  ) 
 

double Node::DefaultMaxSpeed  )  [static]
 

void Node::DefaultMaxSpeed double  speed  )  [static]
 

void Node::DefaultRoute Node  ) 
 

void Node::DefaultRoute RoutingEntry   ) 
 

void Node::DeleteCallback Layer_t  ,
Proto_t  ,
PacketCallbacks::Type_t  ,
Interface
 

void Node::DisableICMP  ) 
 

QCanvasItem * Node::Display const QPoint &  ,
QTWindow
 

QCanvasItem * Node::Display QTWindow  ) 
 

Meters_t Node::Distance Node  ) 
 

void Node::Down  ) 
 

void Node::DumpNV  ) 
 

void Node::FirstBitRx bool   ) 
 

bool Node::FirstBitRx  ) 
 

Joules_t Node::getBattery void   ) 
 

double Node::getComputePower void   ) 
 

Interface * Node::GetIfByIP IPAddr_t   )  [virtual]
 

Interface * Node::GetIfByLink Link  )  [virtual]
 

Interface * Node::GetIfByNode Node  )  [virtual]
 

Reimplemented in NodeInterconnect.

IPAddr_t Node::GetIPAddr  ) 
 

Link * Node::GetLink Node  ) 
 

Location Node::GetLocation  ) 
 

int Node::GetLongestPrefixLength IPAddr_t  ip  ) 
 

Mobility * Node::GetMobility  ) 
 

Count_t Node::GetNix Node  )  const
 

RoutingNixVector * Node::GetNixRouting  ) 
 

Node * Node::GetNode NodeId_t   )  [static]
 

NodeAnimation * Node::GetNodeAnimation  )  const
 

const NodeVec_t& Node::GetNodes  )  [inline, static]
 

IPAddr_t Node::GetProxyIP  ) 
 

Mask Node::GetProxyMask  ) 
 

Queue * Node::GetQueue Node  ) 
 

Queue * Node::GetQueue  ) 
 

const RadioVec_t & Node::GetRadioInterfaceList  ) 
 

Meters_t Node::GetRadioRange void   ) 
 

RouteTable * Node::getRouteTable void   ) 
 

Routing * Node::GetRouting  ) 
 

RoutingAODV * Node::GetRoutingAODV  ) 
 

WormContainment * Node::GetWormContainment  ) 
 

bool Node::HasColor  ) 
 

bool Node::HasLocation  ) 
 

bool Node::HasProxyRoutingConfig  )  [inline]
 

bool Node::ICMPEnabled  )  const
 

NodeId_t Node::Id  )  [inline]
 

void Node::InitializeRoutes  ) 
 

void Node::InsertProto Layer_t  ,
Proto_t  ,
Protocol
 

Count_t Node::InterfaceCount  )  [virtual]
 

const IFVec_t & Node::Interfaces  )  [virtual]
 

void Node::IPAddrs IPMaskVec_t  ) 
 

bool Node::IPKnown  ) 
 

bool Node::IsDown  ) 
 

bool Node::IsMobile  ) 
 

bool Node::IsMoving  ) 
 

bool Node::IsReal  ) 
 

void Node::IsSwitchNode bool   ) 
 

bool Node::IsSwitchNode  ) 
 

bool Node::LocalIP IPAddr_t   ) 
 

Interface * Node::LocalRoute IPAddr_t   ) 
 

Meters_t Node::LocationX  ) 
 

Meters_t Node::LocationY  ) 
 

Meters_t Node::LocationZ  ) 
 

Protocol * Node::LookupByPort Proto_t  ,
PortId_t  ,
IPAddr_t  ,
PortId_t  ,
IPAddr_t 
 

Protocol * Node::LookupByPort Proto_t  ,
PortId_t 
 

Protocol * Node::LookupProto Layer_t  ,
Proto_t 
 

RoutingEntry Node::LookupRoute IPAddr_t   ) 
 

AODVRoutingEntry * Node::LookupRouteAODV IPAddr_t   ) 
 

RoutingEntry Node::LookupRouteNix Count_t   ) 
 

Count_t Node::NeighborCount  ) 
 

void Node::Neighbors NodeWeightVec_t ,
bool  = false
[virtual]
 

Reimplemented in NodeInterconnect.

void Node::NeighborsByIf Interface ,
IPAddrVec_t
 

void Node::PacketRX Packet ,
Interface
 

void Node::PixelSize Count_t   ) 
 

Count_t Node::PixelSizeX  ) 
 

Count_t Node::PixelSizeY  ) 
 

QCanvasItem * Node::PopWirelessTx  ) 
 

bool Node::PushWirelessTx QCanvasItem *   ) 
 

void Node::ReInitializeRoutes bool   ) 
 

Count_t Node::RoutingFibSize  )  const
 

Routing::RType_t Node::RoutingType  ) 
 

void Node::setBattery Joules_t   ) 
 

void Node::setComputePower double   ) 
 

void Node::SetIPAddr IPAddr_t   )  [virtual]
 

void Node::SetLocation const Location  ) 
 

void Node::SetLocation Meters_t  ,
Meters_t  ,
Meters_t  = 0
 

void Node::SetLocationLongLat const Location  ) 
 

void Node::SetNextNodeId NodeId_t  i  )  [inline, static]
 

void Node::SetProxyRoutingConfig IPAddr_t  ip,
Mask  mask
 

void Node::SetRadioRange Meters_t  range  ) 
 

void Node::setRouteTable RouteTable  ) 
 

void Node::SetRoutingAODV void *  pRouting  ) 
 

void Node::SetTrace Trace::TraceStatus   ) 
 

void Node::SetWormContainment WormContainment  ) 
 

Node::Shape_t Node::Shape  ) 
 

void Node::Shape Shape_t   ) 
 

bool Node::Show  ) 
 

void Node::Show bool   ) 
 

bool Node::TracePDU Protocol ,
PDU ,
Packet = 0,
char *  = 0
 

bool Node::Unbind Proto_t  ,
PortId_t  ,
IPAddr_t  ,
PortId_t  ,
IPAddr_t  ,
Protocol
 

bool Node::Unbind Proto_t  ,
PortId_t  ,
Protocol
 

void Node::Up  ) 
 

Location Node::UpdateLocation  ) 
 

void Node::UseARP bool   ) 
 

void* Node::UserInformation  ) 
 

void Node::UserInformation void *   ) 
 

bool Node::UseWormContainment  ) 
 

void Node::UseWormContainment bool  b  ) 
 

bool Node::WirelessCx  ) 
 

bool Node::WirelessRx  ) 
 

bool Node::WirelessRxMe  ) 
 

bool Node::WirelessRxZz  ) 
 

bool Node::WirelessTx  ) 
 

const QColor & Node::WirelessTxColor  ) 
 

void Node::WirelessTxColor const QColor &   ) 
 


Member Data Documentation

double Node::defaultMaxSpeed = 20 [static]
 

NodeId_t Node::id [private]
 

NodeId_t Node::nextId = 0 [static]
 

NodeVec_t Node::nodes [static]
 

NodeImpl* Node::pImpl
 

IPAddr_t Node::proxyIP [private]
 

Mask Node::proxyMask [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Aug 27 16:17:29 2008 for Georgia Tech Network Simulator (GTNetS) by  doxygen 1.3.9.1