Interface to network animator. More...
#include <animation-interface.h>
Public Types | |
typedef void(* | AnimWriteCallback )(const char *str) |
typedef for WriteCallBack used for listening to AnimationInterface write messages More... | |
enum | CounterType { UINT32_COUNTER, DOUBLE_COUNTER } |
Counter Types. More... | |
Public Member Functions | |
AnimationInterface (const std::string filename, bool enable3105=true, uint64_t maxPktsPerFile=MAX_PKTS_PER_TRACE_FILE) | |
Constructor. More... | |
~AnimationInterface () | |
Destructor for the animator interface. More... | |
uint32_t | AddNodeCounter (std::string counterName, CounterType counterType) |
Setup a node counter. More... | |
uint32_t | AddResource (std::string resourcePath) |
Add a resource such as the path to an image file. More... | |
AnimationInterface & | AddSourceDestination (uint32_t fromNodeId, std::string destinationIpv4Address) |
Helper function to print the routing path from a source node to destination IP. More... | |
int64_t | AssignStreams (int64_t stream) |
Assign a fixed random variable stream number to the random variables used by this model. More... | |
AnimationInterface & | EnableIpv4RouteTracking (std::string fileName, Time startTime, Time stopTime, Time pollInterval=Seconds(5)) |
Enable tracking of the Ipv4 routing table for all Nodes. More... | |
AnimationInterface & | EnableIpv4RouteTracking (std::string fileName, Time startTime, Time stopTime, NodeContainer nc, Time pollInterval=Seconds(5)) |
Enable tracking of the Ipv4 routing table for a set of Nodes. More... | |
void | EnablePacketMetadata (bool enable=true) |
Enable Packet metadata. More... | |
double | GetNodeEnergyFraction (Ptr< const Node > node) const |
Get node's energy fraction (This used only for testing) More... | |
uint64_t | GetTracePktCount () |
Get trace file packet count (This used only for testing) More... | |
bool | IsStarted (void) |
Is AnimationInterface started. More... | |
void | ResetAnimWriteCallback () |
Reset the write callback function. More... | |
void | SetAnimWriteCallback (AnimWriteCallback cb) |
Set a callback function to listen to AnimationInterface write events. More... | |
void | SetBackgroundImage (std::string fileName, double x, double y, double scaleX, double scaleY, double opacity) |
Helper function to set the background image. More... | |
void | SetMobilityPollInterval (Time t) |
Set mobility poll interval:WARNING: setting a low interval can cause slowness. More... | |
void | SetRandomPosition (bool setRandPos) |
Set random position if a Mobility Model does not exists for the node. More... | |
void | SetStartTime (Time t) |
Specify the time at which capture should start. More... | |
void | SetStopTime (Time t) |
Specify the time at which capture should stop. More... | |
void | ShowNode (uint32_t nodeId, bool show=true) |
Helper function to show/hide a node. More... | |
void | ShowNode (Ptr< Node > n, bool show=true) |
Helper function to show/hide a node. More... | |
void | SkipPacketTracing () |
Do not trace packets. More... | |
void | UpdateLinkDescription (uint32_t fromNode, uint32_t toNode, std::string linkDescription) |
Helper function to update the description for a link. More... | |
void | UpdateLinkDescription (Ptr< Node > fromNode, Ptr< Node > toNode, std::string linkDescription) |
Helper function to update the description for a link. More... | |
void | UpdateNodeColor (Ptr< Node > n, uint8_t r, uint8_t g, uint8_t b) |
Helper function to update the node color. More... | |
void | UpdateNodeColor (uint32_t nodeId, uint8_t r, uint8_t g, uint8_t b) |
Helper function to update the node color. More... | |
void | UpdateNodeCounter (uint32_t nodeCounterId, uint32_t nodeId, double counter) |
Helper function to update a node's counter referenced by the nodeCounterId. More... | |
void | UpdateNodeDescription (Ptr< Node > n, std::string descr) |
Helper function to update the description for a given node. More... | |
void | UpdateNodeDescription (uint32_t nodeId, std::string descr) |
Helper function to update the description for a given node. More... | |
void | UpdateNodeImage (uint32_t nodeId, uint32_t resourceId) |
Helper function to update the image of a node. More... | |
void | UpdateNodeSize (uint32_t nodeId, double width, double height) |
Helper function to update the size of a node. More... | |
Static Public Member Functions | |
static bool | IsInitialized (void) |
Check if AnimationInterface is initialized. More... | |
static void | SetConstantPosition (Ptr< Node > n, double x, double y, double z=0) |
Helper function to set Constant Position for a given node. More... | |
static void | SetLinkDescription (uint32_t fromNode, uint32_t toNode, std::string linkDescription, std::string fromNodeDescription="", std::string toNodeDescription="") |
Helper function to set the description for a link. More... | |
static void | SetLinkDescription (Ptr< Node > fromNode, Ptr< Node > toNode, std::string linkDescription, std::string fromNodeDescription="", std::string toNodeDescription="") |
Helper function to set the description for a link. More... | |
static void | SetNodeColor (Ptr< Node > n, uint8_t r, uint8_t g, uint8_t b) |
Helper function to set the node color. More... | |
static void | SetNodeColor (NodeContainer nc, uint8_t r, uint8_t g, uint8_t b) |
Helper function to set the color of nodes in a container. More... | |
static void | SetNodeDescription (Ptr< Node > n, std::string descr) |
Helper function to set a brief description for a given node. More... | |
static void | SetNodeDescription (NodeContainer nc, std::string descr) |
Helper function to set a brief description for nodes in a Node Container. More... | |
Private Types | |
typedef std::map< uint32_t, double > | EnergyFractionMap |
typedef std::vector < Ipv4RoutePathElement > | Ipv4RoutePathElements |
Private Member Functions | |
void | AddPendingCsmaPacket (uint64_t AnimUid, AnimPacketInfo &) |
void | AddPendingLtePacket (uint64_t AnimUid, AnimPacketInfo &) |
void | AddPendingUanPacket (uint64_t AnimUid, AnimPacketInfo &) |
void | AddPendingWifiPacket (uint64_t AnimUid, AnimPacketInfo &) |
void | AddPendingWimaxPacket (uint64_t AnimUid, AnimPacketInfo &) |
void | AddToIpv4AddressNodeIdTable (std::string, uint32_t) |
void | AppendXMLNodeColor (std::ostream &ostream, const Rgb &color) const |
void | AppendXMLNodeDescription (std::ostream &ostream, uint32_t id) const |
void | AppendXMLRemainingEnergy (std::ostream &ostream, uint32_t id) const |
void | ConnectCallbacks () |
void | ConnectLte () |
void | ConnectLteEnb (Ptr< Node > n, Ptr< LteEnbNetDevice > nd, uint32_t devIndex) |
void | ConnectLteUe (Ptr< Node > n, Ptr< LteUeNetDevice > nd, uint32_t devIndex) |
std::string | CounterTypeToString (CounterType counterType) |
void | CsmaMacRxTrace (std::string context, Ptr< const Packet > p) |
bool | CsmaPacketIsPending (uint64_t AnimUid) |
void | CsmaPhyRxEndTrace (std::string context, Ptr< const Packet > p) |
void | CsmaPhyTxBeginTrace (std::string context, Ptr< const Packet > p) |
void | CsmaPhyTxEndTrace (std::string context, Ptr< const Packet > p) |
void | DevTxTrace (std::string context, Ptr< const Packet > p, Ptr< NetDevice > tx, Ptr< NetDevice > rx, Time txTime, Time rxTime) |
uint64_t | GetAnimUidFromPacket (Ptr< const Packet >) |
const std::vector< std::string > | GetElementsFromContext (const std::string &context) const |
std::string | GetIpv4Address (Ptr< NetDevice > nd) |
std::string | GetIpv4RoutingTable (Ptr< Node > n) |
std::string | GetMacAddress (Ptr< NetDevice > nd) |
std::string | GetNetAnimVersion () |
Ptr< NetDevice > | GetNetDeviceFromContext (std::string context) |
Ptr< Node > | GetNodeFromContext (const std::string &context) const |
std::string | GetPacketMetadata (Ptr< const Packet > p) |
Vector | GetPosition (Ptr< Node > n) |
std::string | GetPreamble (void) |
std::string | GetXMLClose (std::string name) |
std::string | GetXMLOpen_anim (uint32_t lp) |
std::string | GetXMLOpen_packet (uint32_t fromLp, uint32_t fromId, double fbTx, double lbTx, std::string auxInfo="") |
std::string | GetXMLOpen_topology (double minX, double minY, double maxX, double maxY) |
std::string | GetXMLOpen_wpacket (uint32_t fromLp, uint32_t fromId, double fbTx, double lbTx, double range) |
std::string | GetXMLOpenClose_link (uint32_t fromLp, uint32_t fromId, uint32_t toLp, uint32_t toId) |
std::string | GetXMLOpenClose_linkupdate (uint32_t fromId, uint32_t toId, std::string) |
std::string | GetXMLOpenClose_meta (std::string metaInfo) |
std::string | GetXMLOpenClose_node (uint32_t lp, uint32_t id, double locX, double locY) |
std::string | GetXMLOpenClose_node (uint32_t lp, uint32_t id, double locX, double locY, struct Rgb rgb) |
std::string | GetXMLOpenClose_nodeupdate (uint32_t id, bool visible=true) |
std::string | GetXMLOpenClose_NonP2pLinkProperties (uint32_t id, std::string ipv4Address, std::string channelType) |
std::string | GetXMLOpenClose_p (std::string pktType, uint32_t fId, double fbTx, double lbTx, uint32_t tId, double fbRx, double lbRx, std::string metaInfo="", std::string auxInfo="") |
std::string | GetXMLOpenClose_routing (uint32_t id, std::string routingInfo) |
std::string | GetXMLOpenClose_rp (uint32_t nodeId, std::string destination, Ipv4RoutePathElements rpElements) |
std::string | GetXMLOpenClose_rx (uint32_t toLp, uint32_t toId, double fbRx, double lbRx) |
std::string | GetXMLOpenCloseAddNodeCounter (uint32_t counterId, std::string counterName, CounterType counterType) |
std::string | GetXMLOpenCloseAddResource (uint32_t resourceId, std::string resourcePath) |
std::string | GetXMLOpenCloseUpdateBackground (std::string fileName, double x, double y, double scaleX, double scaleY, double opacity) |
std::string | GetXMLOpenCloseUpdateNodeColor (uint32_t nodeId, uint8_t r, uint8_t g, uint8_t b) |
std::string | GetXMLOpenCloseUpdateNodeCounter (uint32_t counterId, uint32_t nodeId, double value) |
std::string | GetXMLOpenCloseUpdateNodeDescription (uint32_t nodeId) |
std::string | GetXMLOpenCloseUpdateNodeImage (uint32_t nodeId, uint32_t resourceId) |
std::string | GetXMLOpenCloseUpdateNodePosition (uint32_t nodeId, double x, double y) |
std::string | GetXMLOpenCloseUpdateNodeSize (uint32_t nodeId, double width, double height) |
bool | IsInTimeWindow () |
bool | LtePacketIsPending (uint64_t AnimUid) |
void | LteRxTrace (std::string context, Ptr< const Packet > p, const Mac48Address &) |
void | LteSpectrumPhyRxStart (std::string context, Ptr< const PacketBurst > pb) |
void | LteSpectrumPhyTxStart (std::string context, Ptr< const PacketBurst > pb) |
void | LteTxTrace (std::string context, Ptr< const Packet > p, const Mac48Address &) |
void | MobilityAutoCheck () |
void | MobilityCourseChangeTrace (Ptr< const MobilityModel > mob) |
bool | NodeHasMoved (Ptr< Node > n, Vector newLocation) |
void | OutputCsmaPacket (Ptr< const Packet > p, AnimPacketInfo &pktInfo, AnimRxInfo pktrxInfo) |
void | OutputWirelessPacket (Ptr< const Packet > p, AnimPacketInfo &pktInfo, AnimRxInfo pktrxInfo) |
void | PurgePendingCsma () |
void | PurgePendingLte () |
void | PurgePendingWifi () |
void | PurgePendingWimax () |
void | RecalcTopoBounds (Vector v) |
std::vector< Ptr< Node > > | RecalcTopoBounds () |
void | RecursiveIpv4RoutePathSearch (std::string fromIpv4, std::string toIpv4, Ipv4RoutePathElements &) |
void | RemainingEnergyTrace (std::string context, double previousEnergy, double currentEnergy) |
bool | SetOutputFile (const std::string &fn) |
Specify that animation commands are to be written to the specified output file. More... | |
bool | SetRoutingOutputFile (const std::string &fn) |
void | SetXMLOutput () |
Specify that animation commands are to be written in XML format. More... | |
void | StartAnimation (bool restart=false) |
Writes the topology information and sets up the appropriate animation packet tx callback. More... | |
void | StartNewTraceFile () |
void | StopAnimation (bool onlyAnimation=false) |
Closes the interface to the animator. More... | |
void | TrackIpv4Route () |
void | TrackIpv4RoutePaths () |
bool | UanPacketIsPending (uint64_t AnimUid) |
void | UanPhyGenRxTrace (std::string context, Ptr< const Packet >) |
void | UanPhyGenTxTrace (std::string context, Ptr< const Packet >) |
Vector | UpdatePosition (Ptr< Node > n) |
Vector | UpdatePosition (Ptr< Node > n, Vector v) |
void | WifiMacRxTrace (std::string context, Ptr< const Packet > p) |
bool | WifiPacketIsPending (uint64_t AnimUid) |
void | WifiPhyRxBeginTrace (std::string context, Ptr< const Packet > p) |
void | WifiPhyRxDropTrace (std::string context, Ptr< const Packet > p) |
void | WifiPhyRxEndTrace (std::string context, Ptr< const Packet > p) |
void | WifiPhyTxBeginTrace (std::string context, Ptr< const Packet > p) |
void | WifiPhyTxDropTrace (std::string context, Ptr< const Packet > p) |
void | WifiPhyTxEndTrace (std::string context, Ptr< const Packet > p) |
bool | WimaxPacketIsPending (uint64_t AnimUid) |
void | WimaxRxTrace (std::string context, Ptr< const Packet > p, const Mac48Address &) |
void | WimaxTxTrace (std::string context, Ptr< const Packet > p, const Mac48Address &) |
void | WriteDummyPacket () |
int | WriteN (const char *, uint32_t, FILE *f) |
int | WriteN (const std::string &, FILE *f) |
void | WriteNodeUpdate (uint32_t nodeId) |
void | WriteNonP2pLinkProperties (uint32_t id, std::string ipv4Address, std::string channelType) |
void | WriteRoutePath (uint32_t nodeId, std::string destination, Ipv4RoutePathElements rpElements) |
Static Private Attributes | |
static std::map < P2pLinkNodeIdPair, LinkProperties, LinkPairCompare > | linkProperties |
static std::map< uint32_t, Rgb > | nodeColors |
static std::map< uint32_t, std::string > | nodeDescriptions |
Interface to network animator.
Provides functions that facilitate communications with an external or internal network animator.
Definition at line 108 of file animation-interface.h.
typedef void(* ns3::AnimationInterface::AnimWriteCallback)(const char *str) |
typedef for WriteCallBack used for listening to AnimationInterface write messages
Definition at line 217 of file animation-interface.h.
|
private |
Definition at line 688 of file animation-interface.h.
|
private |
Definition at line 678 of file animation-interface.h.
Counter Types.
Enumerator | |
---|---|
UINT32_COUNTER | |
DOUBLE_COUNTER |
Definition at line 129 of file animation-interface.h.
ns3::AnimationInterface::AnimationInterface | ( | const std::string | filename, |
bool | enable3105 = true , |
||
uint64_t | maxPktsPerFile = MAX_PKTS_PER_TRACE_FILE |
||
) |
Constructor.
filename | The Filename for the trace file used by the Animator |
enable3105 | Enables 3.105 behavior. This flag will be made obsolete after the transition period |
maxPktsPerFile | The maximum number of packets per trace file. AnimationInterface will create trace files with the following filenames : filename, filename-1, filename-2..., filename-N where each file contains packet info for 'maxPktPerFile' number of packets |
Definition at line 66 of file animation-interface.cc.
References ns3::initialized, m_uniformRandomVariable, and StartAnimation().
ns3::AnimationInterface::~AnimationInterface | ( | ) |
Destructor for the animator interface.
Definition at line 82 of file animation-interface.cc.
References StopAnimation().
uint32_t ns3::AnimationInterface::AddNodeCounter | ( | std::string | counterName, |
CounterType | counterType | ||
) |
Setup a node counter.
counterName | A string to identify the counter |
counterType | The type of the counter, such as uint32, double etc |
returns The id of the counter to be used as a reference for future
Definition at line 328 of file animation-interface.cc.
References GetXMLOpenCloseAddNodeCounter(), m_f, m_nodeCounters, and WriteN().
Referenced by main(), and StartAnimation().
|
private |
Definition at line 1085 of file animation-interface.cc.
References m_pendingCsmaPackets, ns3::AnimPacketInfo::m_txnd, and NS_ASSERT.
Referenced by CsmaPhyTxBeginTrace(), and CsmaPhyTxEndTrace().
|
private |
Definition at line 1079 of file animation-interface.cc.
References m_pendingLtePackets, ns3::AnimPacketInfo::m_txnd, and NS_ASSERT.
Referenced by LteSpectrumPhyTxStart(), and LteTxTrace().
|
private |
Definition at line 1062 of file animation-interface.cc.
References m_pendingUanPackets.
Referenced by UanPhyGenTxTrace().
|
private |
Definition at line 1068 of file animation-interface.cc.
References m_pendingWifiPackets.
Referenced by WifiPhyRxBeginTrace(), WifiPhyRxEndTrace(), and WifiPhyTxBeginTrace().
|
private |
Definition at line 1073 of file animation-interface.cc.
References m_pendingWimaxPackets, ns3::AnimPacketInfo::m_txnd, and NS_ASSERT.
Referenced by WimaxTxTrace().
uint32_t ns3::AnimationInterface::AddResource | ( | std::string | resourcePath | ) |
Add a resource such as the path to an image file.
resourcePath | Absolute Path to an image/resource |
returns a number identifying the resource
Definition at line 338 of file animation-interface.cc.
References GetXMLOpenCloseAddResource(), m_f, m_resources, and WriteN().
Referenced by main().
AnimationInterface & ns3::AnimationInterface::AddSourceDestination | ( | uint32_t | fromNodeId, |
std::string | destinationIpv4Address | ||
) |
Helper function to print the routing path from a source node to destination IP.
Definition at line 767 of file animation-interface.cc.
References m_ipv4RouteTrackElements.
|
private |
Definition at line 762 of file animation-interface.cc.
References m_ipv4ToNodeIdMap.
Referenced by StartAnimation().
|
private |
Definition at line 2361 of file animation-interface.cc.
References ns3::Rgb::b, ns3::Rgb::g, and ns3::Rgb::r.
Referenced by GetXMLOpenClose_node(), and GetXMLOpenClose_nodeupdate().
|
private |
Definition at line 2349 of file animation-interface.cc.
References nodeDescriptions.
Referenced by GetXMLOpenClose_node(), and GetXMLOpenClose_nodeupdate().
|
private |
Definition at line 2372 of file animation-interface.cc.
References ns3::NodeList::GetNode(), ns3::Object::GetObject(), and m_nodeEnergyFraction.
Referenced by GetXMLOpenClose_node(), and GetXMLOpenClose_nodeupdate().
int64_t ns3::AnimationInterface::AssignStreams | ( | int64_t | stream | ) |
Assign a fixed random variable stream number to the random variables used by this model.
Return the number of streams (possibly zero) that have been assigned.
stream | first stream index to use |
Definition at line 1688 of file animation-interface.cc.
References m_uniformRandomVariable, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().
|
private |
Definition at line 846 of file animation-interface.cc.
References ns3::Config::Connect(), ConnectLte(), ns3::Config::ConnectWithoutContext(), CsmaMacRxTrace(), CsmaPhyRxEndTrace(), CsmaPhyTxBeginTrace(), CsmaPhyTxEndTrace(), DevTxTrace(), LteRxTrace(), LteTxTrace(), ns3::MakeCallback(), MobilityCourseChangeTrace(), RemainingEnergyTrace(), UanPhyGenRxTrace(), UanPhyGenTxTrace(), WifiPhyRxBeginTrace(), WifiPhyTxBeginTrace(), WimaxRxTrace(), and WimaxTxTrace().
Referenced by StartAnimation().
|
private |
Definition at line 819 of file animation-interface.cc.
References ns3::NodeList::Begin(), ConnectLteEnb(), ConnectLteUe(), ns3::NodeList::End(), ns3::Node::GetDevice(), ns3::Node::GetNDevices(), and NS_ASSERT.
Referenced by ConnectCallbacks().
|
private |
Definition at line 775 of file animation-interface.cc.
References ns3::Node::GetId(), ns3::LteEnbNetDevice::GetPhy(), LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), and ns3::MakeCallback().
Referenced by ConnectLte().
|
private |
Definition at line 798 of file animation-interface.cc.
References ns3::Node::GetId(), LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), and ns3::MakeCallback().
Referenced by ConnectLte().
|
private |
Definition at line 1697 of file animation-interface.cc.
References DOUBLE_COUNTER, and UINT32_COUNTER.
Referenced by GetXMLOpenCloseAddNodeCounter().
Definition at line 1543 of file animation-interface.cc.
References CsmaPacketIsPending(), GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::AnimPacketInfo::GetRxInfo(), IsInTimeWindow(), ns3::AnimRxInfo::IsPhyRxComplete(), m_pendingCsmaPackets, m_started, m_trackPackets, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_WARN, and OutputCsmaPacket().
Referenced by ConnectCallbacks().
|
private |
Definition at line 429 of file animation-interface.cc.
References m_pendingCsmaPackets.
Referenced by CsmaMacRxTrace(), CsmaPhyRxEndTrace(), and CsmaPhyTxEndTrace().
|
private |
Definition at line 1515 of file animation-interface.cc.
References CsmaPacketIsPending(), GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::AnimPacketInfo::GetRxInfo(), IsInTimeWindow(), ns3::AnimRxInfo::IsPhyRxComplete(), m_pendingCsmaPackets, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, NS_LOG_WARN, OutputCsmaPacket(), ns3::AnimPacketInfo::ProcessRxEnd(), and UpdatePosition().
Referenced by ConnectCallbacks().
|
private |
Definition at line 1475 of file animation-interface.cc.
References ns3::Packet::AddByteTag(), AddPendingCsmaPacket(), gAnimUid, GetNetDeviceFromContext(), IsInTimeWindow(), m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, ns3::AnimByteTag::Set(), and UpdatePosition().
Referenced by ConnectCallbacks().
|
private |
Definition at line 1493 of file animation-interface.cc.
References AddPendingCsmaPacket(), CsmaPacketIsPending(), GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::Time::GetSeconds(), IsInTimeWindow(), ns3::AnimPacketInfo::m_lbTx, m_pendingCsmaPackets, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, NS_LOG_WARN, and UpdatePosition().
Referenced by ConnectCallbacks().
|
private |
Definition at line 1014 of file animation-interface.cc.
References GetPacketMetadata(), ns3::Time::GetSeconds(), GetXMLOpenClose_p(), IsInTimeWindow(), m_currentPktCount, m_enablePacketMetadata, m_f, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, StartNewTraceFile(), and WriteN().
Referenced by ConnectCallbacks().
AnimationInterface & ns3::AnimationInterface::EnableIpv4RouteTracking | ( | std::string | fileName, |
Time | startTime, | ||
Time | stopTime, | ||
Time | pollInterval = Seconds (5) |
||
) |
Enable tracking of the Ipv4 routing table for all Nodes.
fileName | Trace file for storing routing table information |
startTime | Start time for capture |
stopTime | End time for capture |
pollInterval | The periodic interval at which routing table information is polled Default: 5s |
Definition at line 92 of file animation-interface.cc.
References GetXMLOpen_anim(), m_routingF, m_routingFileName, m_routingPollInterval, m_routingStopTime, ns3::Simulator::Schedule(), SetRoutingOutputFile(), stopTime, TrackIpv4Route(), and WriteN().
Referenced by EnableIpv4RouteTracking(), and main().
AnimationInterface & ns3::AnimationInterface::EnableIpv4RouteTracking | ( | std::string | fileName, |
Time | startTime, | ||
Time | stopTime, | ||
NodeContainer | nc, | ||
Time | pollInterval = Seconds (5) |
||
) |
Enable tracking of the Ipv4 routing table for a set of Nodes.
fileName | Trace file for storing routing table information |
startTime | Start time for capture |
stopTime | End time for capture |
nc | A NodeContainer containing nodes for which Routing table has to be tracked |
pollInterval | The periodic interval at which routing table information is polled Default: 5s |
Definition at line 103 of file animation-interface.cc.
References EnableIpv4RouteTracking(), and m_routingNc.
void ns3::AnimationInterface::EnablePacketMetadata | ( | bool | enable = true | ) |
Enable Packet metadata.
enable | if true enables writing the packet metadata to the XML trace file if false disables writing the packet metadata |
Definition at line 382 of file animation-interface.cc.
References ns3::Packet::EnablePrinting(), and m_enablePacketMetadata.
Referenced by main().
Definition at line 1091 of file animation-interface.cc.
References ns3::AnimByteTag::Get(), ns3::Packet::GetByteTagIterator(), ns3::AnimByteTag::GetInstanceTypeId(), ns3::ByteTagIterator::Item::GetTag(), ns3::ByteTagIterator::Item::GetTypeId(), ns3::ByteTagIterator::HasNext(), and ns3::ByteTagIterator::Next().
Referenced by CsmaMacRxTrace(), CsmaPhyRxEndTrace(), CsmaPhyTxEndTrace(), LteRxTrace(), LteSpectrumPhyRxStart(), UanPhyGenRxTrace(), WifiMacRxTrace(), WifiPhyRxBeginTrace(), WifiPhyRxEndTrace(), WifiPhyTxDropTrace(), and WimaxRxTrace().
|
private |
Definition at line 2334 of file animation-interface.cc.
Referenced by GetNetDeviceFromContext(), and GetNodeFromContext().
Definition at line 612 of file animation-interface.cc.
References ns3::Ipv4InterfaceAddress::GetLocal(), ns3::NodeList::GetNode(), and NS_LOG_WARN.
Referenced by StartAnimation().
Definition at line 109 of file animation-interface.cc.
References ns3::Node::GetId(), ns3::Object::GetObject(), ns3::Ipv4::GetRoutingProtocol(), NS_ASSERT, and NS_LOG_WARN.
Referenced by TrackIpv4Route().
Definition at line 604 of file animation-interface.cc.
Referenced by StartAnimation().
|
private |
Definition at line 313 of file animation-interface.cc.
Referenced by GetXMLOpen_anim().
Definition at line 1050 of file animation-interface.cc.
References ns3::Node::GetDevice(), GetElementsFromContext(), and GetNodeFromContext().
Referenced by CsmaMacRxTrace(), CsmaPhyRxEndTrace(), CsmaPhyTxBeginTrace(), CsmaPhyTxEndTrace(), LteRxTrace(), LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), LteTxTrace(), UanPhyGenRxTrace(), UanPhyGenTxTrace(), WifiMacRxTrace(), WifiPhyRxBeginTrace(), WifiPhyRxEndTrace(), WifiPhyTxBeginTrace(), WifiPhyTxDropTrace(), WimaxRxTrace(), and WimaxTxTrace().
Get node's energy fraction (This used only for testing)
returns current node's remaining energy (between [0, 1])
Definition at line 1679 of file animation-interface.cc.
References m_nodeEnergyFraction, and NS_ASSERT.
Referenced by AnimationRemainingEnergyTestCase::CheckLogic().
|
private |
Definition at line 1037 of file animation-interface.cc.
References GetElementsFromContext(), ns3::NodeList::GetNode(), and NS_ASSERT.
Referenced by GetNetDeviceFromContext(), and RemainingEnergyTrace().
Definition at line 1667 of file animation-interface.cc.
References ns3::Packet::Print().
Referenced by DevTxTrace(), OutputCsmaPacket(), and OutputWirelessPacket().
Definition at line 485 of file animation-interface.cc.
References ns3::Node::GetId(), m_nodeLocation, and NS_FATAL_ERROR.
Referenced by MobilityAutoCheck(), MobilityCourseChangeTrace(), NodeHasMoved(), RecalcTopoBounds(), and StartAnimation().
|
private |
Definition at line 1717 of file animation-interface.cc.
References s.
uint64_t ns3::AnimationInterface::GetTracePktCount | ( | ) |
Get trace file packet count (This used only for testing)
returns Number of packets recorded in the current trace file
Definition at line 1674 of file animation-interface.cc.
References m_currentPktCount.
Referenced by AnimationInterfaceTestCase::CheckLogic().
|
inlineprivate |
Definition at line 743 of file animation-interface.h.
Referenced by StopAnimation().
|
private |
Definition at line 2018 of file animation-interface.cc.
References GetNetAnimVersion().
Referenced by EnableIpv4RouteTracking(), and StartAnimation().
|
private |
Definition at line 2116 of file animation-interface.cc.
|
private |
|
private |
Definition at line 2178 of file animation-interface.cc.
|
private |
Definition at line 2085 of file animation-interface.cc.
References ns3::LinkProperties::fromNodeDescription, ns3::LinkProperties::linkDescription, linkProperties, and ns3::LinkProperties::toNodeDescription.
Referenced by StartAnimation().
|
private |
Definition at line 2071 of file animation-interface.cc.
References ns3::Time::GetSeconds(), and ns3::Simulator::Now().
Referenced by UpdateLinkDescription().
|
private |
Definition at line 2201 of file animation-interface.cc.
|
private |
Definition at line 2044 of file animation-interface.cc.
References AppendXMLNodeDescription(), and AppendXMLRemainingEnergy().
Referenced by MobilityAutoCheck(), MobilityCourseChangeTrace(), and StartAnimation().
|
private |
Definition at line 2057 of file animation-interface.cc.
References AppendXMLNodeColor(), AppendXMLNodeDescription(), and AppendXMLRemainingEnergy().
|
private |
Definition at line 2025 of file animation-interface.cc.
References AppendXMLNodeColor(), AppendXMLNodeDescription(), AppendXMLRemainingEnergy(), ns3::Time::GetSeconds(), nodeColors, and ns3::Simulator::Now().
Referenced by UpdateNodeDescription(), and WriteNodeUpdate().
|
private |
Definition at line 2322 of file animation-interface.cc.
Referenced by WriteNonP2pLinkProperties().
|
private |
Definition at line 2155 of file animation-interface.cc.
Referenced by DevTxTrace(), OutputCsmaPacket(), OutputWirelessPacket(), and WriteDummyPacket().
|
private |
Definition at line 2127 of file animation-interface.cc.
References ns3::Time::GetSeconds(), and ns3::Simulator::Now().
Referenced by TrackIpv4Route().
|
private |
Definition at line 2137 of file animation-interface.cc.
References ns3::Time::GetSeconds(), ns3::Ipv4RoutePathElement::nextHop, ns3::Ipv4RoutePathElement::nodeId, and ns3::Simulator::Now().
Referenced by WriteRoutePath().
|
private |
Definition at line 2190 of file animation-interface.cc.
|
private |
Definition at line 2209 of file animation-interface.cc.
References CounterTypeToString().
Referenced by AddNodeCounter().
|
private |
Definition at line 2219 of file animation-interface.cc.
Referenced by AddResource().
|
private |
Definition at line 2308 of file animation-interface.cc.
Referenced by SetBackgroundImage().
|
private |
Definition at line 2264 of file animation-interface.cc.
References ns3::Time::GetSeconds(), and ns3::Simulator::Now().
Referenced by UpdateNodeColor().
|
private |
Definition at line 2297 of file animation-interface.cc.
References ns3::Time::GetSeconds(), and ns3::Simulator::Now().
Referenced by UpdateNodeCounter().
|
private |
Definition at line 2277 of file animation-interface.cc.
References ns3::Time::GetSeconds(), nodeDescriptions, and ns3::Simulator::Now().
Referenced by UpdateNodeDescription().
|
private |
Definition at line 2228 of file animation-interface.cc.
References ns3::Time::GetSeconds(), and ns3::Simulator::Now().
Referenced by UpdateNodeImage().
|
private |
Definition at line 2252 of file animation-interface.cc.
References ns3::Time::GetSeconds(), and ns3::Simulator::Now().
Referenced by MobilityAutoCheck(), and MobilityCourseChangeTrace().
|
private |
Definition at line 2239 of file animation-interface.cc.
References ns3::Time::GetSeconds(), and ns3::Simulator::Now().
Referenced by UpdateNodeSize().
|
static |
Check if AnimationInterface is initialized.
Definition at line 389 of file animation-interface.cc.
References ns3::initialized.
|
private |
Definition at line 410 of file animation-interface.cc.
References m_startTime, m_stopTime, and ns3::Simulator::Now().
Referenced by CsmaMacRxTrace(), CsmaPhyRxEndTrace(), CsmaPhyTxBeginTrace(), CsmaPhyTxEndTrace(), DevTxTrace(), LteRxTrace(), LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), LteTxTrace(), MobilityAutoCheck(), MobilityCourseChangeTrace(), RemainingEnergyTrace(), UanPhyGenRxTrace(), UanPhyGenTxTrace(), WifiMacRxTrace(), WifiPhyRxBeginTrace(), WifiPhyRxEndTrace(), WifiPhyTxBeginTrace(), WifiPhyTxDropTrace(), WimaxRxTrace(), and WimaxTxTrace().
bool ns3::AnimationInterface::IsStarted | ( | void | ) |
Is AnimationInterface started.
Definition at line 394 of file animation-interface.cc.
References m_started.
|
private |
Definition at line 440 of file animation-interface.cc.
References m_pendingLtePackets.
Referenced by LteRxTrace(), and LteSpectrumPhyRxStart().
|
private |
Definition at line 1383 of file animation-interface.cc.
References gAnimUid, GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::AnimPacketInfo::GetRxInfo(), IsInTimeWindow(), LtePacketIsPending(), m_pendingLtePackets, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacket(), ns3::AnimPacketInfo::ProcessRxBegin(), ns3::AnimPacketInfo::ProcessRxEnd(), and UpdatePosition().
Referenced by ConnectCallbacks().
|
private |
Definition at line 1438 of file animation-interface.cc.
References gAnimUid, GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::AnimPacketInfo::GetRxInfo(), IsInTimeWindow(), list, LtePacketIsPending(), m_pendingLtePackets, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacket(), ns3::AnimPacketInfo::ProcessRxBegin(), ns3::AnimPacketInfo::ProcessRxEnd(), and UpdatePosition().
Referenced by ConnectLteEnb(), and ConnectLteUe().
|
private |
Definition at line 1406 of file animation-interface.cc.
References ns3::Packet::AddByteTag(), AddPendingLtePacket(), gAnimUid, GetNetDeviceFromContext(), IsInTimeWindow(), list, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, NS_LOG_WARN, ns3::AnimByteTag::Set(), and UpdatePosition().
Referenced by ConnectLteEnb(), and ConnectLteUe().
|
private |
Definition at line 1364 of file animation-interface.cc.
References ns3::Packet::AddByteTag(), AddPendingLtePacket(), gAnimUid, GetNetDeviceFromContext(), IsInTimeWindow(), m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, ns3::AnimByteTag::Set(), and UpdatePosition().
Referenced by ConnectCallbacks().
|
private |
Definition at line 1616 of file animation-interface.cc.
References ns3::Node::GetId(), GetPosition(), GetXMLOpenClose_node(), GetXMLOpenCloseUpdateNodePosition(), ns3::Simulator::IsFinished(), IsInTimeWindow(), m_enable3105, m_f, m_mobilityPollInterval, m_started, NS_ASSERT, PurgePendingCsma(), PurgePendingLte(), PurgePendingWifi(), PurgePendingWimax(), RecalcTopoBounds(), ns3::Simulator::Schedule(), WriteDummyPacket(), WriteN(), ns3::Vector3D::x, and ns3::Vector3D::y.
Referenced by StartAnimation().
|
private |
Definition at line 1570 of file animation-interface.cc.
References ns3::Node::GetId(), GetPosition(), GetXMLOpenClose_node(), GetXMLOpenCloseUpdateNodePosition(), IsInTimeWindow(), m_enable3105, m_f, m_started, m_trackPackets, nodeColors, NS_ASSERT, RecalcTopoBounds(), UpdatePosition(), WriteDummyPacket(), WriteN(), ns3::Vector3D::x, and ns3::Vector3D::y.
Referenced by ConnectCallbacks().
Definition at line 1601 of file animation-interface.cc.
References GetPosition(), ns3::Vector3D::x, and ns3::Vector3D::y.
Referenced by RecalcTopoBounds().
|
private |
Definition at line 1793 of file animation-interface.cc.
References GetPacketMetadata(), GetXMLOpenClose_p(), m_enablePacketMetadata, m_f, ns3::AnimRxInfo::m_fbRx, ns3::AnimPacketInfo::m_fbTx, ns3::AnimRxInfo::m_lbRx, ns3::AnimPacketInfo::m_lbTx, ns3::AnimRxInfo::m_rxnd, ns3::AnimPacketInfo::m_txnd, NS_ASSERT, StartNewTraceFile(), and WriteN().
Referenced by CsmaMacRxTrace(), and CsmaPhyRxEndTrace().
|
private |
Definition at line 1775 of file animation-interface.cc.
References ns3::AnimPacketInfo::firstlastbitDelta, GetPacketMetadata(), GetXMLOpenClose_p(), m_enablePacketMetadata, m_f, ns3::AnimRxInfo::m_fbRx, ns3::AnimPacketInfo::m_fbTx, ns3::AnimRxInfo::m_lbRx, ns3::AnimRxInfo::m_rxnd, ns3::AnimPacketInfo::m_txnd, ns3::AnimPacketInfo::m_txNodeId, StartNewTraceFile(), and WriteN().
Referenced by LteRxTrace(), LteSpectrumPhyRxStart(), UanPhyGenRxTrace(), WifiMacRxTrace(), WifiPhyRxBeginTrace(), WifiPhyRxEndTrace(), and WimaxRxTrace().
|
private |
Definition at line 577 of file animation-interface.cc.
References ns3::Time::GetSeconds(), ns3::AnimPacketInfo::m_fbTx, m_pendingCsmaPackets, ns3::Simulator::Now(), and PURGE_INTERVAL.
Referenced by MobilityAutoCheck().
|
private |
Definition at line 551 of file animation-interface.cc.
References ns3::Time::GetSeconds(), ns3::AnimPacketInfo::m_fbTx, m_pendingLtePackets, ns3::Simulator::Now(), and PURGE_INTERVAL.
Referenced by MobilityAutoCheck().
|
private |
Definition at line 496 of file animation-interface.cc.
References ns3::Time::GetSeconds(), ns3::AnimPacketInfo::m_fbTx, m_pendingWifiPackets, ns3::Simulator::Now(), and PURGE_INTERVAL.
Referenced by MobilityAutoCheck().
|
private |
Definition at line 523 of file animation-interface.cc.
References ns3::Time::GetSeconds(), ns3::AnimPacketInfo::m_fbTx, m_pendingWimaxPackets, ns3::Simulator::Now(), and PURGE_INTERVAL.
Referenced by MobilityAutoCheck().
|
private |
Definition at line 948 of file animation-interface.cc.
References m_topoMaxX, m_topoMaxY, m_topoMinX, m_topoMinY, ns3::Vector3D::x, and ns3::Vector3D::y.
Definition at line 917 of file animation-interface.cc.
References ns3::NodeList::Begin(), ns3::NodeList::End(), ns3::Object::GetObject(), ns3::MobilityModel::GetPosition(), GetPosition(), NodeHasMoved(), NS_ASSERT, and UpdatePosition().
Referenced by MobilityAutoCheck(), and MobilityCourseChangeTrace().
|
private |
Definition at line 126 of file animation-interface.cc.
References ns3::Socket::ERROR_NOROUTETOHOST, ns3::Ipv4Route::GetGateway(), ns3::Node::GetId(), ns3::NodeList::GetNode(), ns3::Object::GetObject(), ns3::Ipv4::GetRoutingProtocol(), m_ipv4ToNodeIdMap, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_INFO, NS_LOG_WARN, and ns3::Ipv4Header::SetDestination().
Referenced by TrackIpv4RoutePaths().
|
private |
Definition at line 1156 of file animation-interface.cc.
References GetNodeFromContext(), IsInTimeWindow(), m_enable3105, m_nodeEnergyFraction, m_remainingEnergyCounterId, m_started, NS_ASSERT, NS_LOG_INFO, UpdateNodeCounter(), and WriteNodeUpdate().
Referenced by ConnectCallbacks().
void ns3::AnimationInterface::ResetAnimWriteCallback | ( | ) |
Reset the write callback function.
Definition at line 405 of file animation-interface.cc.
References m_writeCallback.
Referenced by StopAnimation().
void ns3::AnimationInterface::SetAnimWriteCallback | ( | AnimWriteCallback | cb | ) |
Set a callback function to listen to AnimationInterface write events.
cb | Address of callback function |
Definition at line 400 of file animation-interface.cc.
References m_writeCallback.
void ns3::AnimationInterface::SetBackgroundImage | ( | std::string | fileName, |
double | x, | ||
double | y, | ||
double | scaleX, | ||
double | scaleY, | ||
double | opacity | ||
) |
Helper function to set the background image.
fileName | File name of the background image |
x | X co-ordinate of the image |
y | Y co-ordinate of the image |
scaleX | X scale of the image |
scaleY | Y scale of the image |
opacity | Opacity of the background: A value between 0.0 and 1.0. 0.0 is transparent, 1.0 is opaque |
Definition at line 1832 of file animation-interface.cc.
References GetXMLOpenCloseUpdateBackground(), m_f, NS_FATAL_ERROR, and WriteN().
Referenced by main().
|
static |
Helper function to set Constant Position for a given node.
n | Ptr to the node |
x | X co-ordinate of the node |
y | Y co-ordinate of the node |
z | Z co-ordinate of the node |
Definition at line 1806 of file animation-interface.cc.
References ns3::Object::AggregateObject(), ns3::Node::GetId(), ns3::Object::GetObject(), NS_ASSERT, and NS_LOG_INFO.
Referenced by main().
|
static |
Helper function to set the description for a link.
fromNode | Node Id of the "from Node" of the p2p link |
toNode | Node Id of the "to Node" of the p2p link |
linkDescription | Description of the link such as link bandwidth |
fromNodeDescription | Description at the "from Node" end such as IP address |
toNodeDescription | Description at the "to Node" end such as Ip address |
Definition at line 1937 of file animation-interface.cc.
References ns3::P2pLinkNodeIdPair::fromNode, linkProperties, and ns3::P2pLinkNodeIdPair::toNode.
Referenced by SetLinkDescription(), and StartAnimation().
|
static |
Helper function to set the description for a link.
fromNode | Ptr to the "from Node" of the p2p link |
toNode | Ptr the "to Node" of the p2p link |
linkDescription | Description of the link such as link bandwidth |
fromNodeDescription | Description at the "from Node" end such as IP address |
toNodeDescription | Description at the "to Node" end such as Ip address |
Definition at line 1961 of file animation-interface.cc.
References ns3::Node::GetId(), NS_ASSERT, and SetLinkDescription().
void ns3::AnimationInterface::SetMobilityPollInterval | ( | Time | t | ) |
Set mobility poll interval:WARNING: setting a low interval can cause slowness.
t | Time interval between fetching mobility/position information Default: 0.25s |
Definition at line 445 of file animation-interface.cc.
References m_mobilityPollInterval.
|
static |
Helper function to set the node color.
n | Ptr to the node |
r | Red component value (0-255) |
g | Green component value (0-255) |
b | Blue component value (0-255) |
Definition at line 1844 of file animation-interface.cc.
References ns3::Node::GetId(), ns3::initialized, nodeColors, NS_ASSERT, NS_FATAL_ERROR, and NS_LOG_INFO.
Referenced by main(), and SetNodeColor().
|
static |
Helper function to set the color of nodes in a container.
nc | A Node Container of Nodes |
r | Red component value (0-255) |
g | Green component value (0-255) |
b | Blue component value (0-255) |
Definition at line 1908 of file animation-interface.cc.
References ns3::NodeContainer::Get(), ns3::NodeContainer::GetN(), NS_ASSERT, and SetNodeColor().
Helper function to set a brief description for a given node.
n | Ptr to the node |
descr | A string to briefly describe the node |
Definition at line 1972 of file animation-interface.cc.
References ns3::Node::GetId(), ns3::initialized, nodeDescriptions, NS_ASSERT, and NS_FATAL_ERROR.
Referenced by main().
|
static |
Helper function to set a brief description for nodes in a Node Container.
nc | NodeContainer containing the nodes |
descr | A string to briefly describe the nodes |
Definition at line 2003 of file animation-interface.cc.
References ns3::NodeContainer::Get(), ns3::Node::GetId(), ns3::NodeContainer::GetN(), ns3::initialized, nodeDescriptions, NS_ASSERT, and NS_FATAL_ERROR.
|
private |
Specify that animation commands are to be written to the specified output file.
This call is used to write the animation information to a text file that can later be used as input to the network animator tool.
fn | The name of the output file. |
Definition at line 348 of file animation-interface.cc.
References m_f, m_outputFileName, m_outputFileSet, NS_FATAL_ERROR, and NS_LOG_INFO.
Referenced by StartAnimation().
void ns3::AnimationInterface::SetRandomPosition | ( | bool | setRandPos | ) |
Set random position if a Mobility Model does not exists for the node.
setRandPos | True if a random position can be set for a node without a Mobililty model |
Definition at line 450 of file animation-interface.cc.
References m_randomPosition.
|
private |
Definition at line 366 of file animation-interface.cc.
References m_routingF, and NS_FATAL_ERROR.
Referenced by EnableIpv4RouteTracking().
void ns3::AnimationInterface::SetStartTime | ( | Time | t | ) |
Specify the time at which capture should start.
t | The time at which AnimationInterface should begin capture of traffic info |
Definition at line 318 of file animation-interface.cc.
References m_startTime.
void ns3::AnimationInterface::SetStopTime | ( | Time | t | ) |
Specify the time at which capture should stop.
t | The time at which AnimationInterface should stop capture of traffic info |
Definition at line 323 of file animation-interface.cc.
References m_stopTime.
|
private |
Specify that animation commands are to be written in XML format.
void ns3::AnimationInterface::ShowNode | ( | uint32_t | nodeId, |
bool | show = true |
||
) |
Helper function to show/hide a node.
nodeId | Id of the node |
show | Set to true to show node, set to false to hide |
Definition at line 1854 of file animation-interface.cc.
References ns3::NodeList::GetNode(), NS_ASSERT, NS_LOG_INFO, and WriteNodeUpdate().
Referenced by modify(), and ShowNode().
Helper function to show/hide a node.
n | Ptr to the node |
show | Set to true to show node, set to false to hide |
Definition at line 1861 of file animation-interface.cc.
References ShowNode().
void ns3::AnimationInterface::SkipPacketTracing | ( | ) |
Do not trace packets.
This helps reduce the trace file size if AnimationInterface is solely used for tracking mobility, routing paths and counters
Definition at line 87 of file animation-interface.cc.
References m_trackPackets.
|
private |
Writes the topology information and sets up the appropriate animation packet tx callback.
Writes the topology information to the appropriate output, depending on prior calls to SetOutputFile, SetServerPort, or SetInternalAnimation. Then creates the callbacks needed for the animator to start processing packets.
restart | True when restarting animation |
Definition at line 632 of file animation-interface.cc.
References AddNodeCounter(), AddToIpv4AddressNodeIdTable(), ns3::NodeList::Begin(), ConnectCallbacks(), DOUBLE_COUNTER, ns3::NodeList::End(), ns3::Node::GetDevice(), ns3::Node::GetId(), GetIpv4Address(), GetMacAddress(), ns3::Node::GetNDevices(), ns3::NodeList::GetNNodes(), ns3::NodeList::GetNode(), GetPosition(), GetXMLOpen_anim(), GetXMLOpenClose_link(), GetXMLOpenClose_node(), ns3::NodeSize::height, linkProperties, m_currentPktCount, m_enable3105, m_f, m_mobilityPollInterval, m_nodeSizes, m_outputFileName, m_remainingEnergyCounterId, m_started, m_topoMaxX, m_topoMaxY, m_topoMinX, m_topoMinY, MobilityAutoCheck(), nodeColors, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_INFO, s, ns3::Simulator::Schedule(), SetLinkDescription(), SetOutputFile(), UpdateNodeCounter(), UpdateNodeSize(), UpdatePosition(), ns3::NodeSize::width, WriteN(), WriteNonP2pLinkProperties(), ns3::Vector3D::x, and ns3::Vector3D::y.
Referenced by AnimationInterface(), and StartNewTraceFile().
|
private |
Definition at line 296 of file animation-interface.cc.
References m_currentPktCount, m_maxPktsPerFile, m_originalFileName, m_outputFileName, StartAnimation(), and StopAnimation().
Referenced by DevTxTrace(), OutputCsmaPacket(), and OutputWirelessPacket().
|
private |
Closes the interface to the animator.
Definition at line 885 of file animation-interface.cc.
References GetXMLClose(), m_f, m_outputFileSet, m_routingF, m_started, NS_LOG_INFO, ResetAnimWriteCallback(), and WriteN().
Referenced by StartNewTraceFile(), and ~AnimationInterface().
|
private |
Definition at line 268 of file animation-interface.cc.
References ns3::NodeList::Begin(), ns3::NodeContainer::Begin(), ns3::NodeList::End(), ns3::NodeContainer::End(), ns3::Node::GetId(), GetIpv4RoutingTable(), ns3::NodeContainer::GetN(), GetXMLOpenClose_routing(), m_routingF, m_routingNc, m_routingPollInterval, m_routingStopTime, ns3::Simulator::Now(), NS_LOG_INFO, ns3::Simulator::Schedule(), TrackIpv4RoutePaths(), and WriteN().
Referenced by EnableIpv4RouteTracking().
|
private |
Definition at line 195 of file animation-interface.cc.
References ns3::Ipv4RouteTrackElement::destination, ns3::Ipv4RouteTrackElement::fromNodeId, ns3::Ipv4Route::GetGateway(), ns3::NodeList::GetNode(), ns3::Object::GetObject(), ns3::Ipv4::GetRoutingProtocol(), m_ipv4RouteTrackElements, m_ipv4ToNodeIdMap, NS_FATAL_ERROR, NS_LOG_INFO, NS_LOG_WARN, RecursiveIpv4RoutePathSearch(), ns3::Ipv4Header::SetDestination(), and WriteRoutePath().
Referenced by TrackIpv4Route().
|
private |
Definition at line 419 of file animation-interface.cc.
References m_pendingUanPackets.
Referenced by UanPhyGenRxTrace().
|
private |
Definition at line 1135 of file animation-interface.cc.
References GetAnimUidFromPacket(), GetNetDeviceFromContext(), IsInTimeWindow(), m_pendingUanPackets, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacket(), UanPacketIsPending(), and UpdatePosition().
Referenced by ConnectCallbacks().
|
private |
Definition at line 1116 of file animation-interface.cc.
References ns3::Packet::AddByteTag(), AddPendingUanPacket(), gAnimUid, GetNetDeviceFromContext(), IsInTimeWindow(), m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, ns3::AnimByteTag::Set(), and UpdatePosition().
Referenced by ConnectCallbacks().
void ns3::AnimationInterface::UpdateLinkDescription | ( | uint32_t | fromNode, |
uint32_t | toNode, | ||
std::string | linkDescription | ||
) |
Helper function to update the description for a link.
fromNode | Node Id of the "from Node" of the p2p link |
toNode | Node Id of the "to Node" of the p2p link |
linkDescription | Description of the link such as link bandwidth |
Definition at line 1919 of file animation-interface.cc.
References GetXMLOpenClose_linkupdate(), m_f, and WriteN().
Referenced by modify().
void ns3::AnimationInterface::UpdateLinkDescription | ( | Ptr< Node > | fromNode, |
Ptr< Node > | toNode, | ||
std::string | linkDescription | ||
) |
Helper function to update the description for a link.
fromNode | Ptr to the "from Node" of the p2p link |
toNode | Ptr to the "to Node" of the p2p link |
linkDescription | Description of the link such as link bandwidth |
Definition at line 1927 of file animation-interface.cc.
References ns3::Node::GetId(), GetXMLOpenClose_linkupdate(), m_f, NS_ASSERT, and WriteN().
Helper function to update the node color.
n | Ptr to the node |
r | Red component value (0-255) |
g | Green component value (0-255) |
b | Blue component value (0-255) |
Definition at line 1883 of file animation-interface.cc.
References ns3::Node::GetId().
Referenced by modify().
void ns3::AnimationInterface::UpdateNodeColor | ( | uint32_t | nodeId, |
uint8_t | r, | ||
uint8_t | g, | ||
uint8_t | b | ||
) |
Helper function to update the node color.
nodeId | Id of the node |
r | Red component value (0-255) |
g | Green component value (0-255) |
b | Blue component value (0-255) |
Definition at line 1888 of file animation-interface.cc.
References ns3::NodeList::GetNode(), GetXMLOpenCloseUpdateNodeColor(), m_enable3105, m_f, nodeColors, NS_ASSERT, NS_LOG_INFO, WriteN(), and WriteNodeUpdate().
void ns3::AnimationInterface::UpdateNodeCounter | ( | uint32_t | nodeCounterId, |
uint32_t | nodeId, | ||
double | counter | ||
) |
Helper function to update a node's counter referenced by the nodeCounterId.
nodeCounterId | The counter Id obtained from AddNodeCounter |
nodeId | Node Id of the node |
counter | Current value of the counter |
Definition at line 1821 of file animation-interface.cc.
References GetXMLOpenCloseUpdateNodeCounter(), m_f, m_nodeCounters, NS_FATAL_ERROR, and WriteN().
Referenced by modify(), RemainingEnergyTrace(), and StartAnimation().
Helper function to update the description for a given node.
n | Ptr to the node |
descr | A string to briefly describe the node |
Definition at line 1980 of file animation-interface.cc.
References ns3::Node::GetId().
Referenced by modify().
void ns3::AnimationInterface::UpdateNodeDescription | ( | uint32_t | nodeId, |
std::string | descr | ||
) |
Helper function to update the description for a given node.
nodeId | Id of the node |
descr | A string to briefly describe the node |
Definition at line 1985 of file animation-interface.cc.
References ns3::NodeList::GetNode(), GetXMLOpenClose_nodeupdate(), GetXMLOpenCloseUpdateNodeDescription(), m_enable3105, m_f, nodeDescriptions, NS_ASSERT, and WriteN().
void ns3::AnimationInterface::UpdateNodeImage | ( | uint32_t | nodeId, |
uint32_t | resourceId | ||
) |
Helper function to update the image of a node.
nodeId | Id of the node |
resourceId | Id of the image resource that was previously added |
Definition at line 1654 of file animation-interface.cc.
References GetXMLOpenCloseUpdateNodeImage(), m_f, m_resources, NS_FATAL_ERROR, NS_LOG_INFO, and WriteN().
Referenced by modify().
void ns3::AnimationInterface::UpdateNodeSize | ( | uint32_t | nodeId, |
double | width, | ||
double | height | ||
) |
Helper function to update the size of a node.
nodeId | Id of the node |
width | Width of the node |
height | Height of the node |
Definition at line 1873 of file animation-interface.cc.
References GetXMLOpenCloseUpdateNodeSize(), ns3::NodeSize::height, m_f, m_nodeSizes, s, ns3::NodeSize::width, and WriteN().
Referenced by modify(), and StartAnimation().
Definition at line 455 of file animation-interface.cc.
References ns3::Node::GetId(), ns3::Object::GetObject(), ns3::MobilityModel::GetPosition(), ns3::UniformRandomVariable::GetValue(), m_nodeLocation, m_randomPosition, m_topoMaxX, m_topoMaxY, m_topoMinX, m_topoMinY, m_uniformRandomVariable, and NS_LOG_UNCOND.
Referenced by CsmaPhyRxEndTrace(), CsmaPhyTxBeginTrace(), CsmaPhyTxEndTrace(), LteRxTrace(), LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), LteTxTrace(), MobilityCourseChangeTrace(), RecalcTopoBounds(), StartAnimation(), UanPhyGenRxTrace(), UanPhyGenTxTrace(), WifiPhyRxBeginTrace(), WifiPhyRxEndTrace(), WifiPhyTxBeginTrace(), WimaxRxTrace(), and WimaxTxTrace().
Definition at line 479 of file animation-interface.cc.
References ns3::Node::GetId(), and m_nodeLocation.
Definition at line 1296 of file animation-interface.cc.
References GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::AnimPacketInfo::GetRxInfo(), IsInTimeWindow(), ns3::AnimRxInfo::IsPhyRxComplete(), m_pendingWifiPackets, m_started, m_trackPackets, NS_ASSERT, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacket(), and WifiPacketIsPending().
|
private |
Definition at line 424 of file animation-interface.cc.
References m_pendingWifiPackets.
Referenced by WifiMacRxTrace(), WifiPhyRxBeginTrace(), WifiPhyRxEndTrace(), and WifiPhyTxDropTrace().
|
private |
Definition at line 1230 of file animation-interface.cc.
References AddPendingWifiPacket(), ns3::WifiMacHeader::GetAddr2(), GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::NodeList::GetNode(), IsInTimeWindow(), m_macToNodeIdMap, m_pendingWifiPackets, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacket(), ns3::Packet::PeekHeader(), UpdatePosition(), and WifiPacketIsPending().
Referenced by ConnectCallbacks().
|
private |
Definition at line 1321 of file animation-interface.cc.
|
private |
Definition at line 1269 of file animation-interface.cc.
References AddPendingWifiPacket(), GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::AnimPacketInfo::GetRxInfo(), IsInTimeWindow(), ns3::AnimRxInfo::IsPhyRxComplete(), m_pendingWifiPackets, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacket(), ns3::AnimPacketInfo::ProcessRxEnd(), UpdatePosition(), and WifiPacketIsPending().
|
private |
Definition at line 1185 of file animation-interface.cc.
References ns3::Packet::AddByteTag(), AddPendingWifiPacket(), gAnimUid, ns3::Node::GetId(), GetNetDeviceFromContext(), IsInTimeWindow(), m_macToNodeIdMap, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, ns3::AnimByteTag::Set(), and UpdatePosition().
Referenced by ConnectCallbacks().
|
private |
Definition at line 1215 of file animation-interface.cc.
References GetAnimUidFromPacket(), GetNetDeviceFromContext(), IsInTimeWindow(), m_pendingWifiPackets, m_started, m_trackPackets, NS_ASSERT, NS_LOG_INFO, and WifiPacketIsPending().
|
private |
Definition at line 1210 of file animation-interface.cc.
|
private |
Definition at line 435 of file animation-interface.cc.
References m_pendingWimaxPackets.
Referenced by WimaxRxTrace().
|
private |
Definition at line 1345 of file animation-interface.cc.
References GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::AnimPacketInfo::GetRxInfo(), IsInTimeWindow(), m_pendingWimaxPackets, m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, OutputWirelessPacket(), ns3::AnimPacketInfo::ProcessRxBegin(), ns3::AnimPacketInfo::ProcessRxEnd(), UpdatePosition(), and WimaxPacketIsPending().
Referenced by ConnectCallbacks().
|
private |
Definition at line 1326 of file animation-interface.cc.
References ns3::Packet::AddByteTag(), AddPendingWimaxPacket(), gAnimUid, GetNetDeviceFromContext(), IsInTimeWindow(), m_started, m_trackPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_INFO, ns3::AnimByteTag::Set(), and UpdatePosition().
Referenced by ConnectCallbacks().
|
private |
Definition at line 977 of file animation-interface.cc.
References ns3::Time::GetSeconds(), GetXMLOpenClose_p(), m_f, ns3::Simulator::Now(), and WriteN().
Referenced by MobilityAutoCheck(), and MobilityCourseChangeTrace().
|
private |
Definition at line 957 of file animation-interface.cc.
References data.
Referenced by AddNodeCounter(), AddResource(), DevTxTrace(), EnableIpv4RouteTracking(), MobilityAutoCheck(), MobilityCourseChangeTrace(), OutputCsmaPacket(), OutputWirelessPacket(), SetBackgroundImage(), StartAnimation(), StopAnimation(), TrackIpv4Route(), UpdateLinkDescription(), UpdateNodeColor(), UpdateNodeCounter(), UpdateNodeDescription(), UpdateNodeImage(), UpdateNodeSize(), WriteDummyPacket(), WriteN(), WriteNodeUpdate(), WriteNonP2pLinkProperties(), and WriteRoutePath().
|
private |
Definition at line 908 of file animation-interface.cc.
References m_writeCallback, and WriteN().
|
private |
Definition at line 1866 of file animation-interface.cc.
References GetXMLOpenClose_nodeupdate(), m_f, and WriteN().
Referenced by RemainingEnergyTrace(), ShowNode(), and UpdateNodeColor().
|
private |
Definition at line 1007 of file animation-interface.cc.
References GetXMLOpenClose_NonP2pLinkProperties(), m_f, and WriteN().
Referenced by StartAnimation().
|
private |
Definition at line 991 of file animation-interface.cc.
References GetXMLOpenClose_rp(), m_routingF, NS_LOG_INFO, and WriteN().
Referenced by TrackIpv4RoutePaths().
|
private |
Definition at line 505 of file animation-interface.h.
Referenced by CsmaPhyTxBeginTrace(), LteRxTrace(), LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), LteTxTrace(), UanPhyGenTxTrace(), WifiPhyTxBeginTrace(), and WimaxTxTrace().
|
staticprivate |
Definition at line 692 of file animation-interface.h.
Referenced by GetXMLOpenClose_link(), SetLinkDescription(), and StartAnimation().
|
private |
Definition at line 694 of file animation-interface.h.
Referenced by DevTxTrace(), GetTracePktCount(), StartAnimation(), and StartNewTraceFile().
|
private |
Definition at line 718 of file animation-interface.h.
Referenced by MobilityAutoCheck(), MobilityCourseChangeTrace(), RemainingEnergyTrace(), StartAnimation(), UpdateNodeColor(), and UpdateNodeDescription().
|
private |
Definition at line 509 of file animation-interface.h.
Referenced by DevTxTrace(), EnablePacketMetadata(), OutputCsmaPacket(), and OutputWirelessPacket().
|
private |
Definition at line 498 of file animation-interface.h.
Referenced by AddNodeCounter(), AddResource(), DevTxTrace(), MobilityAutoCheck(), MobilityCourseChangeTrace(), OutputCsmaPacket(), OutputWirelessPacket(), SetBackgroundImage(), SetOutputFile(), StartAnimation(), StopAnimation(), UpdateLinkDescription(), UpdateNodeColor(), UpdateNodeCounter(), UpdateNodeDescription(), UpdateNodeImage(), UpdateNodeSize(), WriteDummyPacket(), WriteNodeUpdate(), and WriteNonP2pLinkProperties().
|
private |
Definition at line 677 of file animation-interface.h.
Referenced by AddSourceDestination(), and TrackIpv4RoutePaths().
|
private |
Definition at line 675 of file animation-interface.h.
Referenced by AddToIpv4AddressNodeIdTable(), RecursiveIpv4RoutePathSearch(), and TrackIpv4RoutePaths().
|
private |
Definition at line 674 of file animation-interface.h.
Referenced by WifiPhyRxBeginTrace(), and WifiPhyTxBeginTrace().
|
private |
Definition at line 512 of file animation-interface.h.
Referenced by StartNewTraceFile().
|
private |
Definition at line 502 of file animation-interface.h.
Referenced by MobilityAutoCheck(), SetMobilityPollInterval(), and StartAnimation().
|
private |
Definition at line 698 of file animation-interface.h.
Referenced by AddNodeCounter(), and UpdateNodeCounter().
|
private |
Definition at line 693 of file animation-interface.h.
Referenced by AppendXMLRemainingEnergy(), GetNodeEnergyFraction(), and RemainingEnergyTrace().
|
private |
Definition at line 652 of file animation-interface.h.
Referenced by GetPosition(), and UpdatePosition().
|
private |
Definition at line 696 of file animation-interface.h.
Referenced by StartAnimation(), and UpdateNodeSize().
|
private |
Definition at line 513 of file animation-interface.h.
Referenced by StartNewTraceFile().
|
private |
Definition at line 503 of file animation-interface.h.
Referenced by SetOutputFile(), StartAnimation(), and StartNewTraceFile().
|
private |
Definition at line 504 of file animation-interface.h.
Referenced by SetOutputFile(), and StopAnimation().
|
private |
Definition at line 642 of file animation-interface.h.
Referenced by AddPendingCsmaPacket(), CsmaMacRxTrace(), CsmaPacketIsPending(), CsmaPhyRxEndTrace(), CsmaPhyTxEndTrace(), and PurgePendingCsma().
|
private |
Definition at line 638 of file animation-interface.h.
Referenced by AddPendingLtePacket(), LtePacketIsPending(), LteRxTrace(), LteSpectrumPhyRxStart(), and PurgePendingLte().
|
private |
Definition at line 646 of file animation-interface.h.
Referenced by AddPendingUanPacket(), UanPacketIsPending(), and UanPhyGenRxTrace().
|
private |
Definition at line 630 of file animation-interface.h.
Referenced by AddPendingWifiPacket(), PurgePendingWifi(), WifiMacRxTrace(), WifiPacketIsPending(), WifiPhyRxBeginTrace(), WifiPhyRxEndTrace(), and WifiPhyTxDropTrace().
|
private |
Definition at line 634 of file animation-interface.h.
Referenced by AddPendingWimaxPacket(), PurgePendingWimax(), WimaxPacketIsPending(), and WimaxRxTrace().
|
private |
Definition at line 506 of file animation-interface.h.
Referenced by SetRandomPosition(), and UpdatePosition().
|
private |
Definition at line 720 of file animation-interface.h.
Referenced by RemainingEnergyTrace(), and StartAnimation().
|
private |
Definition at line 697 of file animation-interface.h.
Referenced by AddResource(), and UpdateNodeImage().
|
private |
Definition at line 499 of file animation-interface.h.
Referenced by EnableIpv4RouteTracking(), SetRoutingOutputFile(), StopAnimation(), TrackIpv4Route(), and WriteRoutePath().
|
private |
Definition at line 515 of file animation-interface.h.
Referenced by EnableIpv4RouteTracking().
|
private |
Definition at line 517 of file animation-interface.h.
Referenced by EnableIpv4RouteTracking(), and TrackIpv4Route().
|
private |
Definition at line 516 of file animation-interface.h.
Referenced by EnableIpv4RouteTracking(), and TrackIpv4Route().
|
private |
Definition at line 514 of file animation-interface.h.
Referenced by EnableIpv4RouteTracking(), and TrackIpv4Route().
|
private |
Definition at line 508 of file animation-interface.h.
Referenced by CsmaMacRxTrace(), CsmaPhyRxEndTrace(), CsmaPhyTxBeginTrace(), CsmaPhyTxEndTrace(), DevTxTrace(), IsStarted(), LteRxTrace(), LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), LteTxTrace(), MobilityAutoCheck(), MobilityCourseChangeTrace(), RemainingEnergyTrace(), StartAnimation(), StopAnimation(), UanPhyGenRxTrace(), UanPhyGenTxTrace(), WifiMacRxTrace(), WifiPhyRxBeginTrace(), WifiPhyRxEndTrace(), WifiPhyTxBeginTrace(), WifiPhyTxDropTrace(), WimaxRxTrace(), and WimaxTxTrace().
|
private |
Definition at line 510 of file animation-interface.h.
Referenced by IsInTimeWindow(), and SetStartTime().
|
private |
Definition at line 511 of file animation-interface.h.
Referenced by IsInTimeWindow(), and SetStopTime().
|
private |
Definition at line 715 of file animation-interface.h.
Referenced by RecalcTopoBounds(), StartAnimation(), and UpdatePosition().
|
private |
Definition at line 716 of file animation-interface.h.
Referenced by RecalcTopoBounds(), StartAnimation(), and UpdatePosition().
|
private |
Definition at line 713 of file animation-interface.h.
Referenced by RecalcTopoBounds(), StartAnimation(), and UpdatePosition().
|
private |
Definition at line 714 of file animation-interface.h.
Referenced by RecalcTopoBounds(), StartAnimation(), and UpdatePosition().
|
private |
Definition at line 719 of file animation-interface.h.
Referenced by CsmaMacRxTrace(), CsmaPhyRxEndTrace(), CsmaPhyTxBeginTrace(), CsmaPhyTxEndTrace(), DevTxTrace(), LteRxTrace(), LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), LteTxTrace(), MobilityCourseChangeTrace(), SkipPacketTracing(), UanPhyGenRxTrace(), UanPhyGenTxTrace(), WifiMacRxTrace(), WifiPhyRxBeginTrace(), WifiPhyRxEndTrace(), WifiPhyTxBeginTrace(), WifiPhyTxDropTrace(), WimaxRxTrace(), and WimaxTxTrace().
|
private |
Provides uniform random variables.
Definition at line 755 of file animation-interface.h.
Referenced by AnimationInterface(), AssignStreams(), and UpdatePosition().
|
private |
Definition at line 507 of file animation-interface.h.
Referenced by ResetAnimWriteCallback(), SetAnimWriteCallback(), and WriteN().
|
staticprivate |
Definition at line 690 of file animation-interface.h.
Referenced by GetXMLOpenClose_nodeupdate(), MobilityCourseChangeTrace(), SetNodeColor(), StartAnimation(), and UpdateNodeColor().
|
staticprivate |
Definition at line 691 of file animation-interface.h.
Referenced by AppendXMLNodeDescription(), GetXMLOpenCloseUpdateNodeDescription(), SetNodeDescription(), and UpdateNodeDescription().