#include <ipv6-packet-probe.h>
Public Member Functions | |
Ipv6PacketProbe () | |
virtual | ~Ipv6PacketProbe () |
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, Ptr< Ipv6 > ipv6, uint32_t interface) |
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, Ptr< Ipv6 > ipv6, uint32_t interface) |
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, Ptr< Ipv6 > ipv6, uint32_t interface) |
Method to connect to an underlying ns3::TraceSource with arguments of type Ptr<const Packet>, Ptr<Ipv6>, and uint32_t. More... | |
Private Attributes | |
uint32_t | m_interface |
The IPv6 interface for the traced packet. More... | |
Ptr< Ipv6 > | m_ipv6 |
The IPv6 object for the traced packet. More... | |
TracedCallback< Ptr< const Packet >, Ptr< Ipv6 > , uint32_t > | 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, an IPv6 object, and an interface. This probe exports a trace source "Output" with arguments of type Ptr<const Packet>, Ptr<Ipv6>, and uint32_t. The Output trace source emits a value when either the 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 48 of file ipv6-packet-probe.h.
ns3::Ipv6PacketProbe::Ipv6PacketProbe | ( | ) |
Definition at line 54 of file ipv6-packet-probe.cc.
References m_interface, m_ipv6, m_packet, m_packetSizeOld, and NS_LOG_FUNCTION.
|
virtual |
Definition at line 63 of file ipv6-packet-probe.cc.
References NS_LOG_FUNCTION.
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 92 of file ipv6-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 101 of file ipv6-packet-probe.cc.
References ns3::Config::ConnectWithoutContext(), ns3::MakeCallback(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and TraceSink().
|
static |
Definition at line 39 of file ipv6-packet-probe.cc.
References m_output, m_outputBytes, ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
void ns3::Ipv6PacketProbe::SetValue | ( | Ptr< const Packet > | packet, |
Ptr< Ipv6 > | ipv6, | ||
uint32_t | interface | ||
) |
Set a probe value.
packet | set the traced packet equal to this |
ipv6 | set the IPv6 object for the traced packet equal to this |
interface | set the IPv6 interface for the traced packet equal to this |
Definition at line 69 of file ipv6-packet-probe.cc.
References ns3::Packet::GetSize(), m_interface, m_ipv6, 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 |
ipv6 | set the IPv6 object for the traced packet equal to this |
interface | set the IPv6 interface for the traced packet equal to this |
Definition at line 83 of file ipv6-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>, Ptr<Ipv6>, and uint32_t.
packet | the traced packet |
ipv6 | the IPv6 object for the traced packet |
interface | the IPv6 interface for the traced packet |
Definition at line 109 of file ipv6-packet-probe.cc.
References ns3::Packet::GetSize(), ns3::Probe::IsEnabled(), m_interface, m_ipv6, m_output, m_outputBytes, m_packet, m_packetSizeOld, and NS_LOG_FUNCTION.
Referenced by ConnectByObject(), and ConnectByPath().
|
private |
The IPv6 interface for the traced packet.
Definition at line 116 of file ipv6-packet-probe.h.
Referenced by Ipv6PacketProbe(), SetValue(), and TraceSink().
The IPv6 object for the traced packet.
Definition at line 113 of file ipv6-packet-probe.h.
Referenced by Ipv6PacketProbe(), SetValue(), and TraceSink().
|
private |
Definition at line 106 of file ipv6-packet-probe.h.
Referenced by GetTypeId(), SetValue(), and TraceSink().
|
private |
Definition at line 107 of file ipv6-packet-probe.h.
Referenced by GetTypeId(), SetValue(), and TraceSink().
The traced packet.
Definition at line 110 of file ipv6-packet-probe.h.
Referenced by Ipv6PacketProbe(), SetValue(), and TraceSink().
|
private |
The size of the traced packet.
Definition at line 119 of file ipv6-packet-probe.h.
Referenced by Ipv6PacketProbe(), SetValue(), and TraceSink().