Probe to translate from a TraceSource to two more easily parsed TraceSources. More...
#include "application-packet-probe.h"
Public Member Functions | |
ApplicationPacketProbe () | |
~ApplicationPacketProbe () override | |
bool | ConnectByObject (std::string traceSource, Ptr< Object > obj) override |
connect to a trace source attribute provided by a given object | |
void | ConnectByPath (std::string path) override |
connect to a trace source provided by a config path | |
void | SetValue (Ptr< const Packet > packet, const Address &address) |
Set a probe value. | |
![]() | |
Probe () | |
~Probe () override | |
bool | IsEnabled () const override |
![]() | |
DataCollectionObject () | |
~DataCollectionObject () override | |
void | Disable () |
Unset the status of an individual object. | |
void | Enable () |
Set the status of an individual object. | |
std::string | GetName () const |
Get the object's name. | |
void | SetName (std::string name) |
Set the object's name. | |
![]() | |
Object () | |
Constructor. | |
~Object () override | |
Destructor. | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. | |
void | Dispose () |
Dispose of this Object. | |
AggregateIterator | GetAggregateIterator () const |
Get an iterator to the Objects aggregated to this one. | |
TypeId | GetInstanceTypeId () const final |
Get the most derived TypeId for this Object. | |
template<typename T> | |
Ptr< T > | GetObject () const |
Get a pointer to the requested aggregated Object. | |
template<> | |
Ptr< Object > | GetObject () const |
Specialization of () for objects of type ns3::Object. | |
template<typename T> | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. | |
template<> | |
Ptr< Object > | GetObject (TypeId tid) const |
Specialization of (TypeId tid) for objects of type ns3::Object. | |
void | Initialize () |
Invoke DoInitialize on all Objects aggregated to this one. | |
bool | IsInitialized () const |
Check if the object has been initialized. | |
void | UnidirectionalAggregateObject (Ptr< Object > other) |
Aggregate an Object to another Object. | |
![]() | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
static void | SetValueByPath (std::string path, Ptr< const Packet > packet, const Address &address) |
Set a probe value by its name in the Config system. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
static TypeId | GetTypeId () |
Register this type. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
Private Member Functions | |
void | TraceSink (Ptr< const Packet > packet, const Address &address) |
Method to connect to an underlying ns3::TraceSource with arguments of type Ptr<const Packet> and const Address&. | |
Private Attributes | |
Address | m_address |
The socket address for the traced packet. | |
TracedCallback< Ptr< const Packet >, const Address & > | m_output |
Output trace, packet and source address. | |
TracedCallback< uint32_t, uint32_t > | m_outputBytes |
Output trace, previous packet size and current packet size. | |
Ptr< const Packet > | m_packet |
The traced packet. | |
uint32_t | m_packetSizeOld |
The size of the traced packet. | |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
Copy an Object. | |
virtual void | DoDispose () |
Destructor implementation. | |
virtual void | DoInitialize () |
Initialize() implementation. | |
virtual void | NotifyNewAggregate () |
Notify all Objects aggregated to this one of a new Object being aggregated. | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
![]() | |
Time | m_start |
Time when logging starts. | |
Time | m_stop |
Time when logging stops. | |
![]() | |
bool | m_enabled |
Object's activation state. | |
std::string | m_name |
Name of the object within the data collection framework. | |
![]() | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Probe to translate from a TraceSource to two more easily parsed TraceSources.
Introspection did not find any typical Config paths
No Attributes are defined for this type
This class is designed to probe an underlying ns3 TraceSource exporting a packet and a socket address. This probe exports a trace source "Output" with arguments of type Ptr<const Packet> and const Address&. This probe exports another trace source "OutputBytes" with arguments of type uint32_t, which is the number of bytes in the packet. The trace sources emit values when either the probed trace source emits a new value, or when SetValue () is called.
Time
-9.22337e+18ns:+9.22337e+18ns Time
-9.22337e+18ns:+9.22337e+18ns std::string
Group: Applications
Size of this type is 192 bytes (on a 64-bit architecture).
Definition at line 40 of file application-packet-probe.h.
ns3::ApplicationPacketProbe::ApplicationPacketProbe | ( | ) |
Definition at line 47 of file application-packet-probe.cc.
References m_packet, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
|
override |
Definition at line 53 of file application-packet-probe.cc.
References NS_LOG_FUNCTION.
|
overridevirtual |
connect to a trace source attribute provided by a given object
traceSource | the name of the attribute TraceSource to connect to |
obj | ns3::Object to connect to |
Implements ns3::Probe.
Definition at line 83 of file application-packet-probe.cc.
References ns3::Names::FindPath(), ns3::MakeCallback(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and TraceSink().
|
overridevirtual |
connect to a trace source provided by a config path
path | Config path to bind to |
Note, if an invalid path is provided, the probe will not be connected to anything.
Implements ns3::Probe.
Definition at line 94 of file application-packet-probe.cc.
References ns3::Config::ConnectWithoutContext(), ns3::MakeCallback(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and TraceSink().
|
static |
Get the type ID.
Definition at line 28 of file application-packet-probe.cc.
References ApplicationPacketProbe(), ns3::Probe::Probe(), m_output, m_outputBytes, ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
Set a probe value.
packet | set the traced packet equal to this |
address | set the socket address for the traced packet equal to this |
Definition at line 59 of file application-packet-probe.cc.
References m_address, m_output, m_outputBytes, m_packet, m_packetSizeOld, and NS_LOG_FUNCTION.
|
static |
Set a probe value by its name in the Config system.
path | config path to access the probe |
packet | set the traced packet equal to this |
address | set the socket address for the traced packet equal to this |
Definition at line 72 of file application-packet-probe.cc.
References ns3::Names::Find(), NS_ASSERT_MSG, and NS_LOG_FUNCTION.
|
private |
Method to connect to an underlying ns3::TraceSource with arguments of type Ptr<const Packet> and const Address&.
packet | the traced packet |
address | the socket address for the traced packet |
Definition at line 103 of file application-packet-probe.cc.
References ns3::Probe::IsEnabled(), m_address, m_output, m_outputBytes, m_packet, m_packetSizeOld, and NS_LOG_FUNCTION.
Referenced by ConnectByObject(), and ConnectByPath().
|
private |
The socket address for the traced packet.
Definition at line 107 of file application-packet-probe.h.
Referenced by SetValue(), and TraceSink().
|
private |
Output trace, packet and source address.
Definition at line 99 of file application-packet-probe.h.
Referenced by GetTypeId(), SetValue(), and TraceSink().
|
private |
Output trace, previous packet size and current packet size.
Definition at line 101 of file application-packet-probe.h.
Referenced by GetTypeId(), SetValue(), and TraceSink().
The traced packet.
Definition at line 104 of file application-packet-probe.h.
Referenced by ApplicationPacketProbe(), SetValue(), and TraceSink().
|
private |
The size of the traced packet.
Definition at line 110 of file application-packet-probe.h.
Referenced by SetValue(), and TraceSink().