NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
ns3::ndn::Producer Class Reference

A simple Interest-sink applia simple Interest-sink application. More...

#include <ndn-producer.hpp>

Inheritance diagram for ns3::ndn::Producer:
Collaboration diagram for ns3::ndn::Producer:

Public Member Functions

 Producer ()
 
virtual void OnInterest (shared_ptr< const Interest > interest)
 Method that will be called every time new Interest arrives. More...
 
- Public Member Functions inherited from ns3::ndn::App
 App ()
 Default constructor. More...
 
virtual ~App ()
 
uint32_t GetId () const
 Get application ID (ID of applications face) More...
 
virtual void OnData (shared_ptr< const Data > data)
 Method that will be called every time new Data arrives. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::ndn::App
static TypeId GetTypeId ()
 

Protected Member Functions

virtual void StartApplication ()
 Called at time specified by Start. More...
 
virtual void StopApplication ()
 Called at time specified by Stop. More...
 
- Protected Member Functions inherited from ns3::ndn::App
virtual void DoInitialize ()
 
virtual void DoDispose ()
 

Additional Inherited Members

- Public Types inherited from ns3::ndn::App
typedef void(* InterestTraceCallback) (shared_ptr< const Interest >, Ptr< App >, shared_ptr< Face >)
 
typedef void(* DataTraceCallback) (shared_ptr< const Data >, Ptr< App >, shared_ptr< Face >)
 
- Protected Attributes inherited from ns3::ndn::App
bool m_active
 Flag to indicate that application is active (set by StartApplication and StopApplication) More...
 
shared_ptr< AppFacem_face
 automatically created application face through which application communicates More...
 
uint32_t m_appId
 
TracedCallback< shared_ptr< const Interest >, Ptr< App >, shared_ptr< Face > > m_receivedInterests
 App-level trace of received Interests. More...
 
TracedCallback< shared_ptr< const Data >, Ptr< App >, shared_ptr< Face > > m_receivedDatas
 App-level trace of received Data. More...
 
TracedCallback< shared_ptr< const Interest >, Ptr< App >, shared_ptr< Face > > m_transmittedInterests
 App-level trace of transmitted Interests. More...
 
TracedCallback< shared_ptr< const Data >, Ptr< App >, shared_ptr< Face > > m_transmittedDatas
 App-level trace of transmitted Data. More...
 

Detailed Description

A simple Interest-sink applia simple Interest-sink application.

A simple Interest-sink applia simple Interest-sink application, which replying every incoming Interest with Data packet with a specified size and name same as in Interest.cation, which replying every incoming Interest with Data packet with a specified size and name same as in Interest.

Config Paths

ns3::ndn::Producer is accessible through the following paths with Config::Set and Config::Connect:

  • "/NodeList/[i]/ApplicationList/[i]/$ns3::ndn::App/$ns3::ndn::Producer"
  • "/NodeList/[i]/ApplicationList/[i]/$ns3::ndn::Producer"

Attributes

  • Prefix: Prefix, for which producer has the data
    • Set with class: NameValue
    • Underlying type: Name
    • Initial value: /
    • Flags: construct write read
  • Postfix: Postfix that is added to the output data (e.g., for adding producer-uniqueness)
    • Set with class: NameValue
    • Underlying type: Name
    • Initial value: /
    • Flags: construct write read
  • PayloadSize: Virtual payload size for Content packets
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 1024
    • Flags: construct write read
  • Freshness: Freshness of data packets, if 0, then unlimited freshness
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +0.0ns
    • Flags: construct write read
  • Signature: Fake signature, 0 valid signature (default), other values application-specific
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 0
    • Flags: construct write read
  • KeyLocator: Name to be used for key locator. If root, then key locator is not used
    • Set with class: NameValue
    • Underlying type: Name
    • Initial value: /
    • Flags: construct write read

Attributes defined in parent class ns3::Application

  • StartTime: Time at which the application will start
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +0.0ns
    • Flags: construct write read
  • StopTime: Time at which the application will stop
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +0.0ns
    • Flags: construct write read

No TraceSources are defined for this type.

TraceSources defined in parent class ns3::ndn::App

Size of this type is 568 bytes (on a 64-bit architecture).

Definition at line 43 of file ndn-producer.hpp.

Constructor & Destructor Documentation

ns3::ndn::Producer::Producer ( )

Definition at line 72 of file ndn-producer.cpp.

Member Function Documentation

TypeId ns3::ndn::Producer::GetTypeId ( void  )
static

Definition at line 42 of file ndn-producer.cpp.

References ns3::ndn::MakeNameAccessor(), and ns3::ndn::MakeNameChecker().

void ns3::ndn::Producer::OnInterest ( shared_ptr< const Interest interest)
virtual

Method that will be called every time new Interest arrives.

Parameters
interestInterest header
packet"Payload" of the interests packet. The actual payload should be zero, but packet itself may be useful to get packet tags

Reimplemented from ns3::ndn::App.

Definition at line 96 of file ndn-producer.cpp.

References ns3::ndn::App::GetId(), ns3::ndn::App::m_active, ns3::ndn::App::m_face, ns3::ndn::App::m_transmittedDatas, ns3::ndn::Name, ndn::encoding::nonNegativeIntegerBlock(), ns3::ndn::App::OnInterest(), ndn::tlv::SignatureInfo, and ndn::tlv::SignatureValue.

void ns3::ndn::Producer::StartApplication ( )
protectedvirtual

Called at time specified by Start.

Reimplemented from ns3::ndn::App.

Definition at line 79 of file ndn-producer.cpp.

References ns3::ndn::FibHelper::AddRoute(), ns3::ndn::App::m_face, and ns3::ndn::App::StartApplication().

void ns3::ndn::Producer::StopApplication ( )
protectedvirtual

Called at time specified by Stop.

Reimplemented from ns3::ndn::App.

Definition at line 88 of file ndn-producer.cpp.

References ns3::ndn::App::StopApplication().


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