#include <application-packet-probe.h>
Public Member Functions | |
ApplicationPacketProbe () | |
virtual | ~ApplicationPacketProbe () |
virtual bool | ConnectByObject (std::string traceSource, Ptr< Object > obj) |
connect to a trace source attribute provided by a given object More... | |
virtual void | ConnectByPath (std::string path) |
connect to a trace source provided by a config path More... | |
void | SetValue (Ptr< const Packet > packet, const Address &address) |
Set a probe value. More... | |
![]() | |
Probe () | |
virtual | ~Probe () |
virtual bool | IsEnabled (void) const |
![]() | |
DataCollectionObject () | |
virtual | ~DataCollectionObject () |
void | Disable (void) |
void | Enable (void) |
Set the status of an individual object. More... | |
std::string | GetName (void) const |
Get the object's name. More... | |
void | SetName (std::string name) |
Set the object's name. All spaces are replaced by underscores. More... | |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId () |
static void | SetValueByPath (std::string path, Ptr< const Packet > packet, const Address &address) |
Set a probe value by its name in the Config system. More... | |
![]() | |
static TypeId | GetTypeId () |
![]() | |
static TypeId | GetTypeId () |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static void | Cleanup (void) |
![]() | |
static TypeId | GetTypeId (void) |
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&. More... | |
Private Attributes | |
Address | m_address |
The socket address for the traced packet. More... | |
TracedCallback< Ptr< const Packet >, const Address & > | m_output |
TracedCallback< uint32_t, uint32_t > | m_outputBytes |
Ptr< const Packet > | m_packet |
The traced packet. More... | |
uint32_t | m_packetSizeOld |
The size of the traced packet. More... | |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
![]() | |
Time | m_start |
Time when logging starts. More... | |
Time | m_stop |
Time when logging stops. More... | |
![]() | |
bool | m_enabled |
Object's activation state. More... | |
std::string | m_name |
Name of the object within the data collection framework. More... | |
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.
Doxygen introspection did not find any typical Config paths.
No Attributes are defined for this type.
Definition at line 49 of file application-packet-probe.h.
ns3::ApplicationPacketProbe::ApplicationPacketProbe | ( | ) |
Definition at line 53 of file application-packet-probe.cc.
References m_packet, and NS_LOG_FUNCTION.
|
virtual |
Definition at line 59 of file application-packet-probe.cc.
References NS_LOG_FUNCTION.
|
virtual |
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 87 of file application-packet-probe.cc.
References ns3::Names::FindPath(), ns3::MakeCallback(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::ObjectBase::TraceConnectWithoutContext(), and TraceSink().
|
virtual |
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 96 of file application-packet-probe.cc.
References ns3::Config::ConnectWithoutContext(), ns3::MakeCallback(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and TraceSink().
|
static |
Definition at line 38 of file application-packet-probe.cc.
References 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 65 of file application-packet-probe.cc.
References first::address, ns3::Packet::GetSize(), 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 78 of file application-packet-probe.cc.
References 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 104 of file application-packet-probe.cc.
References first::address, ns3::Packet::GetSize(), 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 111 of file application-packet-probe.h.
Referenced by SetValue(), and TraceSink().
|
private |
Definition at line 104 of file application-packet-probe.h.
Referenced by GetTypeId(), SetValue(), and TraceSink().
|
private |
Definition at line 105 of file application-packet-probe.h.
Referenced by GetTypeId(), SetValue(), and TraceSink().
The traced packet.
Definition at line 108 of file application-packet-probe.h.
Referenced by ApplicationPacketProbe(), SetValue(), and TraceSink().
|
private |
The size of the traced packet.
Definition at line 114 of file application-packet-probe.h.
Referenced by SetValue(), and TraceSink().