NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ns3::ndn::ConsumerCbr Class Reference

Ndn application for sending out Interest packets at a "constant" rate (Poisson process) More...

#include <ndn-consumer-cbr.hpp>

Inheritance diagram for ns3::ndn::ConsumerCbr:
Collaboration diagram for ns3::ndn::ConsumerCbr:

Public Member Functions

 ConsumerCbr ()
 Default constructor Sets up randomizer function and packet sequence number. More...
 
virtual ~ConsumerCbr ()
 
- Public Member Functions inherited from ns3::ndn::Consumer
 Consumer ()
 Default constructor Sets up randomizer function and packet sequence number. More...
 
virtual ~Consumer ()
 
virtual void OnData (shared_ptr< const Data > contentObject)
 Method that will be called every time new Data arrives. More...
 
virtual void OnTimeout (uint32_t sequenceNumber)
 Timeout event. More...
 
void SendPacket ()
 Actually send packet. More...
 
virtual void WillSendOutInterest (uint32_t sequenceNumber)
 An event that is fired just before an Interest packet is actually send out (send is inevitable) 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 OnInterest (shared_ptr< const Interest > interest)
 Method that will be called every time new Interest arrives. More...
 

Static Public Member Functions

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

Protected Member Functions

virtual void ScheduleNextPacket ()
 Constructs the Interest packet and sends it using a callback to the underlying NDN protocol. More...
 
void SetRandomize (const std::string &value)
 Set type of frequency randomization. More...
 
std::string GetRandomize () const
 Get type of frequency randomization. More...
 
- Protected Member Functions inherited from ns3::ndn::Consumer
virtual void StartApplication ()
 Called at time specified by Start. More...
 
virtual void StopApplication ()
 Called at time specified by Stop. More...
 
void CheckRetxTimeout ()
 Checks if the packet need to be retransmitted becuase of retransmission timer expiration. More...
 
void SetRetxTimer (Time retxTimer)
 Modifies the frequency of checking the retransmission timeouts. More...
 
Time GetRetxTimer () const
 Returns the frequency of checking the retransmission timeouts. More...
 
- Protected Member Functions inherited from ns3::ndn::App
virtual void DoDispose ()
 Do cleanup when application is destroyed. More...
 

Protected Attributes

double m_frequency
 
bool m_firstTime
 
RandomVariable * m_random
 
std::string m_randomType
 
- Protected Attributes inherited from ns3::ndn::Consumer
UniformVariable m_rand
 nonce generator More...
 
uint32_t m_seq
 currently requested sequence number More...
 
uint32_t m_seqMax
 maximum number of sequence number More...
 
EventId m_sendEvent
 EventId of pending "send packet" event. More...
 
Time m_retxTimer
 Currently estimated retransmission timer. More...
 
EventId m_retxEvent
 Event to check whether or not retransmission should be performed. More...
 
Ptr< RttEstimatorm_rtt
 RTT estimator. More...
 
Time m_offTime
 Time interval between packets. More...
 
Name m_interestName
 NDN Name of the Interest (use Name) More...
 
Time m_interestLifeTime
 LifeTime for interest packet. More...
 
- Protected Attributes inherited from ns3::ndn::App
bool m_active
 Flag to indicate that application is active (set by StartApplication. More...
 
shared_ptr< Facem_face
 and StopApplication) More...
 
TracedCallback< shared_ptr
< const Interest >, Ptr< App >
, shared_ptr< Face > > 
m_receivedInterests
 communicates 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

Ndn application for sending out Interest packets at a "constant" rate (Poisson process)

Config Paths

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

  • /NodeList/[i]/ApplicationList/[i]/$ns3::ndn::App/$ns3::ndn::Consumer/$ns3::ndn::ConsumerCbr
  • /NodeList/[i]/ApplicationList/[i]/$ns3::ndn::App/$ns3::ndn::ConsumerCbr
  • /NodeList/[i]/ApplicationList/[i]/$ns3::ndn::Consumer/$ns3::ndn::ConsumerCbr
  • /NodeList/[i]/ApplicationList/[i]/$ns3::ndn::ConsumerCbr

Attributes

  • Frequency: Frequency of interest packets
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1.0
    • Flags: construct write read
  • Randomize: Type of send time randomization: none (default), uniform, exponential
    • Set with class: StringValue
    • Underlying type:
    • Initial value: none
    • Flags: construct write read
  • MaxSeq: Maximum sequence number to request
    • Set with class: ns3::IntegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 4294967295
    • Flags: construct write read

Attributes defined in parent class ns3::ndn::Consumer

  • StartSeq: Initial sequence number
    • Set with class: ns3::IntegerValue
    • Underlying type: int32_t -2147483648:2147483647
    • Initial value: 0
    • Flags: construct write read
  • Prefix: Name of the Interest
    • Set with class: NameValue
    • Underlying type: Name
    • Initial value: /
    • Flags: construct write read
  • LifeTime: LifeTime for interest packet
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: 2s
    • Flags: construct write read
  • RetxTimer: Timeout defining how frequent retransmission timeouts should be checked
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: 50ms
    • 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::Consumer

  • LastRetransmittedInterestDataDelay: Delay between last retransmitted Interest and received Data
  • FirstInterestDataDelay: Delay between first transmitted Interest and received Data

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

  • ReceivedInterests: ReceivedInterests
  • ReceivedDatas: ReceivedDatas
  • TransmittedInterests: TransmittedInterests
  • TransmittedDatas: TransmittedDatas

Definition at line 34 of file ndn-consumer-cbr.hpp.

Constructor & Destructor Documentation

ns3::ndn::ConsumerCbr::ConsumerCbr ( )

Default constructor Sets up randomizer function and packet sequence number.

Definition at line 68 of file ndn-consumer-cbr.cpp.

References ns3::ndn::Consumer::m_seqMax.

ns3::ndn::ConsumerCbr::~ConsumerCbr ( )
virtual

Definition at line 77 of file ndn-consumer-cbr.cpp.

References m_random.

Member Function Documentation

std::string ns3::ndn::ConsumerCbr::GetRandomize ( ) const
protected

Get type of frequency randomization.

Returns
either 'none', 'uniform', or 'exponential'

Definition at line 118 of file ndn-consumer-cbr.cpp.

References m_randomType.

Referenced by GetTypeId().

TypeId ns3::ndn::ConsumerCbr::GetTypeId ( void  )
static
void ns3::ndn::ConsumerCbr::ScheduleNextPacket ( )
protectedvirtual

Constructs the Interest packet and sends it using a callback to the underlying NDN protocol.

Implements ns3::ndn::Consumer.

Reimplemented in ns3::ndn::ConsumerZipfMandelbrot.

Definition at line 84 of file ndn-consumer-cbr.cpp.

References m_firstTime, m_frequency, m_random, ns3::ndn::Consumer::m_sendEvent, and ns3::ndn::Consumer::SendPacket().

void ns3::ndn::ConsumerCbr::SetRandomize ( const std::string &  value)
protected

Set type of frequency randomization.

Parameters
valueEither 'none', 'uniform', or 'exponential'

Definition at line 100 of file ndn-consumer-cbr.cpp.

References m_frequency, m_random, and m_randomType.

Referenced by GetTypeId().

Member Data Documentation

bool ns3::ndn::ConsumerCbr::m_firstTime
protected
double ns3::ndn::ConsumerCbr::m_frequency
protected
RandomVariable* ns3::ndn::ConsumerCbr::m_random
protected
std::string ns3::ndn::ConsumerCbr::m_randomType
protected

Definition at line 72 of file ndn-consumer-cbr.hpp.

Referenced by GetRandomize(), and SetRandomize().


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