A Discrete-Event Network Simulator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::DelayJitterEstimation Class Reference

quick and dirty delay and jitter estimation More...

#include <delay-jitter-estimation.h>

Public Member Functions

Time GetLastDelay (void) const
uint64_t GetLastJitter (void) const
void RecordRx (Ptr< const Packet > packet)

Static Public Member Functions

static void PrepareTx (Ptr< const Packet > packet)

Private Attributes

Time m_delay
int64x64_t m_jitter
Time m_previousRx
Time m_previousRxTx

Detailed Description

quick and dirty delay and jitter estimation

Definition at line 15 of file delay-jitter-estimation.h.

Member Function Documentation

Time ns3::DelayJitterEstimation::GetLastDelay ( void  ) const
the updated delay.

Definition at line 110 of file delay-jitter-estimation.cc.

uint64_t ns3::DelayJitterEstimation::GetLastJitter ( void  ) const

The jitter is calculated using the RFC 1889 (RTP) jitter definition.

the updated jitter.

Definition at line 115 of file delay-jitter-estimation.cc.

void ns3::DelayJitterEstimation::PrepareTx ( Ptr< const Packet packet)
packetthe packet to send over a wire

This method should be invoked once on each packet to record within the packet the tx time which is used upon packet reception to calculate the delay and jitter. The tx time is stored in the packet as an ns3::Tag which means that it does not use any network resources and is not taken into account in transmission delay calculations.

Definition at line 85 of file delay-jitter-estimation.cc.

References ns3::Packet::AddByteTag().

void ns3::DelayJitterEstimation::RecordRx ( Ptr< const Packet packet)
packetthe packet received

Invoke this method to update the delay and jitter calculations After a call to this method, GetLastDelay and GetLastJitter will return an updated delay and jitter.

Definition at line 91 of file delay-jitter-estimation.cc.

References ns3::Packet::FindFirstMatchingByteTag(), and ns3::Simulator::Now().

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