NDN app requesting contents following Zipf-Mandelbrot Distbituion. More...
#include <ndn-consumer-zipf-mandelbrot.hpp>
Public Member Functions | |
ConsumerZipfMandelbrot () | |
Default constructor Sets up randomized Number Generator (RNG) Note: m_seq of its parent class ConsumerCbr here is used to record the interest number. More... | |
virtual | ~ConsumerZipfMandelbrot () |
virtual void | SendPacket () |
uint32_t | GetNextSeq () |
Public Member Functions inherited from ns3::ndn::ConsumerCbr | |
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 | OnNack (shared_ptr< const lp::Nack > nack) |
Method that will be called every time new Nack 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::ConsumerCbr | |
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... | |
Protected Member Functions inherited from ns3::ndn::ConsumerCbr | |
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 | DoInitialize () |
virtual void | DoDispose () |
Additional Inherited Members | |
Public Types inherited from ns3::ndn::Consumer | |
typedef void(* | LastRetransmittedInterestDataDelayCallback) (Ptr< App > app, uint32_t seqno, Time delay, int32_t hopCount) |
typedef void(* | FirstInterestDataDelayCallback) (Ptr< App > app, uint32_t seqno, Time delay, uint32_t retxCount, int32_t hopCount) |
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 >) |
typedef void(* | NackTraceCallback) (shared_ptr< const lp::Nack >, Ptr< App >, shared_ptr< Face >) |
Protected Attributes inherited from ns3::ndn::ConsumerCbr | |
double | m_frequency |
bool | m_firstTime |
Ptr< RandomVariableStream > | m_random |
std::string | m_randomType |
Protected Attributes inherited from ns3::ndn::Consumer | |
Ptr< UniformRandomVariable > | 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< RttEstimator > | m_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 and StopApplication) More... | |
shared_ptr< Face > | m_face |
AppLinkService * | m_appLink |
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 lp::Nack >, Ptr< App >, shared_ptr< Face > > | m_receivedNacks |
App-level trace of received Nacks. 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... | |
TracedCallback< shared_ptr< const lp::Nack >, Ptr< App >, shared_ptr< Face > > | m_transmittedNacks |
App-level trace of transmitted Nacks. More... | |
NDN app requesting contents following Zipf-Mandelbrot Distbituion.
The class implements an app which requests contents following Zipf-Mandelbrot Distribution Here is the explaination of Zipf-Mandelbrot Distribution: http://en.wikipedia.org/wiki/Zipf%E2%80%93Mandelbrot_law
ns3::ndn::ConsumerZipfMandelbrot is accessible through the following paths with Config::Set and Config::Connect:
No TraceSources are defined for this type.
Size of this type is 816 bytes (on a 64-bit architecture).
Definition at line 51 of file ndn-consumer-zipf-mandelbrot.hpp.
ns3::ndn::ConsumerZipfMandelbrot::ConsumerZipfMandelbrot | ( | ) |
Default constructor Sets up randomized Number Generator (RNG) Note: m_seq of its parent class ConsumerCbr here is used to record the interest number.
Definition at line 60 of file ndn-consumer-zipf-mandelbrot.cpp.
|
virtual |
Definition at line 69 of file ndn-consumer-zipf-mandelbrot.cpp.
|
static |
Definition at line 34 of file ndn-consumer-zipf-mandelbrot.cpp.
|
virtual |
Definition at line 126 of file ndn-consumer-zipf-mandelbrot.cpp.
References GetNextSeq(), ns3::ndn::App::m_active, ns3::ndn::App::m_appLink, ns3::ndn::App::m_face, ns3::ndn::Consumer::m_interestName, ns3::ndn::Consumer::m_rand, ns3::ndn::Consumer::m_rtt, ns3::ndn::Consumer::m_seq, ns3::ndn::Consumer::m_seqMax, ns3::ndn::App::m_transmittedInterests, ns3::ndn::AppLinkService::onReceiveInterest(), and ScheduleNextPacket().
Referenced by ScheduleNextPacket().
uint32_t ns3::ndn::ConsumerZipfMandelbrot::GetNextSeq | ( | ) |
Definition at line 199 of file ndn-consumer-zipf-mandelbrot.cpp.
Referenced by SendPacket().
|
protectedvirtual |
Constructs the Interest packet and sends it using a callback to the underlying NDN protocol.
Reimplemented from ns3::ndn::ConsumerCbr.
Definition at line 224 of file ndn-consumer-zipf-mandelbrot.cpp.
References ns3::ndn::ConsumerCbr::m_firstTime, ns3::ndn::ConsumerCbr::m_frequency, ns3::ndn::ConsumerCbr::m_random, ns3::ndn::Consumer::m_sendEvent, and SendPacket().
Referenced by SendPacket().