helper class to be used by the visualizer More...
#include <pyviz.h>
Collaboration diagram for ns3::PyViz:Classes | |
| struct | LastPacketsSample |
| struct | NetDeviceStatistics |
| struct | NodeStatistics |
| struct | PacketCaptureOptions |
| struct | PacketDropSample |
| struct | PacketSample |
| struct | RxPacketSample |
| struct | TransmissionSample |
| struct | TransmissionSampleKey |
| struct | TransmissionSampleValue |
| struct | TxPacketSample |
| struct | TxRecordValue |
Public Types | |
| enum | PacketCaptureMode { PACKET_CAPTURE_DISABLED =1, PACKET_CAPTURE_FILTER_HEADERS_OR, PACKET_CAPTURE_FILTER_HEADERS_AND } |
| typedef std::vector< PacketDropSample > | PacketDropSampleList |
| typedef std::vector< TransmissionSample > | TransmissionSampleList |
Public Member Functions | |
| PyViz () | |
| ~PyViz () | |
| LastPacketsSample | GetLastPackets (uint32_t nodeId) const |
| std::vector< NodeStatistics > | GetNodesStatistics () const |
| PacketDropSampleList | GetPacketDropSamples () const |
| std::vector< std::string > | GetPauseMessages () const |
| TransmissionSampleList | GetTransmissionSamples () const |
| void | RegisterCsmaLikeDevice (std::string const &deviceTypeName) |
| void | RegisterDropTracePath (std::string const &tracePath) |
| void | RegisterPointToPointLikeDevice (std::string const &deviceTypeName) |
| void | RegisterWifiLikeDevice (std::string const &deviceTypeName) |
| void | SetNodesOfInterest (std::set< uint32_t > nodes) |
| void | SetPacketCaptureOptions (uint32_t nodeId, PacketCaptureOptions options) |
| void | SimulatorRunUntil (Time time) |
Static Public Member Functions | |
| static void | LineClipping (double boundsX1, double boundsY1, double boundsX2, double boundsY2, double &lineX1, double &lineY1, double &lineX2, double &lineY2) |
| static void | Pause (std::string const &message) |
Private Types | |
| typedef std::pair< Ptr< Channel >, uint32_t > | TxRecordKey |
Private Member Functions | |
| void | CallbackStopSimulation () |
| void | DoPause (std::string const &message) |
| NetDeviceStatistics & | FindNetDeviceStatistics (int node, int interface) |
| bool | GetPacketCaptureOptions (uint32_t nodeId, const PacketCaptureOptions **outOptions) const |
| void | TraceDevQueueDrop (std::string context, Ptr< const Packet > packet) |
| void | TraceIpv4Drop (std::string context, ns3::Ipv4Header const &hdr, Ptr< const Packet > packet, ns3::Ipv4L3Protocol::DropReason reason, Ptr< Ipv4 > dummy_ipv4, uint32_t interface) |
| void | TraceNetDevPromiscRxCsma (std::string context, Ptr< const Packet > packet) |
| void | TraceNetDevRxCommon (std::string const &context, Ptr< const Packet > packet, Mac48Address const &source) |
| void | TraceNetDevRxCsma (std::string context, Ptr< const Packet > packet) |
| void | TraceNetDevRxLte (std::string context, Ptr< const Packet > packet, Mac48Address const &source) |
| void | TraceNetDevRxPointToPoint (std::string context, Ptr< const Packet > packet) |
| void | TraceNetDevRxWifi (std::string context, Ptr< const Packet > packet) |
| void | TraceNetDevRxWimax (std::string context, Ptr< const Packet > packet, Mac48Address const &source) |
| void | TraceNetDevTxCommon (std::string const &context, Ptr< const Packet > packet, Mac48Address const &destination) |
| void | TraceNetDevTxCsma (std::string context, Ptr< const Packet > packet) |
| void | TraceNetDevTxLte (std::string context, Ptr< const Packet > packet, Mac48Address const &destination) |
| void | TraceNetDevTxPointToPoint (std::string context, Ptr< const Packet > packet) |
| void | TraceNetDevTxWifi (std::string context, Ptr< const Packet > packet) |
| void | TraceNetDevTxWimax (std::string context, Ptr< const Packet > packet, Mac48Address const &destination) |
Static Private Member Functions | |
| static bool | FilterPacket (Ptr< const Packet > packet, const PacketCaptureOptions &options) |
Private Attributes | |
| std::map< uint32_t, LastPacketsSample > | m_lastPackets |
| std::set< uint32_t > | m_nodesOfInterest |
| std::map< uint32_t, std::vector< NetDeviceStatistics > > | m_nodesStatistics |
| std::map< uint32_t, PacketCaptureOptions > | m_packetCaptureOptions |
| std::map< Ptr< Node >, uint32_t > | m_packetDrops |
| std::map< uint32_t, Time > | m_packetsOfInterest |
| std::vector< std::string > | m_pauseMessages |
| Time | m_runUntil |
| bool | m_stop |
| std::map< TransmissionSampleKey, TransmissionSampleValue > | m_transmissionSamples |
| std::map< TxRecordKey, TxRecordValue > | m_txRecords |
helper class to be used by the visualizer
This class is not meant to be used by simulations. It is only meant to be used by the visualizer tool (PyViz). The only reason it is public is because Python bindings for it are needed, otherwise it should be considered private.
| typedef std::vector<PacketDropSample> ns3::PyViz::PacketDropSampleList |
| typedef std::vector<TransmissionSample> ns3::PyViz::TransmissionSampleList |
|
private |
| ns3::PyViz::PyViz | ( | ) |
Definition at line 124 of file pyviz.cc.
References ns3::Config::Connect(), ns3::MakeCallback(), NS_ASSERT, NS_LOG_FUNCTION_NOARGS, TraceDevQueueDrop(), TraceIpv4Drop(), TraceNetDevPromiscRxCsma(), TraceNetDevRxCsma(), TraceNetDevRxLte(), TraceNetDevRxPointToPoint(), TraceNetDevRxWifi(), TraceNetDevRxWimax(), TraceNetDevTxCsma(), TraceNetDevTxLte(), TraceNetDevTxPointToPoint(), TraceNetDevTxWifi(), and TraceNetDevTxWimax().
Here is the call graph for this function:| ns3::PyViz::~PyViz | ( | ) |
Definition at line 234 of file pyviz.cc.
References NS_ASSERT, and NS_LOG_FUNCTION_NOARGS.
|
private |
Definition at line 266 of file pyviz.cc.
References m_runUntil, m_stop, ns3::Simulator::Now(), NS_LOG_FUNCTION_NOARGS, ns3::Seconds(), and ns3::Simulator::Stop().
Referenced by SimulatorRunUntil().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 242 of file pyviz.cc.
References m_pauseMessages, m_stop, ns3::Simulator::Now(), and NS_LOG_LOGIC.
Referenced by Pause().
Here is the call graph for this function:
Here is the caller graph for this function:
|
staticprivate |
Definition at line 408 of file pyviz.cc.
References ns3::Packet::BeginItem(), ns3::PacketMetadata::ItemIterator::HasNext(), ns3::PyViz::PacketCaptureOptions::headers, ns3::PyViz::PacketCaptureOptions::mode, ns3::PacketMetadata::ItemIterator::Next(), NS_FATAL_ERROR, PACKET_CAPTURE_DISABLED, PACKET_CAPTURE_FILTER_HEADERS_AND, PACKET_CAPTURE_FILTER_HEADERS_OR, and ns3::PacketMetadata::Item::tid.
Referenced by TraceDevQueueDrop(), TraceNetDevRxCommon(), and TraceNetDevTxCommon().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 377 of file pyviz.cc.
References ns3::NodeList::GetNode(), and m_nodesStatistics.
Referenced by TraceNetDevRxCommon(), and TraceNetDevTxCommon().
Here is the call graph for this function:
Here is the caller graph for this function:| PyViz::LastPacketsSample ns3::PyViz::GetLastPackets | ( | uint32_t | nodeId | ) | const |
Definition at line 915 of file pyviz.cc.
References m_lastPackets, and NS_LOG_DEBUG.
| std::vector< PyViz::NodeStatistics > ns3::PyViz::GetNodesStatistics | ( | ) | const |
Definition at line 901 of file pyviz.cc.
References m_nodesStatistics.
|
private |
Definition at line 394 of file pyviz.cc.
References m_packetCaptureOptions.
Referenced by TraceDevQueueDrop(), TraceNetDevRxCommon(), and TraceNetDevTxCommon().
Here is the caller graph for this function:| PyViz::PacketDropSampleList ns3::PyViz::GetPacketDropSamples | ( | ) | const |
Definition at line 874 of file pyviz.cc.
References ns3::PyViz::PacketDropSample::bytes, ns3::Node::GetId(), list, m_packetDrops, NS_LOG_DEBUG, and ns3::PyViz::PacketDropSample::transmitter.
Here is the call graph for this function:| std::vector< std::string > ns3::PyViz::GetPauseMessages | ( | ) | const |
Definition at line 257 of file pyviz.cc.
References m_pauseMessages, ns3::Simulator::Now(), and NS_LOG_LOGIC.
Here is the call graph for this function:| PyViz::TransmissionSampleList ns3::PyViz::GetTransmissionSamples | ( | ) | const |
Definition at line 851 of file pyviz.cc.
References ns3::PyViz::TransmissionSample::bytes, ns3::PyViz::TransmissionSample::channel, ns3::Node::GetId(), list, m_transmissionSamples, NS_LOG_DEBUG, ns3::PyViz::TransmissionSample::receiver, and ns3::PyViz::TransmissionSample::transmitter.
Here is the call graph for this function:
|
static |
|
static |
| void ns3::PyViz::RegisterCsmaLikeDevice | ( | std::string const & | deviceTypeName | ) |
Definition at line 173 of file pyviz.cc.
References ns3::Config::Connect(), ns3::TypeId::LookupByName(), ns3::MakeCallback(), TraceNetDevPromiscRxCsma(), TraceNetDevRxCsma(), and TraceNetDevTxCsma().
Here is the call graph for this function:| void ns3::PyViz::RegisterDropTracePath | ( | std::string const & | tracePath | ) |
Definition at line 229 of file pyviz.cc.
References ns3::Config::Connect(), ns3::MakeCallback(), and TraceDevQueueDrop().
Here is the call graph for this function:| void ns3::PyViz::RegisterPointToPointLikeDevice | ( | std::string const & | deviceTypeName | ) |
Definition at line 205 of file pyviz.cc.
References ns3::Config::Connect(), ns3::TypeId::LookupByName(), ns3::MakeCallback(), TraceNetDevRxPointToPoint(), and TraceNetDevTxPointToPoint().
Here is the call graph for this function:| void ns3::PyViz::RegisterWifiLikeDevice | ( | std::string const & | deviceTypeName | ) |
Definition at line 191 of file pyviz.cc.
References ns3::Config::Connect(), ns3::TypeId::LookupByName(), ns3::MakeCallback(), TraceNetDevRxWifi(), and TraceNetDevTxWifi().
Here is the call graph for this function:| void ns3::PyViz::SetNodesOfInterest | ( | std::set< uint32_t > | nodes | ) |
Definition at line 895 of file pyviz.cc.
References m_nodesOfInterest, and first::nodes.
| void ns3::PyViz::SetPacketCaptureOptions | ( | uint32_t | nodeId, |
| PacketCaptureOptions | options | ||
| ) |
Definition at line 219 of file pyviz.cc.
References ns3::PyViz::PacketCaptureOptions::headers, m_packetCaptureOptions, ns3::PyViz::PacketCaptureOptions::mode, NS_LOG_DEBUG, and ns3::PyViz::PacketCaptureOptions::numLastPackets.
| void ns3::PyViz::SimulatorRunUntil | ( | Time | time | ) |
Definition at line 277 of file pyviz.cc.
References CallbackStopSimulation(), ns3::Simulator::GetImplementation(), m_packetDrops, m_packetsOfInterest, m_pauseMessages, m_runUntil, m_stop, m_transmissionSamples, m_txRecords, ns3::Simulator::Now(), NS_LOG_LOGIC, ns3::Simulator::ScheduleWithContext(), and ns3::Seconds().
Here is the call graph for this function:Definition at line 459 of file pyviz.cc.
References ns3::Packet::Copy(), ns3::PyViz::PacketSample::device, FilterPacket(), ns3::NodeList::GetNode(), GetPacketCaptureOptions(), ns3::Packet::GetSize(), ns3::Packet::GetUid(), ns3::PyViz::LastPacketsSample::lastDroppedPackets, m_lastPackets, m_nodesOfInterest, m_packetDrops, m_packetsOfInterest, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::PyViz::PacketCaptureOptions::numLastPackets, ns3::PyViz::PacketSample::packet, PathSplit(), and ns3::PyViz::PacketSample::time.
Referenced by PyViz(), RegisterDropTracePath(), and TraceIpv4Drop().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 505 of file pyviz.cc.
References ns3::Packet::AddHeader(), ns3::Packet::Copy(), and TraceDevQueueDrop().
Referenced by PyViz().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 805 of file pyviz.cc.
References ns3::EthernetHeader::GetDestination(), NS_ABORT_IF, ns3::NetDevice::PACKET_OTHERHOST, ns3::Packet::PeekHeader(), and TraceNetDevRxCommon().
Referenced by PyViz(), and RegisterCsmaLikeDevice().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 638 of file pyviz.cc.
References ns3::PyViz::TransmissionSampleValue::bytes, ns3::Packet::Copy(), ns3::PyViz::PacketSample::device, FilterPacket(), ns3::Packet::FindFirstMatchingByteTag(), FindNetDeviceStatistics(), ns3::PyViz::RxPacketSample::from, ns3::Node::GetDevice(), ns3::Node::GetId(), ns3::NodeList::GetNode(), GetPacketCaptureOptions(), ns3::Packet::GetSize(), ns3::Packet::GetUid(), ns3::PyViz::LastPacketsSample::lastReceivedPackets, ns3::LOG_DEBUG, m_lastPackets, ns3::PyVizPacketTag::m_packetId, m_packetsOfInterest, m_transmissionSamples, m_txRecords, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_WARN, ns3::PyViz::PacketCaptureOptions::numLastPackets, ns3::PyViz::PacketSample::packet, PathSplit(), ns3::PyViz::NetDeviceStatistics::receivedBytes, ns3::PyViz::NetDeviceStatistics::receivedPackets, ns3::PyViz::TransmissionSampleKey::receiver, ns3::PyViz::TxRecordValue::srcNode, ns3::PyViz::PacketSample::time, and ns3::PyViz::TransmissionSampleKey::transmitter.
Referenced by TraceNetDevPromiscRxCsma(), TraceNetDevRxCsma(), TraceNetDevRxLte(), TraceNetDevRxPointToPoint(), TraceNetDevRxWifi(), and TraceNetDevRxWimax().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 791 of file pyviz.cc.
References ns3::EthernetHeader::GetSource(), NS_ABORT_IF, ns3::Packet::PeekHeader(), and TraceNetDevRxCommon().
Referenced by PyViz(), and RegisterCsmaLikeDevice().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 842 of file pyviz.cc.
References NS_LOG_FUNCTION, and TraceNetDevRxCommon().
Referenced by PyViz().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 799 of file pyviz.cc.
References TraceNetDevRxCommon().
Referenced by PyViz(), and RegisterPointToPointLikeDevice().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 752 of file pyviz.cc.
References ns3::Packet::GetUid(), NS_ABORT_IF, NS_LOG_FUNCTION, ns3::Packet::PeekHeader(), and TraceNetDevRxCommon().
Referenced by PyViz(), and RegisterWifiLikeDevice().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 828 of file pyviz.cc.
References NS_LOG_FUNCTION, and TraceNetDevRxCommon().
Referenced by PyViz().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 517 of file pyviz.cc.
References ns3::Packet::AddByteTag(), ns3::Packet::Copy(), ns3::PyViz::PacketSample::device, FilterPacket(), FindNetDeviceStatistics(), ns3::Node::GetDevice(), ns3::NodeList::GetNode(), GetPacketCaptureOptions(), ns3::Packet::GetSize(), ns3::Packet::GetUid(), ns3::PyViz::TxRecordValue::isBroadcast, ns3::PyViz::LastPacketsSample::lastTransmittedPackets, m_lastPackets, m_nodesOfInterest, ns3::PyVizPacketTag::m_packetId, m_packetsOfInterest, m_txRecords, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::PyViz::PacketCaptureOptions::numLastPackets, ns3::PyViz::PacketSample::packet, PathSplit(), ns3::PyViz::PacketSample::time, ns3::PyViz::TxPacketSample::to, ns3::PyViz::NetDeviceStatistics::transmittedBytes, and ns3::PyViz::NetDeviceStatistics::transmittedPackets.
Referenced by TraceNetDevTxCsma(), TraceNetDevTxLte(), TraceNetDevTxPointToPoint(), TraceNetDevTxWifi(), and TraceNetDevTxWimax().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 619 of file pyviz.cc.
References ns3::EthernetHeader::GetDestination(), NS_ABORT_IF, ns3::Packet::PeekHeader(), and TraceNetDevTxCommon().
Referenced by PyViz(), and RegisterCsmaLikeDevice().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 835 of file pyviz.cc.
References NS_LOG_FUNCTION, and TraceNetDevTxCommon().
Referenced by PyViz().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 627 of file pyviz.cc.
References TraceNetDevTxCommon().
Referenced by PyViz(), and RegisterPointToPointLikeDevice().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 583 of file pyviz.cc.
References ns3::Packet::GetUid(), NS_ABORT_IF, NS_LOG_FUNCTION, ns3::Packet::PeekHeader(), and TraceNetDevTxCommon().
Referenced by PyViz(), and RegisterWifiLikeDevice().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 821 of file pyviz.cc.
References NS_LOG_FUNCTION, and TraceNetDevTxCommon().
Referenced by PyViz().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 191 of file pyviz.h.
Referenced by GetLastPackets(), TraceDevQueueDrop(), TraceNetDevRxCommon(), and TraceNetDevTxCommon().
|
private |
Definition at line 189 of file pyviz.h.
Referenced by SetNodesOfInterest(), TraceDevQueueDrop(), and TraceNetDevTxCommon().
|
private |
Definition at line 192 of file pyviz.h.
Referenced by FindNetDeviceStatistics(), and GetNodesStatistics().
|
private |
Definition at line 184 of file pyviz.h.
Referenced by GetPacketCaptureOptions(), and SetPacketCaptureOptions().
Definition at line 188 of file pyviz.h.
Referenced by GetPacketDropSamples(), SimulatorRunUntil(), and TraceDevQueueDrop().
|
private |
Definition at line 190 of file pyviz.h.
Referenced by SimulatorRunUntil(), TraceDevQueueDrop(), TraceNetDevRxCommon(), and TraceNetDevTxCommon().
|
private |
Definition at line 185 of file pyviz.h.
Referenced by DoPause(), GetPauseMessages(), and SimulatorRunUntil().
|
private |
Definition at line 223 of file pyviz.h.
Referenced by CallbackStopSimulation(), and SimulatorRunUntil().
|
private |
Definition at line 222 of file pyviz.h.
Referenced by CallbackStopSimulation(), DoPause(), and SimulatorRunUntil().
|
private |
Definition at line 187 of file pyviz.h.
Referenced by GetTransmissionSamples(), SimulatorRunUntil(), and TraceNetDevRxCommon().
|
private |
Definition at line 186 of file pyviz.h.
Referenced by SimulatorRunUntil(), TraceNetDevRxCommon(), and TraceNetDevTxCommon().