A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::AnimationInterface Class Reference

Interface to network animator. More...

#include "animation-interface.h"

+ Collaboration diagram for ns3::AnimationInterface:

Classes

class  AnimPacketInfo
 AnimPacketInfo class. More...
 
class  AnimXmlElement
 AnimXmlElement class. More...
 
struct  Ipv4RoutePathElement
 Ipv4RoutePathElement structure IPv4 route path element. More...
 
struct  Ipv4RouteTrackElement
 Ipv4RouteTrackElement structure IPv4 route track element. More...
 
struct  LinkPairCompare
 LinkPairCompare structure. More...
 
struct  LinkProperties
 LinkProperties structure link properties. More...
 
struct  NodeSize
 NodeSize structure node size. More...
 
struct  P2pLinkNodeIdPair
 P2pLinkNodeIdPair structure P2P link node id pair. More...
 
struct  Rgb
 RGB structure RGB structure. More...
 

Public Types

typedef void(* AnimWriteCallback) (const char *str)
 typedef for WriteCallBack used for listening to AnimationInterface write messages
 
enum  CounterType { UINT32_COUNTER , DOUBLE_COUNTER }
 Counter Types. More...
 

Public Member Functions

 AnimationInterface (const std::string filename)
 Constructor.
 
 ~AnimationInterface ()
 Destructor for the animator interface.
 
uint32_t AddNodeCounter (std::string counterName, CounterType counterType)
 Setup a node counter.
 
uint32_t AddResource (std::string resourcePath)
 Add a resource such as the path to an image file.
 
AnimationInterfaceAddSourceDestination (uint32_t fromNodeId, std::string destinationIpv4Address)
 Helper function to print the routing path from a source node to destination IP.
 
void EnableIpv4L3ProtocolCounters (Time startTime, Time stopTime, Time pollInterval=Seconds(1))
 Enable tracking of Ipv4 L3 Protocol Counters such as Tx, Rx, Drop.
 
AnimationInterfaceEnableIpv4RouteTracking (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.
 
AnimationInterfaceEnableIpv4RouteTracking (std::string fileName, Time startTime, Time stopTime, Time pollInterval=Seconds(5))
 Enable tracking of the Ipv4 routing table for all Nodes.
 
void EnablePacketMetadata (bool enable=true)
 Enable Packet metadata.
 
void EnableQueueCounters (Time startTime, Time stopTime, Time pollInterval=Seconds(1))
 Enable tracking of Queue Counters such as Enqueue, Dequeue, Queue Drops.
 
void EnableWifiMacCounters (Time startTime, Time stopTime, Time pollInterval=Seconds(1))
 Enable tracking of Wifi Mac Counters such as Tx, TxDrop, Rx, RxDrop.
 
void EnableWifiPhyCounters (Time startTime, Time stopTime, Time pollInterval=Seconds(1))
 Enable tracking of Wifi Phy Counters such as TxDrop, RxDrop.
 
double GetNodeEnergyFraction (Ptr< const Node > node) const
 Get node's energy fraction (This used only for testing)
 
uint64_t GetTracePktCount () const
 Get trace file packet count (This used only for testing)
 
bool IsStarted () const
 Is AnimationInterface started.
 
void ResetAnimWriteCallback ()
 Reset the write callback function.
 
void SetAnimWriteCallback (AnimWriteCallback cb)
 Set a callback function to listen to AnimationInterface write events.
 
void SetBackgroundImage (std::string fileName, double x, double y, double scaleX, double scaleY, double opacity)
 Helper function to set the background image.
 
void SetMaxPktsPerTraceFile (uint64_t maxPktsPerFile)
 Set Max packets per trace file.
 
void SetMobilityPollInterval (Time t)
 Set mobility poll interval:WARNING: setting a low interval can cause slowness.
 
void SetStartTime (Time t)
 Specify the time at which capture should start.
 
void SetStopTime (Time t)
 Specify the time at which capture should stop.
 
void SkipPacketTracing ()
 Do not trace packets.
 
void UpdateLinkDescription (Ptr< Node > fromNode, Ptr< Node > toNode, std::string linkDescription)
 Helper function to update the description for a link.
 
void UpdateLinkDescription (uint32_t fromNode, uint32_t toNode, std::string linkDescription)
 Helper function to update the description for a link.
 
void UpdateNodeColor (Ptr< Node > n, uint8_t r, uint8_t g, uint8_t b)
 Helper function to update the node color.
 
void UpdateNodeColor (uint32_t nodeId, uint8_t r, uint8_t g, uint8_t b)
 Helper function to update the node color.
 
void UpdateNodeCounter (uint32_t nodeCounterId, uint32_t nodeId, double counter)
 Helper function to update a node's counter referenced by the nodeCounterId.
 
void UpdateNodeDescription (Ptr< Node > n, std::string descr)
 Helper function to update the description for a given node.
 
void UpdateNodeDescription (uint32_t nodeId, std::string descr)
 Helper function to update the description for a given node.
 
void UpdateNodeImage (uint32_t nodeId, uint32_t resourceId)
 Helper function to update the image of a node.
 
void UpdateNodeSize (Ptr< Node > n, double width, double height)
 Helper function to update the size of a node.
 
void UpdateNodeSize (uint32_t nodeId, double width, double height)
 Helper function to update the size of a node.
 

Static Public Member Functions

static bool IsInitialized ()
 Check if AnimationInterface is initialized.
 
static void SetConstantPosition (Ptr< Node > n, double x, double y, double z=0)
 Helper function to set Constant Position for a given node.
 

Private Types

typedef std::map< uint64_t, AnimPacketInfoAnimUidPacketInfoMap
 AnimUidPacketInfoMap typedef.
 
typedef std::map< uint32_t, doubleEnergyFractionMap
 EnergyFractionMap typedef.
 
typedef std::vector< Ipv4RoutePathElementIpv4RoutePathElements
 Ipv4RoutePathElements typedef.
 
typedef std::map< P2pLinkNodeIdPair, LinkProperties, LinkPairCompareLinkPropertiesMap
 LinkPropertiesMap typedef.
 
typedef std::map< uint32_t, RgbNodeColorsMap
 NodeColorsMap typedef.
 
typedef std::map< uint32_t, uint64_t > NodeCounterMap64
 NodeCounterMap64 typedef.
 
typedef std::map< uint32_t, std::string > NodeDescriptionsMap
 NodeDescriptionsMap typedef.
 
typedef std::multimap< uint32_t, std::string > NodeIdIpv4Map
 NodeIdIpv4Map typedef.
 
typedef std::pair< uint32_t, std::string > NodeIdIpv4Pair
 NodeIdIpv4Pair typedef.
 
typedef std::multimap< uint32_t, std::string > NodeIdIpv6Map
 NodeIdIpv6Map typedef.
 
typedef std::pair< uint32_t, std::string > NodeIdIpv6Pair
 NodeIdIpv6Pair typedef.
 
enum  ProtocolType {
  UAN , LTE , WIFI , WIMAX ,
  CSMA , LRWPAN
}
 ProtocolType enumeration. More...
 

Private Member Functions

void AddByteTag (uint64_t animUid, Ptr< const Packet > p)
 Add byte tag function.
 
void AddPendingPacket (ProtocolType protocolType, uint64_t animUid, AnimPacketInfo pktInfo)
 Add pending packet function.
 
void AddToIpv4AddressNodeIdTable (std::string ipv4Address, uint32_t nodeId)
 Add to IPv4 address node ID table function.
 
void AddToIpv4AddressNodeIdTable (std::vector< std::string > ipv4Addresses, uint32_t nodeId)
 Add to IPv4 address node ID table function.
 
void AddToIpv6AddressNodeIdTable (std::string ipv6Address, uint32_t nodeId)
 Add to IPv6 address node ID table function.
 
void AddToIpv6AddressNodeIdTable (std::vector< std::string > ipv6Addresses, uint32_t nodeId)
 Add to IPv6 address node ID table function.
 
void CheckMaxPktsPerTraceFile ()
 Check maximum packets per trace file function.
 
void ConnectCallbacks ()
 Connect callbacks function.
 
void ConnectLte ()
 Connect LTE function.
 
void ConnectLteEnb (Ptr< Node > n, Ptr< LteEnbNetDevice > nd, uint32_t devIndex)
 Connect LTE ENB function.
 
void ConnectLteUe (Ptr< Node > n, Ptr< LteUeNetDevice > nd, uint32_t devIndex)
 Connect LTE ue function.
 
std::string CounterTypeToString (CounterType counterType)
 Counter type to string function.
 
void CsmaMacRxTrace (std::string context, Ptr< const Packet > p)
 CSMA MAC receive trace function.
 
void CsmaPhyRxEndTrace (std::string context, Ptr< const Packet > p)
 CSMA Phy receive end trace function.
 
void CsmaPhyTxBeginTrace (std::string context, Ptr< const Packet > p)
 CSMA Phy transmit begin trace function.
 
void CsmaPhyTxEndTrace (std::string context, Ptr< const Packet > p)
 CSMA Phy transmit end trace function.
 
void DequeueTrace (std::string context, Ptr< const Packet >)
 Dequeue trace function.
 
void DevTxTrace (std::string context, Ptr< const Packet > p, Ptr< NetDevice > tx, Ptr< NetDevice > rx, Time txTime, Time rxTime)
 Device transmit trace function.
 
void EnqueueTrace (std::string context, Ptr< const Packet >)
 Enqueue trace function.
 
void GenericWirelessRxTrace (std::string context, Ptr< const Packet > p, ProtocolType protocolType)
 Generic wireless receive trace function.
 
void GenericWirelessTxTrace (std::string context, Ptr< const Packet > p, ProtocolType protocolType)
 Generic wireless transmit trace function.
 
uint64_t GetAnimUidFromPacket (Ptr< const Packet >)
 Get anim UID from packet function.
 
const std::vector< std::string > GetElementsFromContext (const std::string &context) const
 Get elements from context.
 
std::string GetIpv4Address (Ptr< NetDevice > nd)
 Get IPv4 address.
 
std::vector< std::string > GetIpv4Addresses (Ptr< NetDevice > nd)
 Get IPv4 addresses.
 
std::string GetIpv4RoutingTable (Ptr< Node > n)
 Get IPv4 routing table function.
 
std::string GetIpv6Address (Ptr< NetDevice > nd)
 Get IPv6 address.
 
std::vector< std::string > GetIpv6Addresses (Ptr< NetDevice > nd)
 Get IPv6 addresses.
 
std::string GetMacAddress (Ptr< NetDevice > nd)
 Get MAC address function.
 
std::vector< Ptr< Node > > GetMovedNodes ()
 Get moved nodes function.
 
std::string GetNetAnimVersion ()
 Get netanim version function.
 
Ptr< NetDeviceGetNetDeviceFromContext (std::string context)
 Get net device from context.
 
Ptr< NodeGetNodeFromContext (const std::string &context) const
 Get node from context.
 
std::string GetPacketMetadata (Ptr< const Packet > p)
 Get packet metadata function.
 
Vector GetPosition (Ptr< Node > n)
 Get position function.
 
void Ipv4DropTrace (std::string context, const Ipv4Header &ipv4Header, Ptr< const Packet > p, Ipv4L3Protocol::DropReason dropReason, Ptr< Ipv4 > ipv4, uint32_t interfaceIndex)
 IPv4 drop trace function.
 
void Ipv4RxTrace (std::string context, Ptr< const Packet > p, Ptr< Ipv4 > ipv4, uint32_t interfaceIndex)
 IPv4 receive trace function.
 
void Ipv4TxTrace (std::string context, Ptr< const Packet > p, Ptr< Ipv4 > ipv4, uint32_t interfaceIndex)
 IPv4 transmit trace function.
 
bool IsInTimeWindow ()
 Is in time window function.
 
bool IsPacketPending (uint64_t animUid, ProtocolType protocolType)
 Is packet pending function.
 
void LrWpanMacRxDropTrace (std::string context, Ptr< const Packet > p)
 LR-WPAN MAC receive drop trace function.
 
void LrWpanMacRxTrace (std::string context, Ptr< const Packet > p)
 LR-WPAN MAC receive trace function.
 
void LrWpanMacTxDropTrace (std::string context, Ptr< const Packet > p)
 LR-WPAN MAC transmit drop trace function.
 
void LrWpanMacTxTrace (std::string context, Ptr< const Packet > p)
 LR-WPAN MAC transmit trace function.
 
void LrWpanPhyRxBeginTrace (std::string context, Ptr< const Packet > p)
 LR-WPAN Phy receive begin trace function.
 
void LrWpanPhyTxBeginTrace (std::string context, Ptr< const Packet > p)
 LR-WPAN Phy receive begin trace function.
 
void LteRxTrace (std::string context, Ptr< const Packet > p, const Mac48Address &m)
 LTE receive trace function.
 
void LteSpectrumPhyRxStart (std::string context, Ptr< const PacketBurst > pb)
 LTE Spectrum Phy receive start function.
 
void LteSpectrumPhyTxStart (std::string context, Ptr< const PacketBurst > pb)
 LTE Spectrum Phy transmit start function.
 
void LteTxTrace (std::string context, Ptr< const Packet > p, const Mac48Address &m)
 LTE transmit trace function.
 
void MobilityAutoCheck ()
 Mobility auto check function.
 
void MobilityCourseChangeTrace (Ptr< const MobilityModel > mob)
 Mobility course change trace function.
 
bool NodeHasMoved (Ptr< Node > n, Vector newLocation)
 Node has moved function.
 
void OutputCsmaPacket (Ptr< const Packet > p, AnimPacketInfo &pktInfo)
 Output CSMA packet function.
 
void OutputWirelessPacketRxInfo (Ptr< const Packet > p, AnimPacketInfo &pktInfo, uint64_t animUid)
 Output wireless packet receive info.
 
void OutputWirelessPacketTxInfo (Ptr< const Packet > p, AnimPacketInfo &pktInfo, uint64_t animUid)
 Output wireless packet transmit info.
 
AnimUidPacketInfoMapProtocolTypeToPendingPackets (ProtocolType protocolType)
 Protocol type to pending packets function.
 
std::string ProtocolTypeToString (ProtocolType protocolType)
 Protocol type to string function.
 
void PurgePendingPackets (ProtocolType protocolType)
 Purge pending packets function.
 
void QueueDropTrace (std::string context, Ptr< const Packet >)
 Queue trace function.
 
void RecursiveIpv4RoutePathSearch (std::string from, std::string to, Ipv4RoutePathElements &rpElements)
 Recursive IPv4 route path search function.
 
void RemainingEnergyTrace (std::string context, double previousEnergy, double currentEnergy)
 Remaining energy trace function.
 
void SetOutputFile (const std::string &fn, bool routing=false)
 Set output file function.
 
void StartAnimation (bool restart=false)
 Start animation function.
 
void StopAnimation (bool onlyAnimation=false)
 Stop animation function.
 
void TrackIpv4L3ProtocolCounters ()
 Track IPv4 L3 protocol counters function.
 
void TrackIpv4Route ()
 Track IPv4 router function.
 
void TrackIpv4RoutePaths ()
 Track IPv4 route paths function.
 
void TrackQueueCounters ()
 Track queue counters function.
 
void TrackWifiMacCounters ()
 Track wifi MAC counters function.
 
void TrackWifiPhyCounters ()
 Track wifi phy counters function.
 
void UanPhyGenRxTrace (std::string context, Ptr< const Packet >)
 UAN Phy gen receive trace function.
 
void UanPhyGenTxTrace (std::string context, Ptr< const Packet >)
 UAN Phy gen transmit trace function.
 
Vector UpdatePosition (Ptr< NetDevice > ndev)
 Update position function.
 
Vector UpdatePosition (Ptr< Node > n)
 Update position function.
 
Vector UpdatePosition (Ptr< Node > n, Vector v)
 Update position function.
 
void WifiMacRxDropTrace (std::string context, Ptr< const Packet > p)
 wifi MAC receive drop trace function
 
void WifiMacRxTrace (std::string context, Ptr< const Packet > p)
 wifi MAC receive trace function
 
void WifiMacTxDropTrace (std::string context, Ptr< const Packet > p)
 wifi MAC transmit drop trace function
 
void WifiMacTxTrace (std::string context, Ptr< const Packet > p)
 wifi MAC transmit trace function
 
void WifiPhyRxBeginTrace (std::string context, Ptr< const Packet > p, RxPowerWattPerChannelBand rxPowersW)
 wifi Phy receive begin trace function
 
void WifiPhyRxDropTrace (std::string context, Ptr< const Packet > p, WifiPhyRxfailureReason reason)
 wifi Phy receive drop trace function
 
void WifiPhyTxBeginTrace (std::string context, WifiConstPsduMap psduMap, WifiTxVector txVector, double txPowerW)
 wifi Phy transmit PSDU begin trace function
 
void WifiPhyTxDropTrace (std::string context, Ptr< const Packet > p)
 wifi Phy transmit drop trace function
 
void WimaxRxTrace (std::string context, Ptr< const Packet > p, const Mac48Address &m)
 WIMax receive trace function.
 
void WimaxTxTrace (std::string context, Ptr< const Packet > p, const Mac48Address &m)
 WIMax transmit trace function.
 
void WriteIpv4Addresses ()
 Write IPv4 Addresses function.
 
void WriteIpv6Addresses ()
 Write IPv6 Addresses function.
 
void WriteLinkProperties ()
 Write link properties function.
 
int WriteN (const char *data, uint32_t count, FILE *f)
 WriteN function.
 
int WriteN (const std::string &st, FILE *f)
 WriteN function.
 
void WriteNodeColors ()
 Write node colors function.
 
void WriteNodeEnergies ()
 Write node energies function.
 
void WriteNodes ()
 Write nodes function.
 
void WriteNodeSizes ()
 Write node sizes function.
 
void WriteNodeUpdate (uint32_t nodeId)
 Write node update function.
 
void WriteNonP2pLinkProperties (uint32_t id, std::string ipv4Address, std::string channelType)
 Write non P2P link properties function.
 
void WriteRoutePath (uint32_t nodeId, std::string destination, Ipv4RoutePathElements rpElements)
 Write route path function.
 
void WriteXmlAddNodeCounter (uint32_t counterId, std::string counterName, CounterType counterType)
 Write XML add node counter function.
 
void WriteXmlAddResource (uint32_t resourceId, std::string resourcePath)
 Write XML add resource function.
 
void WriteXmlAnim (bool routing=false)
 Write XML anim function.
 
void WriteXmlClose (std::string name, bool routing=false)
 Write XML close function.
 
void WriteXmlIpv4Addresses (uint32_t nodeId, std::vector< std::string > ipv4Addresses)
 Write XML Ipv4 addresses function.
 
void WriteXmlIpv6Addresses (uint32_t nodeId, std::vector< std::string > ipv6Addresses)
 Write XML Ipv6 addresses function.
 
void WriteXmlLink (uint32_t fromId, uint32_t toLp, uint32_t toId)
 Write XML link counter function.
 
void WriteXmlNode (uint32_t id, uint32_t sysId, double locX, double locY)
 Write XML node function.
 
void WriteXmlNonP2pLinkProperties (uint32_t id, std::string ipAddress, std::string channelType)
 Write XML non P2P link properties function.
 
void WriteXmlP (std::string pktType, uint32_t fId, double fbTx, double lbTx, uint32_t tId, double fbRx, double lbRx, std::string metaInfo="")
 Write XMLP function.
 
void WriteXmlP (uint64_t animUid, std::string pktType, uint32_t fId, double fbTx, double lbTx)
 Write XMLP function.
 
void WriteXmlPRef (uint64_t animUid, uint32_t fId, double fbTx, std::string metaInfo="")
 Write XMLP Ref function.
 
void WriteXmlRouting (uint32_t id, std::string routingInfo)
 Write XML routing function.
 
void WriteXmlRp (uint32_t nodeId, std::string destination, Ipv4RoutePathElements rpElements)
 Write XMLRP function.
 
void WriteXmlUpdateBackground (std::string fileName, double x, double y, double scaleX, double scaleY, double opacity)
 Write XML update background function.
 
void WriteXmlUpdateLink (uint32_t fromId, uint32_t toId, std::string linkDescription)
 Write XML update link counter function.
 
void WriteXmlUpdateNodeColor (uint32_t nodeId, uint8_t r, uint8_t g, uint8_t b)
 Write XML update node color function.
 
void WriteXmlUpdateNodeCounter (uint32_t counterId, uint32_t nodeId, double value)
 Write XML update node counter function.
 
void WriteXmlUpdateNodeDescription (uint32_t nodeId)
 Write XML update node description function.
 
void WriteXmlUpdateNodeImage (uint32_t nodeId, uint32_t resourceId)
 Write XML update node image function.
 
void WriteXmlUpdateNodePosition (uint32_t nodeId, double x, double y)
 Write XML update node position function.
 
void WriteXmlUpdateNodeSize (uint32_t nodeId, double width, double height)
 Write XML update node size function.
 

Private Attributes

uint64_t gAnimUid
 Packet unique identifier used by AnimationInterface.
 
uint64_t m_currentPktCount
 current packet count
 
bool m_enablePacketMetadata
 enable packet metadata
 
FILE * m_f
 File handle for output (0 if none)
 
Time m_ipv4L3ProtocolCountersPollInterval
 IPv4 L3 protocol counters poll interval.
 
Time m_ipv4L3ProtocolCountersStopTime
 IPv4 L3 protocol counters stop time.
 
uint32_t m_ipv4L3ProtocolDropCounterId
 IPv4 protocol drop counter ID.
 
uint32_t m_ipv4L3ProtocolRxCounterId
 IPv4 L3 protocol receive counter ID.
 
uint32_t m_ipv4L3ProtocolTxCounterId
 IPv4 L3 protocol transmit counter ID.
 
std::vector< Ipv4RouteTrackElementm_ipv4RouteTrackElements
 IPv route track elements.
 
std::map< std::string, uint32_tm_ipv4ToNodeIdMap
 IPv4 to node ID map.
 
std::map< std::string, uint32_tm_ipv6ToNodeIdMap
 IPv6 to node ID map.
 
LinkPropertiesMap m_linkProperties
 link properties
 
std::map< std::string, uint32_tm_macToNodeIdMap
 MAC to node ID map.
 
uint64_t m_maxPktsPerFile
 maximum packets per file
 
Time m_mobilityPollInterval
 mobility poll interval
 
NodeColorsMap m_nodeColors
 node colors
 
std::vector< std::string > m_nodeCounters
 node counters
 
NodeDescriptionsMap m_nodeDescriptions
 node description
 
EnergyFractionMap m_nodeEnergyFraction
 node energy fraction
 
NodeIdIpv4Map m_nodeIdIpv4Map
 node ID to IPv4 map
 
NodeIdIpv6Map m_nodeIdIpv6Map
 node ID to IPv6 map
 
NodeCounterMap64 m_nodeIpv4Drop
 node IPv4 drop
 
NodeCounterMap64 m_nodeIpv4Rx
 node IPv4 receive
 
NodeCounterMap64 m_nodeIpv4Tx
 node IPv4 transmit
 
std::map< uint32_t, Vector > m_nodeLocation
 node location
 
NodeCounterMap64 m_nodeLrWpanMacRx
 node LR-WPAN MAC receive
 
NodeCounterMap64 m_nodeLrWpanMacRxDrop
 node LR-WPAN MAC receive drop
 
NodeCounterMap64 m_nodeLrWpanMacTx
 node LR-WPAN MAC transmit
 
NodeCounterMap64 m_nodeLrWpanMacTxDrop
 node LR-WPAN MAC transmit drop
 
NodeCounterMap64 m_nodeQueueDequeue
 node queue dequeue
 
NodeCounterMap64 m_nodeQueueDrop
 node queue drop
 
NodeCounterMap64 m_nodeQueueEnqueue
 node queue enqueue
 
std::map< uint32_t, NodeSizem_nodeSizes
 node sizes
 
NodeCounterMap64 m_nodeWifiMacRx
 node wifi MAC receive
 
NodeCounterMap64 m_nodeWifiMacRxDrop
 node wifi MAC receive drop
 
NodeCounterMap64 m_nodeWifiMacTx
 node wifi MAC transmit
 
NodeCounterMap64 m_nodeWifiMacTxDrop
 node wifi MAC transmit drop
 
NodeCounterMap64 m_nodeWifiPhyRxDrop
 node wifi Phy receive drop
 
NodeCounterMap64 m_nodeWifiPhyTxDrop
 node wifi Phy transmit drop
 
std::string m_originalFileName
 original file name
 
std::string m_outputFileName
 output file name
 
AnimUidPacketInfoMap m_pendingCsmaPackets
 pending CSMA packets
 
AnimUidPacketInfoMap m_pendingLrWpanPackets
 pending LR-WPAN packets
 
AnimUidPacketInfoMap m_pendingLtePackets
 pending LTE packets
 
AnimUidPacketInfoMap m_pendingUanPackets
 pending UAN packets
 
AnimUidPacketInfoMap m_pendingWifiPackets
 pending wifi packets
 
AnimUidPacketInfoMap m_pendingWimaxPackets
 pending wimax packets
 
Time m_queueCountersPollInterval
 queue counters poll interval
 
Time m_queueCountersStopTime
 queue counters stop time
 
uint32_t m_queueDequeueCounterId
 queue dequeue counter ID
 
uint32_t m_queueDropCounterId
 queue drop counter ID
 
uint32_t m_queueEnqueueCounterId
 queue enqueue counter ID
 
uint32_t m_remainingEnergyCounterId
 remaining energy counter ID
 
std::vector< std::string > m_resources
 resources
 
FILE * m_routingF
 File handle for routing table output (0 if None);.
 
std::string m_routingFileName
 routing file name
 
NodeContainer m_routingNc
 routing node container
 
Time m_routingPollInterval
 routing poll interval
 
Time m_routingStopTime
 routing stop time
 
bool m_started
 started
 
Time m_startTime
 start time
 
Time m_stopTime
 stop time
 
bool m_trackPackets
 track packets
 
Time m_wifiMacCountersPollInterval
 wifi MAC counters poll interval
 
Time m_wifiMacCountersStopTime
 wifi MAC counters stop time
 
uint32_t m_wifiMacRxCounterId
 wifi MAC receive counter ID
 
uint32_t m_wifiMacRxDropCounterId
 wifi MAC receive drop counter ID
 
uint32_t m_wifiMacTxCounterId
 wifi MAC transmit counter ID
 
uint32_t m_wifiMacTxDropCounterId
 wifi MAC transmit drop counter ID
 
Time m_wifiPhyCountersPollInterval
 wifi Phy counters poll interval
 
Time m_wifiPhyCountersStopTime
 wifi Phy counters stop time
 
uint32_t m_wifiPhyRxDropCounterId
 wifi Phy receive drop counter ID
 
uint32_t m_wifiPhyTxDropCounterId
 wifi Phy transmit drop counter ID
 
AnimWriteCallback m_writeCallback
 write callback
 

Static Private Attributes

static RectangleuserBoundary
 user boundary
 

Detailed Description

Interface to network animator.

Provides functions that facilitate communications with an external or internal network animator.

Definition at line 87 of file animation-interface.h.

Member Typedef Documentation

◆ AnimUidPacketInfoMap

AnimUidPacketInfoMap typedef.

Definition at line 562 of file animation-interface.h.

◆ AnimWriteCallback

typedef void(* ns3::AnimationInterface::AnimWriteCallback) (const char *str)

typedef for WriteCallBack used for listening to AnimationInterface write messages

Definition at line 111 of file animation-interface.h.

◆ EnergyFractionMap

EnergyFractionMap typedef.

Definition at line 563 of file animation-interface.h.

◆ Ipv4RoutePathElements

Ipv4RoutePathElements typedef.

Definition at line 565 of file animation-interface.h.

◆ LinkPropertiesMap

LinkPropertiesMap typedef.

Definition at line 558 of file animation-interface.h.

◆ NodeColorsMap

NodeColorsMap typedef.

Definition at line 560 of file animation-interface.h.

◆ NodeCounterMap64

typedef std::map<uint32_t, uint64_t> ns3::AnimationInterface::NodeCounterMap64
private

NodeCounterMap64 typedef.

Definition at line 572 of file animation-interface.h.

◆ NodeDescriptionsMap

typedef std::map<uint32_t, std::string> ns3::AnimationInterface::NodeDescriptionsMap
private

NodeDescriptionsMap typedef.

Definition at line 559 of file animation-interface.h.

◆ NodeIdIpv4Map

typedef std::multimap<uint32_t, std::string> ns3::AnimationInterface::NodeIdIpv4Map
private

NodeIdIpv4Map typedef.

Definition at line 566 of file animation-interface.h.

◆ NodeIdIpv4Pair

typedef std::pair<uint32_t, std::string> ns3::AnimationInterface::NodeIdIpv4Pair
private

NodeIdIpv4Pair typedef.

Definition at line 568 of file animation-interface.h.

◆ NodeIdIpv6Map

typedef std::multimap<uint32_t, std::string> ns3::AnimationInterface::NodeIdIpv6Map
private

NodeIdIpv6Map typedef.

Definition at line 567 of file animation-interface.h.

◆ NodeIdIpv6Pair

typedef std::pair<uint32_t, std::string> ns3::AnimationInterface::NodeIdIpv6Pair
private

NodeIdIpv6Pair typedef.

Definition at line 569 of file animation-interface.h.

Member Enumeration Documentation

◆ CounterType

Counter Types.

Enumerator
UINT32_COUNTER 
DOUBLE_COUNTER 

Definition at line 100 of file animation-interface.h.

◆ ProtocolType

ProtocolType enumeration.

Enumerator
UAN 
LTE 
WIFI 
WIMAX 
CSMA 
LRWPAN 

Definition at line 540 of file animation-interface.h.

Constructor & Destructor Documentation

◆ AnimationInterface()

ns3::AnimationInterface::AnimationInterface ( const std::string  filename)

Constructor.

Parameters
filenameThe Filename for the trace file used by the Animator

Definition at line 76 of file animation-interface.cc.

References ns3::initialized, and StartAnimation().

+ Here is the call graph for this function:

◆ ~AnimationInterface()

ns3::AnimationInterface::~AnimationInterface ( )

Destructor for the animator interface.

Definition at line 120 of file animation-interface.cc.

References StopAnimation().

+ Here is the call graph for this function:

Member Function Documentation

◆ AddByteTag()

void ns3::AnimationInterface::AddByteTag ( uint64_t  animUid,
Ptr< const Packet p 
)
private

Add byte tag function.

Parameters
animUidthe UID
pthe packet

Definition at line 665 of file animation-interface.cc.

References ns3::AnimByteTag::Set().

Referenced by CsmaPhyTxBeginTrace(), GenericWirelessTxTrace(), LrWpanPhyTxBeginTrace(), LteSpectrumPhyTxStart(), and WifiPhyTxBeginTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddNodeCounter()

uint32_t ns3::AnimationInterface::AddNodeCounter ( std::string  counterName,
CounterType  counterType 
)

Setup a node counter.

Parameters
counterNameA string to identify the counter
counterTypeThe 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 267 of file animation-interface.cc.

References m_nodeCounters, and WriteXmlAddNodeCounter().

Referenced by EnableIpv4L3ProtocolCounters(), EnableQueueCounters(), EnableWifiMacCounters(), EnableWifiPhyCounters(), and WriteNodeEnergies().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddPendingPacket()

void ns3::AnimationInterface::AddPendingPacket ( ProtocolType  protocolType,
uint64_t  animUid,
AnimPacketInfo  pktInfo 
)
private

Add pending packet function.

Parameters
protocolTypethe protocol type
animUidthe UID
pktInfothe packet info

Definition at line 1300 of file animation-interface.cc.

References NS_ASSERT, and ProtocolTypeToPendingPackets().

Referenced by CsmaPhyTxBeginTrace(), CsmaPhyTxEndTrace(), GenericWirelessTxTrace(), LrWpanPhyTxBeginTrace(), LteSpectrumPhyTxStart(), WifiPhyRxBeginTrace(), and WifiPhyTxBeginTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddResource()

uint32_t ns3::AnimationInterface::AddResource ( std::string  resourcePath)

Add a resource such as the path to an image file.

Parameters
resourcePathAbsolute Path to an image/resource
Returns
a number identifying the resource

Definition at line 276 of file animation-interface.cc.

References m_resources, and WriteXmlAddResource().

+ Here is the call graph for this function:

◆ AddSourceDestination()

AnimationInterface & ns3::AnimationInterface::AddSourceDestination ( uint32_t  fromNodeId,
std::string  destinationIpv4Address 
)

Helper function to print the routing path from a source node to destination IP.

Parameters
fromNodeIdThe source node
destinationIpv4AddressThe destination Ipv4 Address
Returns
reference to this AnimationInterface object

Definition at line 241 of file animation-interface.cc.

References m_ipv4RouteTrackElements.

◆ AddToIpv4AddressNodeIdTable() [1/2]

void ns3::AnimationInterface::AddToIpv4AddressNodeIdTable ( std::string  ipv4Address,
uint32_t  nodeId 
)
private

Add to IPv4 address node ID table function.

Parameters
ipv4Addressthe IPv4 address
nodeIdthe node ID

Definition at line 1493 of file animation-interface.cc.

References m_ipv4ToNodeIdMap, and m_nodeIdIpv4Map.

Referenced by AddToIpv4AddressNodeIdTable(), and WriteLinkProperties().

+ Here is the caller graph for this function:

◆ AddToIpv4AddressNodeIdTable() [2/2]

void ns3::AnimationInterface::AddToIpv4AddressNodeIdTable ( std::vector< std::string >  ipv4Addresses,
uint32_t  nodeId 
)
private

Add to IPv4 address node ID table function.

Parameters
ipv4Addressesthe list of IPv4 addresses
nodeIdthe node ID

Definition at line 1500 of file animation-interface.cc.

References AddToIpv4AddressNodeIdTable().

+ Here is the call graph for this function:

◆ AddToIpv6AddressNodeIdTable() [1/2]

void ns3::AnimationInterface::AddToIpv6AddressNodeIdTable ( std::string  ipv6Address,
uint32_t  nodeId 
)
private

Add to IPv6 address node ID table function.

Parameters
ipv6Addressthe IPv6 address
nodeIdthe node ID

Definition at line 1510 of file animation-interface.cc.

References m_ipv6ToNodeIdMap, and m_nodeIdIpv6Map.

Referenced by AddToIpv6AddressNodeIdTable(), and WriteLinkProperties().

+ Here is the caller graph for this function:

◆ AddToIpv6AddressNodeIdTable() [2/2]

void ns3::AnimationInterface::AddToIpv6AddressNodeIdTable ( std::vector< std::string >  ipv6Addresses,
uint32_t  nodeId 
)
private

Add to IPv6 address node ID table function.

Parameters
ipv6Addressesthe list of IPv6 addresses
nodeIdthe node ID

Definition at line 1517 of file animation-interface.cc.

References AddToIpv6AddressNodeIdTable().

+ Here is the call graph for this function:

◆ CheckMaxPktsPerTraceFile()

void ns3::AnimationInterface::CheckMaxPktsPerTraceFile ( )
private

Check maximum packets per trace file function.

Definition at line 2113 of file animation-interface.cc.

References m_currentPktCount, m_maxPktsPerFile, NS_LOG_UNCOND, and StopAnimation().

Referenced by DevTxTrace(), OutputCsmaPacket(), OutputWirelessPacketRxInfo(), and OutputWirelessPacketTxInfo().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConnectCallbacks()

void ns3::AnimationInterface::ConnectCallbacks ( )
private

◆ ConnectLte()

void ns3::AnimationInterface::ConnectLte ( )
private

Connect LTE function.

Definition at line 1586 of file animation-interface.cc.

References ns3::NodeList::Begin(), ConnectLteEnb(), ConnectLteUe(), ns3::NodeList::End(), and NS_ASSERT.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConnectLteEnb()

void ns3::AnimationInterface::ConnectLteEnb ( Ptr< Node n,
Ptr< LteEnbNetDevice nd,
uint32_t  devIndex 
)
private

Connect LTE ENB function.

Parameters
nthe node
ndthe device
devIndexthe device index

Definition at line 1528 of file animation-interface.cc.

References LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), and ns3::MakeCallback().

Referenced by ConnectLte().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConnectLteUe()

void ns3::AnimationInterface::ConnectLteUe ( Ptr< Node n,
Ptr< LteUeNetDevice nd,
uint32_t  devIndex 
)
private

Connect LTE ue function.

Parameters
nthe node
ndthe device
devIndexthe device index

Definition at line 1557 of file animation-interface.cc.

References LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), and ns3::MakeCallback().

Referenced by ConnectLte().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CounterTypeToString()

std::string ns3::AnimationInterface::CounterTypeToString ( CounterType  counterType)
private

Counter type to string function.

Parameters
counterTypethe counter type
Returns
the string

Definition at line 1413 of file animation-interface.cc.

References DOUBLE_COUNTER, and UINT32_COUNTER.

Referenced by WriteXmlAddNodeCounter().

+ Here is the caller graph for this function:

◆ CsmaMacRxTrace()

void ns3::AnimationInterface::CsmaMacRxTrace ( std::string  context,
Ptr< const Packet p 
)
private

CSMA MAC receive trace function.

Parameters
contextthe context
pthe packet
Todo:
NS_ASSERT (CsmaPacketIsPending (AnimUid) == true);

Definition at line 1232 of file animation-interface.cc.

References CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, CSMA, GetAnimUidFromPacket(), GetNetDeviceFromContext(), IsPacketPending(), m_pendingCsmaPackets, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_WARN, and OutputCsmaPacket().

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CsmaPhyRxEndTrace()

void ns3::AnimationInterface::CsmaPhyRxEndTrace ( std::string  context,
Ptr< const Packet p 
)
private

CSMA Phy receive end trace function.

Parameters
contextthe context
pthe packet
Todo:
NS_ASSERT (CsmaPacketIsPending (AnimUid) == true);

Definition at line 1210 of file animation-interface.cc.

References CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, CSMA, GetAnimUidFromPacket(), GetNetDeviceFromContext(), IsPacketPending(), m_pendingCsmaPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_WARN, OutputCsmaPacket(), ns3::AnimationInterface::AnimPacketInfo::ProcessRxBegin(), and UpdatePosition().

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CsmaPhyTxBeginTrace()

void ns3::AnimationInterface::CsmaPhyTxBeginTrace ( std::string  context,
Ptr< const Packet p 
)
private

CSMA Phy transmit begin trace function.

Parameters
contextthe context
pthe packet

Definition at line 1171 of file animation-interface.cc.

References AddByteTag(), AddPendingPacket(), CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, CSMA, gAnimUid, GetNetDeviceFromContext(), ns3::Simulator::Now(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, and UpdatePosition().

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CsmaPhyTxEndTrace()

void ns3::AnimationInterface::CsmaPhyTxEndTrace ( std::string  context,
Ptr< const Packet p 
)
private

CSMA Phy transmit end trace function.

Parameters
contextthe context
pthe packet
Todo:
NS_ASSERT (IsPacketPending (AnimUid) == true);

Definition at line 1187 of file animation-interface.cc.

References AddPendingPacket(), CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, CSMA, GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::Time::GetSeconds(), IsPacketPending(), ns3::AnimationInterface::AnimPacketInfo::m_lbTx, m_pendingCsmaPackets, ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_WARN, and UpdatePosition().

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DequeueTrace()

void ns3::AnimationInterface::DequeueTrace ( std::string  context,
Ptr< const Packet p 
)
private

Dequeue trace function.

Parameters
contextthe context
pthe packet

Definition at line 807 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeQueueDequeue.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DevTxTrace()

void ns3::AnimationInterface::DevTxTrace ( std::string  context,
Ptr< const Packet p,
Ptr< NetDevice tx,
Ptr< NetDevice rx,
Time  txTime,
Time  rxTime 
)
private

Device transmit trace function.

Parameters
contextthe context
pthe packet
txthe transmit device
rxthe receive device
txTimethe transmit time
rxTimethe receive time

Definition at line 821 of file animation-interface.cc.

References CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, CheckMaxPktsPerTraceFile(), GetPacketMetadata(), ns3::Time::GetSeconds(), m_enablePacketMetadata, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_FUNCTION, and WriteXmlP().

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableIpv4L3ProtocolCounters()

void ns3::AnimationInterface::EnableIpv4L3ProtocolCounters ( Time  startTime,
Time  stopTime,
Time  pollInterval = Seconds(1) 
)

Enable tracking of Ipv4 L3 Protocol Counters such as Tx, Rx, Drop.

Parameters
startTimeStart Time for capturing values
stopTimeStop Time for capturing values
pollIntervalThe periodic interval at which the counters are written to the trace file Default: 1s

Definition at line 195 of file animation-interface.cc.

References AddNodeCounter(), ns3::NodeList::Begin(), DOUBLE_COUNTER, ns3::NodeList::End(), m_ipv4L3ProtocolCountersPollInterval, m_ipv4L3ProtocolCountersStopTime, m_ipv4L3ProtocolDropCounterId, m_ipv4L3ProtocolRxCounterId, m_ipv4L3ProtocolTxCounterId, m_nodeIpv4Drop, m_nodeIpv4Rx, m_nodeIpv4Tx, ns3::Simulator::Schedule(), stopTime, TrackIpv4L3ProtocolCounters(), and UpdateNodeCounter().

+ Here is the call graph for this function:

◆ EnableIpv4RouteTracking() [1/2]

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.

Parameters
fileNameTrace file for storing routing table information
startTimeStart time for capture
stopTimeEnd time for capture
ncA NodeContainer containing nodes for which Routing table has to be tracked
pollIntervalThe periodic interval at which routing table information is polled Default: 5s
Returns
reference to this AnimationInterface object

Definition at line 230 of file animation-interface.cc.

References EnableIpv4RouteTracking(), m_routingNc, and stopTime.

+ Here is the call graph for this function:

◆ EnableIpv4RouteTracking() [2/2]

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.

Parameters
fileNameTrace file for storing routing table information
startTimeStart time for capture
stopTimeEnd time for capture
pollIntervalThe periodic interval at which routing table information is polled Default: 5s
Returns
reference to this AnimationInterface object

Definition at line 216 of file animation-interface.cc.

References m_routingPollInterval, m_routingStopTime, ns3::Simulator::Schedule(), SetOutputFile(), stopTime, TrackIpv4Route(), and WriteXmlAnim().

Referenced by EnableIpv4RouteTracking().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnablePacketMetadata()

void ns3::AnimationInterface::EnablePacketMetadata ( bool  enable = true)

Enable Packet metadata.

Parameters
enableif true enables writing the packet metadata to the XML trace file if false disables writing the packet metadata

Definition at line 285 of file animation-interface.cc.

References ns3::Packet::EnablePrinting(), and m_enablePacketMetadata.

+ Here is the call graph for this function:

◆ EnableQueueCounters()

void ns3::AnimationInterface::EnableQueueCounters ( Time  startTime,
Time  stopTime,
Time  pollInterval = Seconds(1) 
)

Enable tracking of Queue Counters such as Enqueue, Dequeue, Queue Drops.

Parameters
startTimeStart Time for capturing values
stopTimeStop Time for capturing values
pollIntervalThe periodic interval at which the counters are written to the trace file Default: 1s

Definition at line 174 of file animation-interface.cc.

References AddNodeCounter(), ns3::NodeList::Begin(), DOUBLE_COUNTER, ns3::NodeList::End(), m_nodeQueueDequeue, m_nodeQueueDrop, m_nodeQueueEnqueue, m_queueCountersPollInterval, m_queueCountersStopTime, m_queueDequeueCounterId, m_queueDropCounterId, m_queueEnqueueCounterId, ns3::Simulator::Schedule(), stopTime, TrackQueueCounters(), and UpdateNodeCounter().

+ Here is the call graph for this function:

◆ EnableWifiMacCounters()

void ns3::AnimationInterface::EnableWifiMacCounters ( Time  startTime,
Time  stopTime,
Time  pollInterval = Seconds(1) 
)

Enable tracking of Wifi Mac Counters such as Tx, TxDrop, Rx, RxDrop.

Parameters
startTimeStart Time for capturing values
stopTimeStop Time for capturing values
pollIntervalThe periodic interval at which the counters are written to the trace file Default: 1s

Definition at line 150 of file animation-interface.cc.

References AddNodeCounter(), ns3::NodeList::Begin(), DOUBLE_COUNTER, ns3::NodeList::End(), m_nodeWifiMacRx, m_nodeWifiMacRxDrop, m_nodeWifiMacTx, m_nodeWifiMacTxDrop, m_wifiMacCountersPollInterval, m_wifiMacCountersStopTime, m_wifiMacRxCounterId, m_wifiMacRxDropCounterId, m_wifiMacTxCounterId, m_wifiMacTxDropCounterId, ns3::Simulator::Schedule(), stopTime, TrackWifiMacCounters(), and UpdateNodeCounter().

+ Here is the call graph for this function:

◆ EnableWifiPhyCounters()

void ns3::AnimationInterface::EnableWifiPhyCounters ( Time  startTime,
Time  stopTime,
Time  pollInterval = Seconds(1) 
)

Enable tracking of Wifi Phy Counters such as TxDrop, RxDrop.

Parameters
startTimeStart Time for capturing values
stopTimeStop Time for capturing values
pollIntervalThe periodic interval at which the counters are written to the trace file Default: 1s

Definition at line 132 of file animation-interface.cc.

References AddNodeCounter(), ns3::NodeList::Begin(), DOUBLE_COUNTER, ns3::NodeList::End(), m_nodeWifiPhyRxDrop, m_nodeWifiPhyTxDrop, m_wifiPhyCountersPollInterval, m_wifiPhyCountersStopTime, m_wifiPhyRxDropCounterId, m_wifiPhyTxDropCounterId, ns3::Simulator::Schedule(), stopTime, TrackWifiPhyCounters(), and UpdateNodeCounter().

+ Here is the call graph for this function:

◆ EnqueueTrace()

void ns3::AnimationInterface::EnqueueTrace ( std::string  context,
Ptr< const Packet p 
)
private

Enqueue trace function.

Parameters
contextthe context
pthe packet

Definition at line 800 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeQueueEnqueue.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GenericWirelessRxTrace()

void ns3::AnimationInterface::GenericWirelessRxTrace ( std::string  context,
Ptr< const Packet p,
ProtocolType  protocolType 
)
private

Generic wireless receive trace function.

Parameters
contextthe context
pthe packet
protocolTypethe protocol type

Definition at line 882 of file animation-interface.cc.

References CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, GetAnimUidFromPacket(), GetNetDeviceFromContext(), IsPacketPending(), ns3::Simulator::Now(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacketRxInfo(), ProtocolTypeToPendingPackets(), ProtocolTypeToString(), and UpdatePosition().

Referenced by LteRxTrace(), UanPhyGenRxTrace(), and WimaxRxTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GenericWirelessTxTrace()

void ns3::AnimationInterface::GenericWirelessTxTrace ( std::string  context,
Ptr< const Packet p,
ProtocolType  protocolType 
)
private

Generic wireless transmit trace function.

Parameters
contextthe context
pthe packet
protocolTypethe protocol type

Definition at line 849 of file animation-interface.cc.

References AddByteTag(), AddPendingPacket(), CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, gAnimUid, GetNetDeviceFromContext(), m_macToNodeIdMap, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, OutputWirelessPacketTxInfo(), ProtocolTypeToPendingPackets(), ProtocolTypeToString(), and UpdatePosition().

Referenced by LteTxTrace(), UanPhyGenTxTrace(), and WimaxTxTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetAnimUidFromPacket()

uint64_t ns3::AnimationInterface::GetAnimUidFromPacket ( Ptr< const Packet p)
private

Get anim UID from packet function.

Parameters
pthe packet
Returns
the UID

Definition at line 639 of file animation-interface.cc.

References ns3::AnimByteTag::Get(), ns3::AnimByteTag::GetInstanceTypeId(), ns3::ByteTagIterator::Item::GetTag(), ns3::ByteTagIterator::Item::GetTypeId(), ns3::ByteTagIterator::HasNext(), and ns3::ByteTagIterator::Next().

Referenced by CsmaMacRxTrace(), CsmaPhyRxEndTrace(), CsmaPhyTxEndTrace(), GenericWirelessRxTrace(), LrWpanPhyRxBeginTrace(), LteSpectrumPhyRxStart(), and WifiPhyRxBeginTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetElementsFromContext()

const std::vector< std::string > ns3::AnimationInterface::GetElementsFromContext ( const std::string &  context) const
private

Get elements from context.

Parameters
contextthe context string
Returns
the elements

Definition at line 596 of file animation-interface.cc.

Referenced by GetNetDeviceFromContext(), and GetNodeFromContext().

+ Here is the caller graph for this function:

◆ GetIpv4Address()

std::string ns3::AnimationInterface::GetIpv4Address ( Ptr< NetDevice nd)
private

Get IPv4 address.

Parameters
ndthe device
Returns
the IPv4 address

Definition at line 1778 of file animation-interface.cc.

References ns3::Ipv4InterfaceAddress::GetLocal(), ns3::NodeList::GetNode(), ns3::Object::GetObject(), and NS_LOG_WARN.

Referenced by WriteLinkProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetIpv4Addresses()

std::vector< std::string > ns3::AnimationInterface::GetIpv4Addresses ( Ptr< NetDevice nd)
private

Get IPv4 addresses.

Parameters
ndthe device
Returns
the IPv4 address list

Definition at line 1835 of file animation-interface.cc.

References ns3::Ipv4InterfaceAddress::GetLocal(), ns3::NodeList::GetNode(), ns3::Object::GetObject(), and NS_LOG_WARN.

Referenced by WriteLinkProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetIpv4RoutingTable()

std::string ns3::AnimationInterface::GetIpv4RoutingTable ( Ptr< Node n)
private

Get IPv4 routing table function.

Parameters
nthe node
Returns
the IPv4 routing table

Definition at line 2312 of file animation-interface.cc.

References NS_ASSERT, and NS_LOG_WARN.

Referenced by TrackIpv4Route().

+ Here is the caller graph for this function:

◆ GetIpv6Address()

std::string ns3::AnimationInterface::GetIpv6Address ( Ptr< NetDevice nd)
private

Get IPv6 address.

Parameters
ndthe device
Returns
the IPv6 address

Definition at line 1799 of file animation-interface.cc.

References ns3::Ipv6InterfaceAddress::GetAddress(), ns3::NodeList::GetNode(), ns3::Object::GetObject(), ns3::Ipv6Address::IsLinkLocal(), and NS_LOG_WARN.

Referenced by WriteLinkProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetIpv6Addresses()

std::vector< std::string > ns3::AnimationInterface::GetIpv6Addresses ( Ptr< NetDevice nd)
private

Get IPv6 addresses.

Parameters
ndthe device
Returns
the IPv6 address list

Definition at line 1861 of file animation-interface.cc.

References ns3::Ipv6InterfaceAddress::GetAddress(), ns3::NodeList::GetNode(), ns3::Object::GetObject(), and NS_LOG_WARN.

Referenced by WriteLinkProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetMacAddress()

std::string ns3::AnimationInterface::GetMacAddress ( Ptr< NetDevice nd)
private

Get MAC address function.

Parameters
ndthe device
Returns
the MAC address

Definition at line 1769 of file animation-interface.cc.

Referenced by WriteLinkProperties().

+ Here is the caller graph for this function:

◆ GetMovedNodes()

std::vector< Ptr< Node > > ns3::AnimationInterface::GetMovedNodes ( )
private

Get moved nodes function.

Returns
the list of moved nodes

Definition at line 500 of file animation-interface.cc.

References ns3::NodeList::Begin(), ns3::NodeList::End(), GetPosition(), NodeHasMoved(), NS_ASSERT, and UpdatePosition().

Referenced by MobilityAutoCheck().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetNetAnimVersion()

std::string ns3::AnimationInterface::GetNetAnimVersion ( )
private

Get netanim version function.

Returns
the net anim version string

Definition at line 2126 of file animation-interface.cc.

References NETANIM_VERSION.

Referenced by WriteXmlAnim().

+ Here is the caller graph for this function:

◆ GetNetDeviceFromContext()

Ptr< NetDevice > ns3::AnimationInterface::GetNetDeviceFromContext ( std::string  context)
private

Get net device from context.

Parameters
contextthe context string
Returns
the device

Definition at line 626 of file animation-interface.cc.

References GetElementsFromContext(), and GetNodeFromContext().

Referenced by CsmaMacRxTrace(), CsmaPhyRxEndTrace(), CsmaPhyTxBeginTrace(), CsmaPhyTxEndTrace(), GenericWirelessRxTrace(), GenericWirelessTxTrace(), LrWpanPhyRxBeginTrace(), LrWpanPhyTxBeginTrace(), LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), WifiPhyRxBeginTrace(), and WifiPhyTxBeginTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetNodeEnergyFraction()

double ns3::AnimationInterface::GetNodeEnergyFraction ( Ptr< const Node node) const

Get node's energy fraction (This used only for testing)

Parameters
node
Returns
current node's remaining energy (between [0, 1])

Definition at line 441 of file animation-interface.cc.

References m_nodeEnergyFraction, and NS_ASSERT.

Referenced by AnimationRemainingEnergyTestCase::CheckLogic().

+ Here is the caller graph for this function:

◆ GetNodeFromContext()

Ptr< Node > ns3::AnimationInterface::GetNodeFromContext ( const std::string &  context) const
private

Get node from context.

Parameters
contextthe context string
Returns
the node

Definition at line 613 of file animation-interface.cc.

References GetElementsFromContext(), ns3::NodeList::GetNode(), and NS_ASSERT.

Referenced by DequeueTrace(), EnqueueTrace(), GetNetDeviceFromContext(), Ipv4DropTrace(), Ipv4RxTrace(), Ipv4TxTrace(), LrWpanMacRxDropTrace(), LrWpanMacRxTrace(), LrWpanMacTxDropTrace(), LrWpanMacTxTrace(), QueueDropTrace(), RemainingEnergyTrace(), WifiMacRxDropTrace(), WifiMacRxTrace(), WifiMacTxDropTrace(), WifiMacTxTrace(), WifiPhyRxDropTrace(), and WifiPhyTxDropTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetPacketMetadata()

std::string ns3::AnimationInterface::GetPacketMetadata ( Ptr< const Packet p)
private

Get packet metadata function.

Parameters
pthe packet
Returns
the meta data

Definition at line 1433 of file animation-interface.cc.

Referenced by DevTxTrace(), OutputCsmaPacket(), and OutputWirelessPacketTxInfo().

+ Here is the caller graph for this function:

◆ GetPosition()

Vector ns3::AnimationInterface::GetPosition ( Ptr< Node n)
private

Get position function.

Parameters
nthe node
Returns
the position vector

Definition at line 1759 of file animation-interface.cc.

References m_nodeLocation, and NS_FATAL_ERROR.

Referenced by GetMovedNodes(), MobilityAutoCheck(), MobilityCourseChangeTrace(), and NodeHasMoved().

+ Here is the caller graph for this function:

◆ GetTracePktCount()

uint64_t ns3::AnimationInterface::GetTracePktCount ( ) const

Get trace file packet count (This used only for testing)

Returns
Number of packets recorded in the current trace file

Definition at line 1441 of file animation-interface.cc.

References m_currentPktCount.

Referenced by AnimationInterfaceTestCase::CheckLogic().

+ Here is the caller graph for this function:

◆ Ipv4DropTrace()

void ns3::AnimationInterface::Ipv4DropTrace ( std::string  context,
const Ipv4Header ipv4Header,
Ptr< const Packet p,
Ipv4L3Protocol::DropReason  dropReason,
Ptr< Ipv4 ipv4,
uint32_t  interfaceIndex 
)
private

IPv4 drop trace function.

Parameters
contextthe context
ipv4Headerthe IPv4 header
pthe packet
dropReasonthe reason for the drop
ipv4the IP
interfaceIndexthe interface index

Definition at line 788 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeIpv4Drop.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Ipv4RxTrace()

void ns3::AnimationInterface::Ipv4RxTrace ( std::string  context,
Ptr< const Packet p,
Ptr< Ipv4 ipv4,
uint32_t  interfaceIndex 
)
private

IPv4 receive trace function.

Parameters
contextthe context
pthe packet
ipv4the IP
interfaceIndexthe interface index

Definition at line 778 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeIpv4Rx.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Ipv4TxTrace()

void ns3::AnimationInterface::Ipv4TxTrace ( std::string  context,
Ptr< const Packet p,
Ptr< Ipv4 ipv4,
uint32_t  interfaceIndex 
)
private

IPv4 transmit trace function.

Parameters
contextthe context
pthe packet
ipv4the IP
interfaceIndexthe interface index

Definition at line 768 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeIpv4Tx.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsInitialized()

bool ns3::AnimationInterface::IsInitialized ( )
static

Check if AnimationInterface is initialized.

Returns
true if AnimationInterface was already initialized

Definition at line 295 of file animation-interface.cc.

References ns3::initialized.

◆ IsInTimeWindow()

bool ns3::AnimationInterface::IsInTimeWindow ( )
private

Is in time window function.

Returns
true if in the time window

Definition at line 2074 of file animation-interface.cc.

References m_startTime, m_stopTime, and ns3::Simulator::Now().

+ Here is the call graph for this function:

◆ IsPacketPending()

bool ns3::AnimationInterface::IsPacketPending ( uint64_t  animUid,
AnimationInterface::ProtocolType  protocolType 
)
private

Is packet pending function.

Parameters
animUidthe UID
protocolTypethe protocol type
Returns
true if a packet is pending

Definition at line 1310 of file animation-interface.cc.

References NS_ASSERT, and ProtocolTypeToPendingPackets().

Referenced by CsmaMacRxTrace(), CsmaPhyRxEndTrace(), CsmaPhyTxEndTrace(), GenericWirelessRxTrace(), LrWpanPhyRxBeginTrace(), LteSpectrumPhyRxStart(), and WifiPhyRxBeginTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsStarted()

bool ns3::AnimationInterface::IsStarted ( ) const

Is AnimationInterface started.

Returns
true if AnimationInterface was started

Definition at line 301 of file animation-interface.cc.

References m_started.

◆ LrWpanMacRxDropTrace()

void ns3::AnimationInterface::LrWpanMacRxDropTrace ( std::string  context,
Ptr< const Packet p 
)
private

LR-WPAN MAC receive drop trace function.

Parameters
contextthe context
pthe packet

Definition at line 761 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeLrWpanMacRxDrop.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LrWpanMacRxTrace()

void ns3::AnimationInterface::LrWpanMacRxTrace ( std::string  context,
Ptr< const Packet p 
)
private

LR-WPAN MAC receive trace function.

Parameters
contextthe context
pthe packet

Definition at line 754 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeLrWpanMacRx.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LrWpanMacTxDropTrace()

void ns3::AnimationInterface::LrWpanMacTxDropTrace ( std::string  context,
Ptr< const Packet p 
)
private

LR-WPAN MAC transmit drop trace function.

Parameters
contextthe context
pthe packet

Definition at line 747 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeLrWpanMacTxDrop.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LrWpanMacTxTrace()

void ns3::AnimationInterface::LrWpanMacTxTrace ( std::string  context,
Ptr< const Packet p 
)
private

LR-WPAN MAC transmit trace function.

Parameters
contextthe context
pthe packet

Definition at line 740 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeLrWpanMacTx.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LrWpanPhyRxBeginTrace()

void ns3::AnimationInterface::LrWpanPhyRxBeginTrace ( std::string  context,
Ptr< const Packet p 
)
private

LR-WPAN Phy receive begin trace function.

Parameters
contextthe context
pthe packet

Definition at line 1055 of file animation-interface.cc.

References CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, GetAnimUidFromPacket(), GetNetDeviceFromContext(), IsPacketPending(), LRWPAN, m_pendingLrWpanPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacketRxInfo(), and UpdatePosition().

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LrWpanPhyTxBeginTrace()

void ns3::AnimationInterface::LrWpanPhyTxBeginTrace ( std::string  context,
Ptr< const Packet p 
)
private

LR-WPAN Phy receive begin trace function.

Parameters
contextthe context
pthe packet

Definition at line 1004 of file animation-interface.cc.

References AddByteTag(), AddPendingPacket(), CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, gAnimUid, GetNetDeviceFromContext(), ns3::LrWpanMacHeader::GetSrcAddrMode(), LRWPAN, m_macToNodeIdMap, m_pendingLrWpanPackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacketTxInfo(), and UpdatePosition().

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LteRxTrace()

void ns3::AnimationInterface::LteRxTrace ( std::string  context,
Ptr< const Packet p,
const Mac48Address m 
)
private

LTE receive trace function.

Parameters
contextthe context
pthe packet
mthe MAC address

Definition at line 1104 of file animation-interface.cc.

References GenericWirelessRxTrace(), LTE, and NS_LOG_FUNCTION.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LteSpectrumPhyRxStart()

void ns3::AnimationInterface::LteSpectrumPhyRxStart ( std::string  context,
Ptr< const PacketBurst pb 
)
private

LTE Spectrum Phy receive start function.

Parameters
contextthe context
pbthe packet burst

Definition at line 1139 of file animation-interface.cc.

References CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, gAnimUid, GetAnimUidFromPacket(), GetNetDeviceFromContext(), IsPacketPending(), LTE, m_pendingLtePackets, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacketRxInfo(), ns3::AnimationInterface::AnimPacketInfo::ProcessRxBegin(), and UpdatePosition().

Referenced by ConnectLteEnb(), and ConnectLteUe().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LteSpectrumPhyTxStart()

void ns3::AnimationInterface::LteSpectrumPhyTxStart ( std::string  context,
Ptr< const PacketBurst pb 
)
private

LTE Spectrum Phy transmit start function.

Parameters
contextthe context
pbthe packet burst

Definition at line 1111 of file animation-interface.cc.

References AddByteTag(), AddPendingPacket(), CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, gAnimUid, GetNetDeviceFromContext(), LTE, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacketTxInfo(), and UpdatePosition().

Referenced by ConnectLteEnb(), and ConnectLteUe().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LteTxTrace()

void ns3::AnimationInterface::LteTxTrace ( std::string  context,
Ptr< const Packet p,
const Mac48Address m 
)
private

LTE transmit trace function.

Parameters
contextthe context
pthe packet
mthe MAC address

Definition at line 1097 of file animation-interface.cc.

References GenericWirelessTxTrace(), LTE, and NS_LOG_FUNCTION.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MobilityAutoCheck()

void ns3::AnimationInterface::MobilityAutoCheck ( )
private

Mobility auto check function.

Definition at line 477 of file animation-interface.cc.

References CHECK_STARTED_INTIMEWINDOW, CSMA, GetMovedNodes(), GetPosition(), ns3::Simulator::IsFinished(), LRWPAN, LTE, m_mobilityPollInterval, MobilityAutoCheck(), NS_ASSERT, PurgePendingPackets(), ns3::Simulator::Schedule(), WIFI, WIMAX, and WriteXmlUpdateNodePosition().

Referenced by MobilityAutoCheck(), and StartAnimation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MobilityCourseChangeTrace()

void ns3::AnimationInterface::MobilityCourseChangeTrace ( Ptr< const MobilityModel mob)
private

Mobility course change trace function.

Parameters
mobthe mobility model

Definition at line 449 of file animation-interface.cc.

References CHECK_STARTED_INTIMEWINDOW, GetPosition(), NS_ASSERT, UpdatePosition(), and WriteXmlUpdateNodePosition().

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NodeHasMoved()

bool ns3::AnimationInterface::NodeHasMoved ( Ptr< Node n,
Vector  newLocation 
)
private

Node has moved function.

Parameters
nthe node
newLocationthe new location vector
Returns
true if the node has moved

Definition at line 468 of file animation-interface.cc.

References GetPosition().

Referenced by GetMovedNodes().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OutputCsmaPacket()

void ns3::AnimationInterface::OutputCsmaPacket ( Ptr< const Packet p,
AnimPacketInfo pktInfo 
)
private

Output CSMA packet function.

Parameters
pthe packet
pktInfothe packet info

Definition at line 1282 of file animation-interface.cc.

References CheckMaxPktsPerTraceFile(), ns3::Node::GetId(), ns3::NetDevice::GetNode(), GetPacketMetadata(), m_enablePacketMetadata, ns3::AnimationInterface::AnimPacketInfo::m_fbRx, ns3::AnimationInterface::AnimPacketInfo::m_fbTx, ns3::AnimationInterface::AnimPacketInfo::m_lbRx, ns3::AnimationInterface::AnimPacketInfo::m_lbTx, ns3::AnimationInterface::AnimPacketInfo::m_rxnd, ns3::AnimationInterface::AnimPacketInfo::m_txnd, NS_ASSERT, and WriteXmlP().

Referenced by CsmaMacRxTrace(), and CsmaPhyRxEndTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OutputWirelessPacketRxInfo()

void ns3::AnimationInterface::OutputWirelessPacketRxInfo ( Ptr< const Packet p,
AnimPacketInfo pktInfo,
uint64_t  animUid 
)
private

Output wireless packet receive info.

Parameters
pthe packet
pktInfothe packet info
animUidthe UID

Definition at line 1272 of file animation-interface.cc.

References CheckMaxPktsPerTraceFile(), ns3::Node::GetId(), ns3::NetDevice::GetNode(), ns3::AnimationInterface::AnimPacketInfo::m_fbRx, ns3::AnimationInterface::AnimPacketInfo::m_lbRx, ns3::AnimationInterface::AnimPacketInfo::m_rxnd, and WriteXmlP().

Referenced by GenericWirelessRxTrace(), LrWpanPhyRxBeginTrace(), LteSpectrumPhyRxStart(), and WifiPhyRxBeginTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OutputWirelessPacketTxInfo()

void ns3::AnimationInterface::OutputWirelessPacketTxInfo ( Ptr< const Packet p,
AnimPacketInfo pktInfo,
uint64_t  animUid 
)
private

Output wireless packet transmit info.

Parameters
pthe packet
pktInfothe packet info
animUidthe UID

Definition at line 1251 of file animation-interface.cc.

References CheckMaxPktsPerTraceFile(), ns3::Node::GetId(), ns3::NetDevice::GetNode(), GetPacketMetadata(), m_enablePacketMetadata, ns3::AnimationInterface::AnimPacketInfo::m_fbTx, ns3::AnimationInterface::AnimPacketInfo::m_txnd, ns3::AnimationInterface::AnimPacketInfo::m_txNodeId, and WriteXmlPRef().

Referenced by GenericWirelessTxTrace(), LrWpanPhyTxBeginTrace(), LteSpectrumPhyTxStart(), and WifiPhyTxBeginTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProtocolTypeToPendingPackets()

AnimationInterface::AnimUidPacketInfoMap * ns3::AnimationInterface::ProtocolTypeToPendingPackets ( AnimationInterface::ProtocolType  protocolType)
private

Protocol type to pending packets function.

Parameters
protocolTypethe protocol type
Returns
AnimUidPacketInfoMap *

Definition at line 1343 of file animation-interface.cc.

References CSMA, LRWPAN, LTE, m_pendingCsmaPackets, m_pendingLrWpanPackets, m_pendingLtePackets, m_pendingUanPackets, m_pendingWifiPackets, m_pendingWimaxPackets, UAN, WIFI, and WIMAX.

Referenced by AddPendingPacket(), GenericWirelessRxTrace(), GenericWirelessTxTrace(), IsPacketPending(), PurgePendingPackets(), and WifiPhyTxBeginTrace().

+ Here is the caller graph for this function:

◆ ProtocolTypeToString()

std::string ns3::AnimationInterface::ProtocolTypeToString ( AnimationInterface::ProtocolType  protocolType)
private

Protocol type to string function.

Parameters
protocolTypethe protocol type
Returns
the protocol type string

Definition at line 1377 of file animation-interface.cc.

References CSMA, LRWPAN, LTE, UAN, WIFI, and WIMAX.

Referenced by GenericWirelessRxTrace(), and GenericWirelessTxTrace().

+ Here is the caller graph for this function:

◆ PurgePendingPackets()

void ns3::AnimationInterface::PurgePendingPackets ( AnimationInterface::ProtocolType  protocolType)
private

Purge pending packets function.

Parameters
protocolTypethe protocol type

Definition at line 1318 of file animation-interface.cc.

References ns3::Time::GetSeconds(), ns3::AnimationInterface::AnimPacketInfo::m_fbTx, ns3::Simulator::Now(), NS_ASSERT, ProtocolTypeToPendingPackets(), and PURGE_INTERVAL.

Referenced by MobilityAutoCheck().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ QueueDropTrace()

void ns3::AnimationInterface::QueueDropTrace ( std::string  context,
Ptr< const Packet p 
)
private

Queue trace function.

Parameters
contextthe context
pthe packet

Definition at line 814 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeQueueDrop.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RecursiveIpv4RoutePathSearch()

void ns3::AnimationInterface::RecursiveIpv4RoutePathSearch ( std::string  from,
std::string  to,
Ipv4RoutePathElements rpElements 
)
private

Recursive IPv4 route path search function.

Parameters
fromthe source node
tothe destination node
rpElementsthe IPv4 routing path elements

Definition at line 2328 of file animation-interface.cc.

References ns3::Socket::ERROR_NOROUTETOHOST, ns3::NodeList::GetNode(), m_ipv4ToNodeIdMap, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_INFO, NS_LOG_WARN, RecursiveIpv4RoutePathSearch(), and ns3::Ipv4Header::SetDestination().

Referenced by RecursiveIpv4RoutePathSearch(), and TrackIpv4RoutePaths().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RemainingEnergyTrace()

void ns3::AnimationInterface::RemainingEnergyTrace ( std::string  context,
double  previousEnergy,
double  currentEnergy 
)
private

Remaining energy trace function.

Parameters
contextthe context
previousEnergyThe previous energy
currentEnergyThe current energy

Definition at line 673 of file animation-interface.cc.

References CHECK_STARTED_INTIMEWINDOW, GetNodeFromContext(), m_nodeEnergyFraction, m_remainingEnergyCounterId, NS_ASSERT, NS_LOG_INFO, and UpdateNodeCounter().

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ResetAnimWriteCallback()

void ns3::AnimationInterface::ResetAnimWriteCallback ( )

Reset the write callback function.

Definition at line 313 of file animation-interface.cc.

References m_writeCallback.

Referenced by StopAnimation().

+ Here is the caller graph for this function:

◆ SetAnimWriteCallback()

void ns3::AnimationInterface::SetAnimWriteCallback ( AnimWriteCallback  cb)

Set a callback function to listen to AnimationInterface write events.

Parameters
cbAddress of callback function

Definition at line 307 of file animation-interface.cc.

References m_writeCallback.

◆ SetBackgroundImage()

void ns3::AnimationInterface::SetBackgroundImage ( std::string  fileName,
double  x,
double  y,
double  scaleX,
double  scaleY,
double  opacity 
)

Helper function to set the background image.

Parameters
fileNameFile name of the background image
xX coordinate of the image
yY coordinate of the image
scaleXX scale of the image
scaleYY scale of the image
opacityOpacity of the background: A value between 0.0 and 1.0. 0.0 is transparent, 1.0 is opaque

Definition at line 362 of file animation-interface.cc.

References NS_FATAL_ERROR, and WriteXmlUpdateBackground().

+ Here is the call graph for this function:

◆ SetConstantPosition()

void ns3::AnimationInterface::SetConstantPosition ( Ptr< Node n,
double  x,
double  y,
double  z = 0 
)
static

Helper function to set Constant Position for a given node.

Parameters
nPtr to the node
xX coordinate of the node
yY coordinate of the node
zZ coordinate of the node

Definition at line 325 of file animation-interface.cc.

References NS_ASSERT, and NS_LOG_INFO.

Referenced by AnimationInterfaceTestCase::PrepareNetwork(), and AnimationRemainingEnergyTestCase::PrepareNetwork().

+ Here is the caller graph for this function:

◆ SetMaxPktsPerTraceFile()

void ns3::AnimationInterface::SetMaxPktsPerTraceFile ( uint64_t  maxPktsPerFile)

Set Max packets per trace file.

Parameters
maxPktsPerFileThe 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 'maxPktsPerFile' number of packets

Definition at line 261 of file animation-interface.cc.

References m_maxPktsPerFile.

◆ SetMobilityPollInterval()

void ns3::AnimationInterface::SetMobilityPollInterval ( Time  t)

Set mobility poll interval:WARNING: setting a low interval can cause slowness.

Parameters
tTime interval between fetching mobility/position information Default: 0.25s

Definition at line 319 of file animation-interface.cc.

References m_mobilityPollInterval.

◆ SetOutputFile()

void ns3::AnimationInterface::SetOutputFile ( const std::string &  fn,
bool  routing = false 
)
private

Set output file function.

Parameters
fnthe file name
routing

Definition at line 2080 of file animation-interface.cc.

References m_f, m_outputFileName, m_routingF, m_routingFileName, NS_FATAL_ERROR, and NS_LOG_INFO.

Referenced by EnableIpv4RouteTracking(), and StartAnimation().

+ Here is the caller graph for this function:

◆ SetStartTime()

void ns3::AnimationInterface::SetStartTime ( Time  t)

Specify the time at which capture should start.

Parameters
tThe time at which AnimationInterface should begin capture of traffic info

Definition at line 249 of file animation-interface.cc.

References m_startTime.

◆ SetStopTime()

void ns3::AnimationInterface::SetStopTime ( Time  t)

Specify the time at which capture should stop.

Parameters
tThe time at which AnimationInterface should stop capture of traffic info

Definition at line 255 of file animation-interface.cc.

References m_stopTime.

◆ SkipPacketTracing()

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 126 of file animation-interface.cc.

References m_trackPackets.

◆ StartAnimation()

void ns3::AnimationInterface::StartAnimation ( bool  restart = false)
private

Start animation function.

Parameters
restart

Definition at line 1472 of file animation-interface.cc.

References ConnectCallbacks(), m_currentPktCount, m_mobilityPollInterval, m_outputFileName, m_started, MobilityAutoCheck(), ns3::Simulator::Schedule(), SetOutputFile(), WriteIpv4Addresses(), WriteIpv6Addresses(), WriteLinkProperties(), WriteNodeColors(), WriteNodeEnergies(), WriteNodes(), WriteNodeSizes(), and WriteXmlAnim().

Referenced by AnimationInterface().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ StopAnimation()

void ns3::AnimationInterface::StopAnimation ( bool  onlyAnimation = false)
private

Stop animation function.

Parameters
onlyAnimation

Definition at line 1447 of file animation-interface.cc.

References m_f, m_routingF, m_started, NS_LOG_INFO, ResetAnimWriteCallback(), and WriteXmlClose().

Referenced by ~AnimationInterface(), and CheckMaxPktsPerTraceFile().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TrackIpv4L3ProtocolCounters()

void ns3::AnimationInterface::TrackIpv4L3ProtocolCounters ( )
private

Track IPv4 L3 protocol counters function.

Definition at line 2190 of file animation-interface.cc.

References ns3::NodeList::Begin(), ns3::NodeList::End(), m_ipv4L3ProtocolCountersPollInterval, m_ipv4L3ProtocolCountersStopTime, m_ipv4L3ProtocolDropCounterId, m_ipv4L3ProtocolRxCounterId, m_ipv4L3ProtocolTxCounterId, m_nodeIpv4Drop, m_nodeIpv4Rx, m_nodeIpv4Tx, ns3::Simulator::Now(), NS_LOG_INFO, ns3::Simulator::Schedule(), TrackIpv4L3ProtocolCounters(), and UpdateNodeCounter().

Referenced by EnableIpv4L3ProtocolCounters(), and TrackIpv4L3ProtocolCounters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TrackIpv4Route()

void ns3::AnimationInterface::TrackIpv4Route ( )
private

Track IPv4 router function.

Definition at line 2284 of file animation-interface.cc.

References ns3::NodeList::Begin(), ns3::NodeContainer::Begin(), ns3::NodeList::End(), ns3::NodeContainer::End(), GetIpv4RoutingTable(), ns3::NodeContainer::GetN(), m_routingNc, m_routingPollInterval, m_routingStopTime, ns3::Simulator::Now(), NS_LOG_INFO, ns3::Simulator::Schedule(), TrackIpv4Route(), TrackIpv4RoutePaths(), and WriteXmlRouting().

Referenced by EnableIpv4RouteTracking(), and TrackIpv4Route().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TrackIpv4RoutePaths()

void ns3::AnimationInterface::TrackIpv4RoutePaths ( )
private

Track IPv4 route paths function.

Definition at line 2212 of file animation-interface.cc.

References ns3::AnimationInterface::Ipv4RouteTrackElement::destination, ns3::AnimationInterface::Ipv4RouteTrackElement::fromNodeId, ns3::NodeList::GetNode(), m_ipv4RouteTrackElements, m_ipv4ToNodeIdMap, NS_FATAL_ERROR, NS_LOG_INFO, NS_LOG_WARN, RecursiveIpv4RoutePathSearch(), ns3::Ipv4Header::SetDestination(), and WriteRoutePath().

Referenced by TrackIpv4Route().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TrackQueueCounters()

void ns3::AnimationInterface::TrackQueueCounters ( )
private

Track queue counters function.

Definition at line 2132 of file animation-interface.cc.

References ns3::NodeList::Begin(), ns3::NodeList::End(), m_nodeQueueDequeue, m_nodeQueueDrop, m_nodeQueueEnqueue, m_queueCountersPollInterval, m_queueCountersStopTime, m_queueDequeueCounterId, m_queueDropCounterId, m_queueEnqueueCounterId, ns3::Simulator::Now(), NS_LOG_INFO, ns3::Simulator::Schedule(), TrackQueueCounters(), and UpdateNodeCounter().

Referenced by EnableQueueCounters(), and TrackQueueCounters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TrackWifiMacCounters()

void ns3::AnimationInterface::TrackWifiMacCounters ( )
private

Track wifi MAC counters function.

Definition at line 2150 of file animation-interface.cc.

References ns3::NodeList::Begin(), ns3::NodeList::End(), m_nodeWifiMacRx, m_nodeWifiMacRxDrop, m_nodeWifiMacTx, m_nodeWifiMacTxDrop, m_wifiMacCountersPollInterval, m_wifiMacCountersStopTime, m_wifiMacRxCounterId, m_wifiMacRxDropCounterId, m_wifiMacTxCounterId, m_wifiMacTxDropCounterId, ns3::Simulator::Now(), NS_LOG_INFO, ns3::Simulator::Schedule(), TrackWifiMacCounters(), and UpdateNodeCounter().

Referenced by EnableWifiMacCounters(), and TrackWifiMacCounters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TrackWifiPhyCounters()

void ns3::AnimationInterface::TrackWifiPhyCounters ( )
private

Track wifi phy counters function.

Definition at line 2171 of file animation-interface.cc.

References ns3::NodeList::Begin(), ns3::NodeList::End(), m_nodeWifiPhyRxDrop, m_nodeWifiPhyTxDrop, m_wifiPhyCountersPollInterval, m_wifiPhyCountersStopTime, m_wifiPhyRxDropCounterId, m_wifiPhyTxDropCounterId, ns3::Simulator::Now(), NS_LOG_INFO, ns3::Simulator::Schedule(), TrackWifiPhyCounters(), and UpdateNodeCounter().

Referenced by EnableWifiPhyCounters(), and TrackWifiPhyCounters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UanPhyGenRxTrace()

void ns3::AnimationInterface::UanPhyGenRxTrace ( std::string  context,
Ptr< const Packet p 
)
private

UAN Phy gen receive trace function.

Parameters
contextthe context
pthe packet

Definition at line 911 of file animation-interface.cc.

References GenericWirelessRxTrace(), NS_LOG_FUNCTION, and UAN.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UanPhyGenTxTrace()

void ns3::AnimationInterface::UanPhyGenTxTrace ( std::string  context,
Ptr< const Packet p 
)
private

UAN Phy gen transmit trace function.

Parameters
contextthe context
pthe packet

Definition at line 904 of file animation-interface.cc.

References GenericWirelessTxTrace(), NS_LOG_FUNCTION, and UAN.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateLinkDescription() [1/2]

void ns3::AnimationInterface::UpdateLinkDescription ( Ptr< Node fromNode,
Ptr< Node toNode,
std::string  linkDescription 
)

Helper function to update the description for a link.

Parameters
fromNodePtr to the "from Node" of the p2p link
toNodePtr to the "to Node" of the p2p link
linkDescriptionDescription of the link such as link bandwidth

Definition at line 415 of file animation-interface.cc.

References NS_ASSERT, and WriteXmlUpdateLink().

+ Here is the call graph for this function:

◆ UpdateLinkDescription() [2/2]

void ns3::AnimationInterface::UpdateLinkDescription ( uint32_t  fromNode,
uint32_t  toNode,
std::string  linkDescription 
)

Helper function to update the description for a link.

Parameters
fromNodeNode Id of the "from Node" of the p2p link
toNodeNode Id of the "to Node" of the p2p link
linkDescriptionDescription of the link such as link bandwidth

Definition at line 407 of file animation-interface.cc.

References WriteXmlUpdateLink().

Referenced by modify().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateNodeColor() [1/2]

void ns3::AnimationInterface::UpdateNodeColor ( Ptr< Node n,
uint8_t  r,
uint8_t  g,
uint8_t  b 
)

Helper function to update the node color.

Parameters
nPtr to the node
rRed component value (0-255)
gGreen component value (0-255)
bBlue component value (0-255)

Definition at line 391 of file animation-interface.cc.

References UpdateNodeColor().

Referenced by modify(), UpdateAnimation(), UpdateNodeColor(), and WriteNodeColors().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateNodeColor() [2/2]

void ns3::AnimationInterface::UpdateNodeColor ( uint32_t  nodeId,
uint8_t  r,
uint8_t  g,
uint8_t  b 
)

Helper function to update the node color.

Parameters
nodeIdId of the node
rRed component value (0-255)
gGreen component value (0-255)
bBlue component value (0-255)

Definition at line 397 of file animation-interface.cc.

References ns3::NodeList::GetNode(), m_nodeColors, NS_ASSERT, NS_LOG_INFO, and WriteXmlUpdateNodeColor().

+ Here is the call graph for this function:

◆ UpdateNodeCounter()

void ns3::AnimationInterface::UpdateNodeCounter ( uint32_t  nodeCounterId,
uint32_t  nodeId,
double  counter 
)

Helper function to update a node's counter referenced by the nodeCounterId.

Parameters
nodeCounterIdThe counter Id obtained from AddNodeCounter
nodeIdNode Id of the node
counterCurrent value of the counter

Definition at line 351 of file animation-interface.cc.

References m_nodeCounters, NS_FATAL_ERROR, and WriteXmlUpdateNodeCounter().

Referenced by EnableIpv4L3ProtocolCounters(), EnableQueueCounters(), EnableWifiMacCounters(), EnableWifiPhyCounters(), modify(), RemainingEnergyTrace(), TrackIpv4L3ProtocolCounters(), TrackQueueCounters(), TrackWifiMacCounters(), TrackWifiPhyCounters(), and WriteNodeEnergies().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateNodeDescription() [1/2]

void ns3::AnimationInterface::UpdateNodeDescription ( Ptr< Node n,
std::string  descr 
)

Helper function to update the description for a given node.

Parameters
nPtr to the node
descrA string to briefly describe the node

Definition at line 425 of file animation-interface.cc.

References UpdateNodeDescription().

Referenced by modify(), and UpdateNodeDescription().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateNodeDescription() [2/2]

void ns3::AnimationInterface::UpdateNodeDescription ( uint32_t  nodeId,
std::string  descr 
)

Helper function to update the description for a given node.

Parameters
nodeIdId of the node
descrA string to briefly describe the node

Definition at line 431 of file animation-interface.cc.

References ns3::NodeList::GetNode(), m_nodeDescriptions, NS_ASSERT, and WriteXmlUpdateNodeDescription().

+ Here is the call graph for this function:

◆ UpdateNodeImage()

void ns3::AnimationInterface::UpdateNodeImage ( uint32_t  nodeId,
uint32_t  resourceId 
)

Helper function to update the image of a node.

Parameters
nodeIdId of the node
resourceIdId of the image resource that was previously added

Definition at line 340 of file animation-interface.cc.

References m_resources, NS_FATAL_ERROR, NS_LOG_INFO, and WriteXmlUpdateNodeImage().

Referenced by modify().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateNodeSize() [1/2]

void ns3::AnimationInterface::UpdateNodeSize ( Ptr< Node n,
double  width,
double  height 
)

Helper function to update the size of a node.

Parameters
nPtr to the node
widthWidth of the node
heightHeight of the node

Definition at line 377 of file animation-interface.cc.

References UpdateNodeSize().

Referenced by modify(), UpdateAnimation(), UpdateNodeSize(), and WriteNodeSizes().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateNodeSize() [2/2]

void ns3::AnimationInterface::UpdateNodeSize ( uint32_t  nodeId,
double  width,
double  height 
)

Helper function to update the size of a node.

Parameters
nodeIdId of the node
widthWidth of the node
heightHeight of the node

Definition at line 383 of file animation-interface.cc.

References ns3::AnimationInterface::NodeSize::height, m_nodeSizes, ns3::AnimationInterface::NodeSize::width, and WriteXmlUpdateNodeSize().

+ Here is the call graph for this function:

◆ UpdatePosition() [1/3]

Vector ns3::AnimationInterface::UpdatePosition ( Ptr< NetDevice ndev)
private

Update position function.

Parameters
ndevthe device
Returns
the position vector

Definition at line 1751 of file animation-interface.cc.

References NS_ASSERT, and UpdatePosition().

+ Here is the call graph for this function:

◆ UpdatePosition() [2/3]

Vector ns3::AnimationInterface::UpdatePosition ( Ptr< Node n)
private

Update position function.

Parameters
nthe node
Returns
the position vector

Definition at line 1719 of file animation-interface.cc.

References m_nodeLocation, and NS_LOG_UNCOND.

Referenced by CsmaPhyRxEndTrace(), CsmaPhyTxBeginTrace(), CsmaPhyTxEndTrace(), GenericWirelessRxTrace(), GenericWirelessTxTrace(), GetMovedNodes(), LrWpanPhyRxBeginTrace(), LrWpanPhyTxBeginTrace(), LteSpectrumPhyRxStart(), LteSpectrumPhyTxStart(), MobilityCourseChangeTrace(), UpdatePosition(), WifiPhyRxBeginTrace(), WifiPhyTxBeginTrace(), WriteLinkProperties(), and WriteNodes().

+ Here is the caller graph for this function:

◆ UpdatePosition() [3/3]

Vector ns3::AnimationInterface::UpdatePosition ( Ptr< Node n,
Vector  v 
)
private

Update position function.

Parameters
nthe node
vthe vector
Returns
the position vector

Definition at line 1744 of file animation-interface.cc.

References m_nodeLocation.

◆ WifiMacRxDropTrace()

void ns3::AnimationInterface::WifiMacRxDropTrace ( std::string  context,
Ptr< const Packet p 
)
private

wifi MAC receive drop trace function

Parameters
contextthe context
pthe packet

Definition at line 733 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeWifiMacRxDrop.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WifiMacRxTrace()

void ns3::AnimationInterface::WifiMacRxTrace ( std::string  context,
Ptr< const Packet p 
)
private

wifi MAC receive trace function

Parameters
contextthe context
pthe packet

Definition at line 726 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeWifiMacRx.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WifiMacTxDropTrace()

void ns3::AnimationInterface::WifiMacTxDropTrace ( std::string  context,
Ptr< const Packet p 
)
private

wifi MAC transmit drop trace function

Parameters
contextthe context
pthe packet

Definition at line 719 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeWifiMacTxDrop.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WifiMacTxTrace()

void ns3::AnimationInterface::WifiMacTxTrace ( std::string  context,
Ptr< const Packet p 
)
private

wifi MAC transmit trace function

Parameters
contextthe context
pthe packet

Definition at line 712 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeWifiMacTx.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WifiPhyRxBeginTrace()

void ns3::AnimationInterface::WifiPhyRxBeginTrace ( std::string  context,
Ptr< const Packet p,
RxPowerWattPerChannelBand  rxPowersW 
)
private

wifi Phy receive begin trace function

Parameters
contextthe context
pthe packet
rxPowersWthe receive power per channel band in Watts
Todo:
NS_ASSERT (WifiPacketIsPending (animUid) == true);

Definition at line 965 of file animation-interface.cc.

References AddPendingPacket(), CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, ns3::WifiMacHeader::GetAddr2(), GetAnimUidFromPacket(), GetNetDeviceFromContext(), ns3::NodeList::GetNode(), IsPacketPending(), m_macToNodeIdMap, m_pendingWifiPackets, ns3::Simulator::Now(), NS_ASSERT, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_WARN, OutputWirelessPacketRxInfo(), UpdatePosition(), and WIFI.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WifiPhyRxDropTrace()

void ns3::AnimationInterface::WifiPhyRxDropTrace ( std::string  context,
Ptr< const Packet p,
WifiPhyRxfailureReason  reason 
)
private

wifi Phy receive drop trace function

Parameters
contextthe context
pthe packet
reasonthe reason

Definition at line 703 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeWifiPhyRxDrop.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WifiPhyTxBeginTrace()

void ns3::AnimationInterface::WifiPhyTxBeginTrace ( std::string  context,
WifiConstPsduMap  psduMap,
WifiTxVector  txVector,
double  txPowerW 
)
private

wifi Phy transmit PSDU begin trace function

Parameters
contextthe context
psduMapthe PSDU map
txVectorthe TXVECTOR
txPowerWthe tx power in Watts

Definition at line 918 of file animation-interface.cc.

References AddByteTag(), AddPendingPacket(), CHECK_STARTED_INTIMEWINDOW_TRACKPACKETS, gAnimUid, GetNetDeviceFromContext(), m_macToNodeIdMap, ns3::Simulator::Now(), NS_ABORT_MSG, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, OutputWirelessPacketTxInfo(), ns3::PeekPointer(), ProtocolTypeToPendingPackets(), UpdatePosition(), and WIFI.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WifiPhyTxDropTrace()

void ns3::AnimationInterface::WifiPhyTxDropTrace ( std::string  context,
Ptr< const Packet p 
)
private

wifi Phy transmit drop trace function

Parameters
contextthe context
pthe packet

Definition at line 696 of file animation-interface.cc.

References GetNodeFromContext(), and m_nodeWifiPhyTxDrop.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WimaxRxTrace()

void ns3::AnimationInterface::WimaxRxTrace ( std::string  context,
Ptr< const Packet p,
const Mac48Address m 
)
private

WIMax receive trace function.

Parameters
contextthe context
pthe packet
mthe MAC address

Definition at line 1090 of file animation-interface.cc.

References GenericWirelessRxTrace(), NS_LOG_FUNCTION, and WIMAX.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WimaxTxTrace()

void ns3::AnimationInterface::WimaxTxTrace ( std::string  context,
Ptr< const Packet p,
const Mac48Address m 
)
private

WIMax transmit trace function.

Parameters
contextthe context
pthe packet
mthe MAC address

Definition at line 1083 of file animation-interface.cc.

References GenericWirelessTxTrace(), NS_LOG_FUNCTION, and WIMAX.

Referenced by ConnectCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteIpv4Addresses()

void ns3::AnimationInterface::WriteIpv4Addresses ( )
private

Write IPv4 Addresses function.

Definition at line 1887 of file animation-interface.cc.

References m_nodeIdIpv4Map, and WriteXmlIpv4Addresses().

Referenced by StartAnimation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteIpv6Addresses()

void ns3::AnimationInterface::WriteIpv6Addresses ( )
private

Write IPv6 Addresses function.

Definition at line 1902 of file animation-interface.cc.

References m_nodeIdIpv6Map, and WriteXmlIpv6Addresses().

Referenced by StartAnimation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteLinkProperties()

void ns3::AnimationInterface::WriteLinkProperties ( )
private

Write link properties function.

Definition at line 1918 of file animation-interface.cc.

References AddToIpv4AddressNodeIdTable(), AddToIpv6AddressNodeIdTable(), ns3::NodeList::Begin(), ns3::NodeList::End(), ns3::AnimationInterface::P2pLinkNodeIdPair::fromNode, GetIpv4Address(), GetIpv4Addresses(), GetIpv6Address(), GetIpv6Addresses(), GetMacAddress(), m_linkProperties, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_INFO, ns3::AnimationInterface::P2pLinkNodeIdPair::toNode, UpdatePosition(), WriteNonP2pLinkProperties(), and WriteXmlLink().

Referenced by StartAnimation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteN() [1/2]

int ns3::AnimationInterface::WriteN ( const char *  data,
uint32_t  count,
FILE *  f 
)
private

WriteN function.

Parameters
datathe data t write
countthe number of bytes to write
fthe file to write to
Returns
the number of bytes written

Definition at line 545 of file animation-interface.cc.

References data.

Referenced by WriteN(), WriteXmlAddNodeCounter(), WriteXmlAddResource(), WriteXmlAnim(), WriteXmlClose(), WriteXmlIpv4Addresses(), WriteXmlIpv6Addresses(), WriteXmlLink(), WriteXmlNode(), WriteXmlNonP2pLinkProperties(), WriteXmlP(), WriteXmlPRef(), WriteXmlRouting(), WriteXmlRp(), WriteXmlUpdateBackground(), WriteXmlUpdateLink(), WriteXmlUpdateNodeColor(), WriteXmlUpdateNodeCounter(), WriteXmlUpdateNodeDescription(), WriteXmlUpdateNodeImage(), WriteXmlUpdateNodePosition(), and WriteXmlUpdateNodeSize().

+ Here is the caller graph for this function:

◆ WriteN() [2/2]

int ns3::AnimationInterface::WriteN ( const std::string &  st,
FILE *  f 
)
private

WriteN function.

Parameters
stthe string to output
fthe file to write to
Returns
the number of bytes written

Definition at line 531 of file animation-interface.cc.

References m_writeCallback, and WriteN().

+ Here is the call graph for this function:

◆ WriteNodeColors()

void ns3::AnimationInterface::WriteNodeColors ( )
private

Write node colors function.

Definition at line 2031 of file animation-interface.cc.

References ns3::AnimationInterface::Rgb::b, ns3::NodeList::Begin(), ns3::NodeList::End(), ns3::AnimationInterface::Rgb::g, m_nodeColors, ns3::AnimationInterface::Rgb::r, and UpdateNodeColor().

Referenced by StartAnimation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteNodeEnergies()

void ns3::AnimationInterface::WriteNodeEnergies ( )
private

Write node energies function.

Definition at line 2059 of file animation-interface.cc.

References AddNodeCounter(), ns3::NodeList::Begin(), DOUBLE_COUNTER, ns3::NodeList::End(), ns3::NodeList::GetNode(), ns3::Object::GetObject(), m_remainingEnergyCounterId, and UpdateNodeCounter().

Referenced by StartAnimation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteNodes()

void ns3::AnimationInterface::WriteNodes ( )
private

Write nodes function.

Definition at line 2019 of file animation-interface.cc.

References ns3::NodeList::Begin(), ns3::NodeList::End(), NS_LOG_INFO, UpdatePosition(), and WriteXmlNode().

Referenced by StartAnimation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteNodeSizes()

void ns3::AnimationInterface::WriteNodeSizes ( )
private

Write node sizes function.

Definition at line 2046 of file animation-interface.cc.

References ns3::NodeList::Begin(), ns3::NodeList::End(), ns3::AnimationInterface::NodeSize::height, m_nodeSizes, NS_LOG_INFO, UpdateNodeSize(), and ns3::AnimationInterface::NodeSize::width.

Referenced by StartAnimation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteNodeUpdate()

void ns3::AnimationInterface::WriteNodeUpdate ( uint32_t  nodeId)
private

Write node update function.

Parameters
nodeIdthe node ID

◆ WriteNonP2pLinkProperties()

void ns3::AnimationInterface::WriteNonP2pLinkProperties ( uint32_t  id,
std::string  ipv4Address,
std::string  channelType 
)
private

Write non P2P link properties function.

Parameters
idthe ID
ipv4Addressthe IP address
channelTypethe channel type

Definition at line 588 of file animation-interface.cc.

References WriteXmlNonP2pLinkProperties().

Referenced by WriteLinkProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteRoutePath()

void ns3::AnimationInterface::WriteRoutePath ( uint32_t  nodeId,
std::string  destination,
Ipv4RoutePathElements  rpElements 
)
private

Write route path function.

Parameters
nodeIdthe node ID
destinationthe destination
rpElementsthe IPv4 routing path elements

Definition at line 570 of file animation-interface.cc.

References NS_LOG_INFO, and WriteXmlRp().

Referenced by TrackIpv4RoutePaths().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlAddNodeCounter()

void ns3::AnimationInterface::WriteXmlAddNodeCounter ( uint32_t  counterId,
std::string  counterName,
CounterType  counterType 
)
private

Write XML add node counter function.

Parameters
counterIdthe counter ID
counterNamethe counter name
counterTypethe counter type

Definition at line 2597 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), CounterTypeToString(), m_f, ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by AddNodeCounter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlAddResource()

void ns3::AnimationInterface::WriteXmlAddResource ( uint32_t  resourceId,
std::string  resourcePath 
)
private

Write XML add resource function.

Parameters
resourceIdthe resource ID
resourcePaththe resource path

Definition at line 2609 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by AddResource().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlAnim()

void ns3::AnimationInterface::WriteXmlAnim ( bool  routing = false)
private

Write XML anim function.

Parameters
routingthe routing

Definition at line 2401 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), GetNetAnimVersion(), m_f, m_routingF, ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by EnableIpv4RouteTracking(), and StartAnimation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlClose()

void ns3::AnimationInterface::WriteXmlClose ( std::string  name,
bool  routing = false 
)
private

Write XML close function.

Parameters
namethe name
routingtrue if routing

Definition at line 2419 of file animation-interface.cc.

References m_f, m_routingF, and WriteN().

Referenced by StopAnimation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlIpv4Addresses()

void ns3::AnimationInterface::WriteXmlIpv4Addresses ( uint32_t  nodeId,
std::vector< std::string >  ipv4Addresses 
)
private

Write XML Ipv4 addresses function.

Parameters
nodeIdthe node ID
ipv4Addressesthe list of Ipv4 addresses

Definition at line 2484 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), ns3::AnimationInterface::AnimXmlElement::AppendChild(), m_f, ns3::AnimationInterface::AnimXmlElement::SetText(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by WriteIpv4Addresses().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlIpv6Addresses()

void ns3::AnimationInterface::WriteXmlIpv6Addresses ( uint32_t  nodeId,
std::vector< std::string >  ipv6Addresses 
)
private

Write XML Ipv6 addresses function.

Parameters
nodeIdthe node ID
ipv6Addressesthe list of Ipv6 addresses

Definition at line 2498 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), ns3::AnimationInterface::AnimXmlElement::AppendChild(), m_f, ns3::AnimationInterface::AnimXmlElement::SetText(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by WriteIpv6Addresses().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlLink()

void ns3::AnimationInterface::WriteXmlLink ( uint32_t  fromId,
uint32_t  toLp,
uint32_t  toId 
)
private

Write XML link counter function.

Parameters
fromIdthe from device
toLpthe to device
toIdthe to ID

Definition at line 2455 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), ns3::AnimationInterface::LinkProperties::fromNodeDescription, ns3::AnimationInterface::LinkProperties::linkDescription, m_f, m_linkProperties, ns3::AnimationInterface::LinkProperties::toNodeDescription, ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by WriteLinkProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlNode()

void ns3::AnimationInterface::WriteXmlNode ( uint32_t  id,
uint32_t  sysId,
double  locX,
double  locY 
)
private

Write XML node function.

Parameters
idthe ID
sysIdthe system ID
locXthe x location
locYthe y location

Definition at line 2433 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by WriteNodes().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlNonP2pLinkProperties()

void ns3::AnimationInterface::WriteXmlNonP2pLinkProperties ( uint32_t  id,
std::string  ipAddress,
std::string  channelType 
)
private

Write XML non P2P link properties function.

Parameters
idthe ID
ipAddressthe IP address
channelTypethe channel type

Definition at line 2711 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by WriteNonP2pLinkProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlP() [1/2]

void ns3::AnimationInterface::WriteXmlP ( std::string  pktType,
uint32_t  fId,
double  fbTx,
double  lbTx,
uint32_t  tId,
double  fbRx,
double  lbRx,
std::string  metaInfo = "" 
)
private

Write XMLP function.

Parameters
pktTypethe packet type
fIdthe FID
fbTxthe FB transmit
lbTxthe LB transmit
tIdthe TID
fbRxthe FB receive
lbRxthe LB receive
metaInfothe meta info

Definition at line 2573 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by DevTxTrace(), OutputCsmaPacket(), and OutputWirelessPacketRxInfo().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlP() [2/2]

void ns3::AnimationInterface::WriteXmlP ( uint64_t  animUid,
std::string  pktType,
uint32_t  fId,
double  fbTx,
double  lbTx 
)
private

Write XMLP function.

Parameters
animUidthe UID
pktTypethe packet type
fIdthe FID
fbTxthe FB transmit
lbTxthe LB transmit

Definition at line 2558 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

+ Here is the call graph for this function:

◆ WriteXmlPRef()

void ns3::AnimationInterface::WriteXmlPRef ( uint64_t  animUid,
uint32_t  fId,
double  fbTx,
std::string  metaInfo = "" 
)
private

Write XMLP Ref function.

Parameters
animUidthe UID
fIdthe FID
fbTxthe FB transmit
metaInfothe meta info

Definition at line 2544 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by OutputWirelessPacketTxInfo().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlRouting()

void ns3::AnimationInterface::WriteXmlRouting ( uint32_t  id,
std::string  routingInfo 
)
private

Write XML routing function.

Parameters
idthe ID
routingInfothe routing info

Definition at line 2512 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_routingF, ns3::Simulator::Now(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by TrackIpv4Route().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlRp()

void ns3::AnimationInterface::WriteXmlRp ( uint32_t  nodeId,
std::string  destination,
Ipv4RoutePathElements  rpElements 
)
private

Write XMLRP function.

Parameters
nodeIdthe node ID
destinationthe destination
rpElementsthe route path elements

Definition at line 2522 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), ns3::AnimationInterface::AnimXmlElement::AppendChild(), m_routingF, ns3::AnimationInterface::Ipv4RoutePathElement::nextHop, ns3::AnimationInterface::Ipv4RoutePathElement::nodeId, ns3::Simulator::Now(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by WriteRoutePath().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlUpdateBackground()

void ns3::AnimationInterface::WriteXmlUpdateBackground ( std::string  fileName,
double  x,
double  y,
double  scaleX,
double  scaleY,
double  opacity 
)
private

Write XML update background function.

Parameters
fileNamethe file name
xthe X value
ythe Y value
scaleXthe X scale
scaleYthe Y scale
opacitythe opacity

Definition at line 2693 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by SetBackgroundImage().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlUpdateLink()

void ns3::AnimationInterface::WriteXmlUpdateLink ( uint32_t  fromId,
uint32_t  toId,
std::string  linkDescription 
)
private

Write XML update link counter function.

Parameters
fromIdthe from device
toIdthe to device
linkDescriptionthe link description

Definition at line 2444 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::Simulator::Now(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by UpdateLinkDescription().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlUpdateNodeColor()

void ns3::AnimationInterface::WriteXmlUpdateNodeColor ( uint32_t  nodeId,
uint8_t  r,
uint8_t  g,
uint8_t  b 
)
private

Write XML update node color function.

Parameters
nodeIdthe node ID
rthe red color
gthe green color
bthe blue color

Definition at line 2653 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::Simulator::Now(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by UpdateNodeColor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlUpdateNodeCounter()

void ns3::AnimationInterface::WriteXmlUpdateNodeCounter ( uint32_t  counterId,
uint32_t  nodeId,
double  value 
)
private

Write XML update node counter function.

Parameters
counterIdthe counter ID
nodeIdthe node ID
valuethe node counter value

Definition at line 2680 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::Simulator::Now(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by UpdateNodeCounter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlUpdateNodeDescription()

void ns3::AnimationInterface::WriteXmlUpdateNodeDescription ( uint32_t  nodeId)
private

Write XML update node description function.

Parameters
nodeIdthe node ID

Definition at line 2666 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, m_nodeDescriptions, ns3::Simulator::Now(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by UpdateNodeDescription().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlUpdateNodeImage()

void ns3::AnimationInterface::WriteXmlUpdateNodeImage ( uint32_t  nodeId,
uint32_t  resourceId 
)
private

Write XML update node image function.

Parameters
nodeIdthe node ID
resourceIdthe resource ID

Definition at line 2618 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::Simulator::Now(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by UpdateNodeImage().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlUpdateNodePosition()

void ns3::AnimationInterface::WriteXmlUpdateNodePosition ( uint32_t  nodeId,
double  x,
double  y 
)
private

Write XML update node position function.

Parameters
nodeIdthe node ID
xthe X position
ythe Y position

Definition at line 2641 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::Simulator::Now(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by MobilityAutoCheck(), and MobilityCourseChangeTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteXmlUpdateNodeSize()

void ns3::AnimationInterface::WriteXmlUpdateNodeSize ( uint32_t  nodeId,
double  width,
double  height 
)
private

Write XML update node size function.

Parameters
nodeIdthe node ID
widththe width
heightthe height

Definition at line 2629 of file animation-interface.cc.

References ns3::AnimationInterface::AnimXmlElement::AddAttribute(), m_f, ns3::Simulator::Now(), ns3::AnimationInterface::AnimXmlElement::ToString(), and WriteN().

Referenced by UpdateNodeSize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ gAnimUid

uint64_t ns3::AnimationInterface::gAnimUid
private

◆ m_currentPktCount

uint64_t ns3::AnimationInterface::m_currentPktCount
private

current packet count

Definition at line 683 of file animation-interface.h.

Referenced by CheckMaxPktsPerTraceFile(), GetTracePktCount(), and StartAnimation().

◆ m_enablePacketMetadata

bool ns3::AnimationInterface::m_enablePacketMetadata
private

enable packet metadata

Definition at line 626 of file animation-interface.h.

Referenced by DevTxTrace(), EnablePacketMetadata(), OutputCsmaPacket(), and OutputWirelessPacketTxInfo().

◆ m_f

◆ m_ipv4L3ProtocolCountersPollInterval

Time ns3::AnimationInterface::m_ipv4L3ProtocolCountersPollInterval
private

IPv4 L3 protocol counters poll interval.

Definition at line 636 of file animation-interface.h.

Referenced by EnableIpv4L3ProtocolCounters(), and TrackIpv4L3ProtocolCounters().

◆ m_ipv4L3ProtocolCountersStopTime

Time ns3::AnimationInterface::m_ipv4L3ProtocolCountersStopTime
private

IPv4 L3 protocol counters stop time.

Definition at line 635 of file animation-interface.h.

Referenced by EnableIpv4L3ProtocolCounters(), and TrackIpv4L3ProtocolCounters().

◆ m_ipv4L3ProtocolDropCounterId

uint32_t ns3::AnimationInterface::m_ipv4L3ProtocolDropCounterId
private

IPv4 protocol drop counter ID.

Definition at line 651 of file animation-interface.h.

Referenced by EnableIpv4L3ProtocolCounters(), and TrackIpv4L3ProtocolCounters().

◆ m_ipv4L3ProtocolRxCounterId

uint32_t ns3::AnimationInterface::m_ipv4L3ProtocolRxCounterId
private

IPv4 L3 protocol receive counter ID.

Definition at line 650 of file animation-interface.h.

Referenced by EnableIpv4L3ProtocolCounters(), and TrackIpv4L3ProtocolCounters().

◆ m_ipv4L3ProtocolTxCounterId

uint32_t ns3::AnimationInterface::m_ipv4L3ProtocolTxCounterId
private

IPv4 L3 protocol transmit counter ID.

Definition at line 649 of file animation-interface.h.

Referenced by EnableIpv4L3ProtocolCounters(), and TrackIpv4L3ProtocolCounters().

◆ m_ipv4RouteTrackElements

std::vector<Ipv4RouteTrackElement> ns3::AnimationInterface::m_ipv4RouteTrackElements
private

IPv route track elements.

Definition at line 684 of file animation-interface.h.

Referenced by AddSourceDestination(), and TrackIpv4RoutePaths().

◆ m_ipv4ToNodeIdMap

std::map<std::string, uint32_t> ns3::AnimationInterface::m_ipv4ToNodeIdMap
private

IPv4 to node ID map.

Definition at line 674 of file animation-interface.h.

Referenced by AddToIpv4AddressNodeIdTable(), RecursiveIpv4RoutePathSearch(), and TrackIpv4RoutePaths().

◆ m_ipv6ToNodeIdMap

std::map<std::string, uint32_t> ns3::AnimationInterface::m_ipv6ToNodeIdMap
private

IPv6 to node ID map.

Definition at line 675 of file animation-interface.h.

Referenced by AddToIpv6AddressNodeIdTable().

◆ m_linkProperties

LinkPropertiesMap ns3::AnimationInterface::m_linkProperties
private

link properties

Definition at line 681 of file animation-interface.h.

Referenced by WriteLinkProperties(), and WriteXmlLink().

◆ m_macToNodeIdMap

std::map<std::string, uint32_t> ns3::AnimationInterface::m_macToNodeIdMap
private

MAC to node ID map.

Definition at line 673 of file animation-interface.h.

Referenced by GenericWirelessTxTrace(), LrWpanPhyTxBeginTrace(), WifiPhyRxBeginTrace(), and WifiPhyTxBeginTrace().

◆ m_maxPktsPerFile

uint64_t ns3::AnimationInterface::m_maxPktsPerFile
private

maximum packets per file

Definition at line 629 of file animation-interface.h.

Referenced by CheckMaxPktsPerTraceFile(), and SetMaxPktsPerTraceFile().

◆ m_mobilityPollInterval

Time ns3::AnimationInterface::m_mobilityPollInterval
private

mobility poll interval

Definition at line 621 of file animation-interface.h.

Referenced by MobilityAutoCheck(), SetMobilityPollInterval(), and StartAnimation().

◆ m_nodeColors

NodeColorsMap ns3::AnimationInterface::m_nodeColors
private

node colors

Definition at line 679 of file animation-interface.h.

Referenced by UpdateNodeColor(), and WriteNodeColors().

◆ m_nodeCounters

std::vector<std::string> ns3::AnimationInterface::m_nodeCounters
private

node counters

Definition at line 687 of file animation-interface.h.

Referenced by AddNodeCounter(), and UpdateNodeCounter().

◆ m_nodeDescriptions

NodeDescriptionsMap ns3::AnimationInterface::m_nodeDescriptions
private

node description

Definition at line 680 of file animation-interface.h.

Referenced by UpdateNodeDescription(), and WriteXmlUpdateNodeDescription().

◆ m_nodeEnergyFraction

EnergyFractionMap ns3::AnimationInterface::m_nodeEnergyFraction
private

node energy fraction

Definition at line 682 of file animation-interface.h.

Referenced by GetNodeEnergyFraction(), and RemainingEnergyTrace().

◆ m_nodeIdIpv4Map

NodeIdIpv4Map ns3::AnimationInterface::m_nodeIdIpv4Map
private

node ID to IPv4 map

Definition at line 676 of file animation-interface.h.

Referenced by AddToIpv4AddressNodeIdTable(), and WriteIpv4Addresses().

◆ m_nodeIdIpv6Map

NodeIdIpv6Map ns3::AnimationInterface::m_nodeIdIpv6Map
private

node ID to IPv6 map

Definition at line 677 of file animation-interface.h.

Referenced by AddToIpv6AddressNodeIdTable(), and WriteIpv6Addresses().

◆ m_nodeIpv4Drop

NodeCounterMap64 ns3::AnimationInterface::m_nodeIpv4Drop
private

node IPv4 drop

Definition at line 690 of file animation-interface.h.

Referenced by EnableIpv4L3ProtocolCounters(), Ipv4DropTrace(), and TrackIpv4L3ProtocolCounters().

◆ m_nodeIpv4Rx

NodeCounterMap64 ns3::AnimationInterface::m_nodeIpv4Rx
private

node IPv4 receive

Definition at line 692 of file animation-interface.h.

Referenced by EnableIpv4L3ProtocolCounters(), Ipv4RxTrace(), and TrackIpv4L3ProtocolCounters().

◆ m_nodeIpv4Tx

NodeCounterMap64 ns3::AnimationInterface::m_nodeIpv4Tx
private

node IPv4 transmit

Definition at line 691 of file animation-interface.h.

Referenced by EnableIpv4L3ProtocolCounters(), Ipv4TxTrace(), and TrackIpv4L3ProtocolCounters().

◆ m_nodeLocation

std::map<uint32_t, Vector> ns3::AnimationInterface::m_nodeLocation
private

node location

Definition at line 672 of file animation-interface.h.

Referenced by GetPosition(), and UpdatePosition().

◆ m_nodeLrWpanMacRx

NodeCounterMap64 ns3::AnimationInterface::m_nodeLrWpanMacRx
private

node LR-WPAN MAC receive

Definition at line 704 of file animation-interface.h.

Referenced by LrWpanMacRxTrace().

◆ m_nodeLrWpanMacRxDrop

NodeCounterMap64 ns3::AnimationInterface::m_nodeLrWpanMacRxDrop
private

node LR-WPAN MAC receive drop

Definition at line 705 of file animation-interface.h.

Referenced by LrWpanMacRxDropTrace().

◆ m_nodeLrWpanMacTx

NodeCounterMap64 ns3::AnimationInterface::m_nodeLrWpanMacTx
private

node LR-WPAN MAC transmit

Definition at line 702 of file animation-interface.h.

Referenced by LrWpanMacTxTrace().

◆ m_nodeLrWpanMacTxDrop

NodeCounterMap64 ns3::AnimationInterface::m_nodeLrWpanMacTxDrop
private

node LR-WPAN MAC transmit drop

Definition at line 703 of file animation-interface.h.

Referenced by LrWpanMacTxDropTrace().

◆ m_nodeQueueDequeue

NodeCounterMap64 ns3::AnimationInterface::m_nodeQueueDequeue
private

node queue dequeue

Definition at line 694 of file animation-interface.h.

Referenced by DequeueTrace(), EnableQueueCounters(), and TrackQueueCounters().

◆ m_nodeQueueDrop

NodeCounterMap64 ns3::AnimationInterface::m_nodeQueueDrop
private

node queue drop

Definition at line 695 of file animation-interface.h.

Referenced by EnableQueueCounters(), QueueDropTrace(), and TrackQueueCounters().

◆ m_nodeQueueEnqueue

NodeCounterMap64 ns3::AnimationInterface::m_nodeQueueEnqueue
private

node queue enqueue

Definition at line 693 of file animation-interface.h.

Referenced by EnableQueueCounters(), EnqueueTrace(), and TrackQueueCounters().

◆ m_nodeSizes

std::map<uint32_t, NodeSize> ns3::AnimationInterface::m_nodeSizes
private

node sizes

Definition at line 685 of file animation-interface.h.

Referenced by UpdateNodeSize(), and WriteNodeSizes().

◆ m_nodeWifiMacRx

NodeCounterMap64 ns3::AnimationInterface::m_nodeWifiMacRx
private

node wifi MAC receive

Definition at line 698 of file animation-interface.h.

Referenced by EnableWifiMacCounters(), TrackWifiMacCounters(), and WifiMacRxTrace().

◆ m_nodeWifiMacRxDrop

NodeCounterMap64 ns3::AnimationInterface::m_nodeWifiMacRxDrop
private

node wifi MAC receive drop

Definition at line 699 of file animation-interface.h.

Referenced by EnableWifiMacCounters(), TrackWifiMacCounters(), and WifiMacRxDropTrace().

◆ m_nodeWifiMacTx

NodeCounterMap64 ns3::AnimationInterface::m_nodeWifiMacTx
private

node wifi MAC transmit

Definition at line 696 of file animation-interface.h.

Referenced by EnableWifiMacCounters(), TrackWifiMacCounters(), and WifiMacTxTrace().

◆ m_nodeWifiMacTxDrop

NodeCounterMap64 ns3::AnimationInterface::m_nodeWifiMacTxDrop
private

node wifi MAC transmit drop

Definition at line 697 of file animation-interface.h.

Referenced by EnableWifiMacCounters(), TrackWifiMacCounters(), and WifiMacTxDropTrace().

◆ m_nodeWifiPhyRxDrop

NodeCounterMap64 ns3::AnimationInterface::m_nodeWifiPhyRxDrop
private

node wifi Phy receive drop

Definition at line 701 of file animation-interface.h.

Referenced by EnableWifiPhyCounters(), TrackWifiPhyCounters(), and WifiPhyRxDropTrace().

◆ m_nodeWifiPhyTxDrop

NodeCounterMap64 ns3::AnimationInterface::m_nodeWifiPhyTxDrop
private

node wifi Phy transmit drop

Definition at line 700 of file animation-interface.h.

Referenced by EnableWifiPhyCounters(), TrackWifiPhyCounters(), and WifiPhyTxDropTrace().

◆ m_originalFileName

std::string ns3::AnimationInterface::m_originalFileName
private

original file name

Definition at line 630 of file animation-interface.h.

◆ m_outputFileName

std::string ns3::AnimationInterface::m_outputFileName
private

output file name

Definition at line 622 of file animation-interface.h.

Referenced by SetOutputFile(), and StartAnimation().

◆ m_pendingCsmaPackets

AnimUidPacketInfoMap ns3::AnimationInterface::m_pendingCsmaPackets
private

pending CSMA packets

Definition at line 669 of file animation-interface.h.

Referenced by CsmaMacRxTrace(), CsmaPhyRxEndTrace(), CsmaPhyTxEndTrace(), and ProtocolTypeToPendingPackets().

◆ m_pendingLrWpanPackets

AnimUidPacketInfoMap ns3::AnimationInterface::m_pendingLrWpanPackets
private

pending LR-WPAN packets

Definition at line 667 of file animation-interface.h.

Referenced by LrWpanPhyRxBeginTrace(), LrWpanPhyTxBeginTrace(), and ProtocolTypeToPendingPackets().

◆ m_pendingLtePackets

AnimUidPacketInfoMap ns3::AnimationInterface::m_pendingLtePackets
private

pending LTE packets

Definition at line 668 of file animation-interface.h.

Referenced by LteSpectrumPhyRxStart(), and ProtocolTypeToPendingPackets().

◆ m_pendingUanPackets

AnimUidPacketInfoMap ns3::AnimationInterface::m_pendingUanPackets
private

pending UAN packets

Definition at line 670 of file animation-interface.h.

Referenced by ProtocolTypeToPendingPackets().

◆ m_pendingWifiPackets

AnimUidPacketInfoMap ns3::AnimationInterface::m_pendingWifiPackets
private

pending wifi packets

Definition at line 665 of file animation-interface.h.

Referenced by ProtocolTypeToPendingPackets(), and WifiPhyRxBeginTrace().

◆ m_pendingWimaxPackets

AnimUidPacketInfoMap ns3::AnimationInterface::m_pendingWimaxPackets
private

pending wimax packets

Definition at line 666 of file animation-interface.h.

Referenced by ProtocolTypeToPendingPackets().

◆ m_queueCountersPollInterval

Time ns3::AnimationInterface::m_queueCountersPollInterval
private

queue counters poll interval

Definition at line 638 of file animation-interface.h.

Referenced by EnableQueueCounters(), and TrackQueueCounters().

◆ m_queueCountersStopTime

Time ns3::AnimationInterface::m_queueCountersStopTime
private

queue counters stop time

Definition at line 637 of file animation-interface.h.

Referenced by EnableQueueCounters(), and TrackQueueCounters().

◆ m_queueDequeueCounterId

uint32_t ns3::AnimationInterface::m_queueDequeueCounterId
private

queue dequeue counter ID

Definition at line 654 of file animation-interface.h.

Referenced by EnableQueueCounters(), and TrackQueueCounters().

◆ m_queueDropCounterId

uint32_t ns3::AnimationInterface::m_queueDropCounterId
private

queue drop counter ID

Definition at line 655 of file animation-interface.h.

Referenced by EnableQueueCounters(), and TrackQueueCounters().

◆ m_queueEnqueueCounterId

uint32_t ns3::AnimationInterface::m_queueEnqueueCounterId
private

queue enqueue counter ID

Definition at line 653 of file animation-interface.h.

Referenced by EnableQueueCounters(), and TrackQueueCounters().

◆ m_remainingEnergyCounterId

uint32_t ns3::AnimationInterface::m_remainingEnergyCounterId
private

remaining energy counter ID

Definition at line 647 of file animation-interface.h.

Referenced by RemainingEnergyTrace(), and WriteNodeEnergies().

◆ m_resources

std::vector<std::string> ns3::AnimationInterface::m_resources
private

resources

Definition at line 686 of file animation-interface.h.

Referenced by AddResource(), and UpdateNodeImage().

◆ m_routingF

FILE* ns3::AnimationInterface::m_routingF
private

File handle for routing table output (0 if None);.

Definition at line 620 of file animation-interface.h.

Referenced by SetOutputFile(), StopAnimation(), WriteXmlAnim(), WriteXmlClose(), WriteXmlRouting(), and WriteXmlRp().

◆ m_routingFileName

std::string ns3::AnimationInterface::m_routingFileName
private

routing file name

Definition at line 632 of file animation-interface.h.

Referenced by SetOutputFile().

◆ m_routingNc

NodeContainer ns3::AnimationInterface::m_routingNc
private

routing node container

Definition at line 634 of file animation-interface.h.

Referenced by EnableIpv4RouteTracking(), and TrackIpv4Route().

◆ m_routingPollInterval

Time ns3::AnimationInterface::m_routingPollInterval
private

routing poll interval

Definition at line 633 of file animation-interface.h.

Referenced by EnableIpv4RouteTracking(), and TrackIpv4Route().

◆ m_routingStopTime

Time ns3::AnimationInterface::m_routingStopTime
private

routing stop time

Definition at line 631 of file animation-interface.h.

Referenced by EnableIpv4RouteTracking(), and TrackIpv4Route().

◆ m_started

bool ns3::AnimationInterface::m_started
private

started

Definition at line 625 of file animation-interface.h.

Referenced by IsStarted(), StartAnimation(), and StopAnimation().

◆ m_startTime

Time ns3::AnimationInterface::m_startTime
private

start time

Definition at line 627 of file animation-interface.h.

Referenced by IsInTimeWindow(), and SetStartTime().

◆ m_stopTime

Time ns3::AnimationInterface::m_stopTime
private

stop time

Definition at line 628 of file animation-interface.h.

Referenced by IsInTimeWindow(), and SetStopTime().

◆ m_trackPackets

bool ns3::AnimationInterface::m_trackPackets
private

track packets

Definition at line 644 of file animation-interface.h.

Referenced by SkipPacketTracing().

◆ m_wifiMacCountersPollInterval

Time ns3::AnimationInterface::m_wifiMacCountersPollInterval
private

wifi MAC counters poll interval

Definition at line 640 of file animation-interface.h.

Referenced by EnableWifiMacCounters(), and TrackWifiMacCounters().

◆ m_wifiMacCountersStopTime

Time ns3::AnimationInterface::m_wifiMacCountersStopTime
private

wifi MAC counters stop time

Definition at line 639 of file animation-interface.h.

Referenced by EnableWifiMacCounters(), and TrackWifiMacCounters().

◆ m_wifiMacRxCounterId

uint32_t ns3::AnimationInterface::m_wifiMacRxCounterId
private

wifi MAC receive counter ID

Definition at line 659 of file animation-interface.h.

Referenced by EnableWifiMacCounters(), and TrackWifiMacCounters().

◆ m_wifiMacRxDropCounterId

uint32_t ns3::AnimationInterface::m_wifiMacRxDropCounterId
private

wifi MAC receive drop counter ID

Definition at line 660 of file animation-interface.h.

Referenced by EnableWifiMacCounters(), and TrackWifiMacCounters().

◆ m_wifiMacTxCounterId

uint32_t ns3::AnimationInterface::m_wifiMacTxCounterId
private

wifi MAC transmit counter ID

Definition at line 657 of file animation-interface.h.

Referenced by EnableWifiMacCounters(), and TrackWifiMacCounters().

◆ m_wifiMacTxDropCounterId

uint32_t ns3::AnimationInterface::m_wifiMacTxDropCounterId
private

wifi MAC transmit drop counter ID

Definition at line 658 of file animation-interface.h.

Referenced by EnableWifiMacCounters(), and TrackWifiMacCounters().

◆ m_wifiPhyCountersPollInterval

Time ns3::AnimationInterface::m_wifiPhyCountersPollInterval
private

wifi Phy counters poll interval

Definition at line 642 of file animation-interface.h.

Referenced by EnableWifiPhyCounters(), and TrackWifiPhyCounters().

◆ m_wifiPhyCountersStopTime

Time ns3::AnimationInterface::m_wifiPhyCountersStopTime
private

wifi Phy counters stop time

Definition at line 641 of file animation-interface.h.

Referenced by EnableWifiPhyCounters(), and TrackWifiPhyCounters().

◆ m_wifiPhyRxDropCounterId

uint32_t ns3::AnimationInterface::m_wifiPhyRxDropCounterId
private

wifi Phy receive drop counter ID

Definition at line 663 of file animation-interface.h.

Referenced by EnableWifiPhyCounters(), and TrackWifiPhyCounters().

◆ m_wifiPhyTxDropCounterId

uint32_t ns3::AnimationInterface::m_wifiPhyTxDropCounterId
private

wifi Phy transmit drop counter ID

Definition at line 662 of file animation-interface.h.

Referenced by EnableWifiPhyCounters(), and TrackWifiPhyCounters().

◆ m_writeCallback

AnimWriteCallback ns3::AnimationInterface::m_writeCallback
private

write callback

Definition at line 624 of file animation-interface.h.

Referenced by ResetAnimWriteCallback(), SetAnimWriteCallback(), and WriteN().

◆ userBoundary

Rectangle* ns3::AnimationInterface::userBoundary
staticprivate

user boundary

Definition at line 643 of file animation-interface.h.


The documentation for this class was generated from the following files: