ns-3
ns3::RateErrorModel Class Reference

Determine which packets are errored corresponding to an underlying distribution, rate, and unit. More...

#include <error-model.h>

Inheritance diagram for ns3::RateErrorModel:
Collaboration diagram for ns3::RateErrorModel:

List of all members.

Public Types

enum  ErrorUnit { ERROR_UNIT_BIT, ERROR_UNIT_BYTE, ERROR_UNIT_PACKET }

Public Member Functions

RateErrorModel::ErrorUnit GetUnit (void) const
void SetUnit (enum ErrorUnit error_unit)
double GetRate (void) const
void SetRate (double rate)
void SetRandomVariable (const RandomVariable &ranvar)
- Public Member Functions inherited from ns3::ErrorModel
bool IsCorrupt (Ptr< Packet > pkt)
void Reset (void)
void Enable (void)
void Disable (void)
bool IsEnabled (void) const
- Public Member Functions inherited from ns3::Object
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Dispose (void)
void AggregateObject (Ptr< Object > other)
AggregateIterator GetAggregateIterator (void) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
uint32_t GetReferenceCount (void) const
- Public Member Functions inherited from ns3::ObjectBase
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
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 (void)
 This method returns the TypeId associated to ns3::RateErrorModel.

Detailed Description

Determine which packets are errored corresponding to an underlying distribution, rate, and unit.

This object is used to flag packets as being lost/errored or not. The two parameters that govern the behavior are the rate (or equivalently, the mean duration/spacing between errors), and the unit (which may be per-bit, per-byte, and per-packet). Users can optionally provide a RandomVariable object; the default is to use a Uniform(0,1) distribution.

Reset() on this model will do nothing

IsCorrupt() will not modify the packet data buffer


Member Function Documentation

double ns3::RateErrorModel::GetRate ( void  ) const
Returns:
the error rate being applied by the model

References NS_LOG_FUNCTION_NOARGS.

TypeId ns3::RateErrorModel::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::RateErrorModel.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::CsmaNetDevice/ReceiveErrorModel/$ns3::RateErrorModel
  • /NodeList/[i]/DeviceList/[i]/$ns3::PointToPointNetDevice/ReceiveErrorModel/$ns3::RateErrorModel
  • /NodeList/[i]/DeviceList/[i]/$ns3::SimpleNetDevice/ReceiveErrorModel/$ns3::RateErrorModel

Attributes defined for this type:

  • ErrorUnit: The error unit
    • Set with class: ns3::EnumValue
    • Underlying type: ERROR_UNIT_BIT|ERROR_UNIT_BYTE|ERROR_UNIT_PACKET
    • Initial value: ERROR_UNIT_BYTE
    • Flags: construct write read
  • ErrorRate: The error rate.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • RanVar: The decision variable attached to this error model.

Attributes defined in parent class ns3::ErrorModel:

  • IsEnabled: Whether this ErrorModel is enabled or not.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read

No TraceSources defined for this type.

Reimplemented from ns3::ErrorModel.

References ns3::TypeId::SetParent().

RateErrorModel::ErrorUnit ns3::RateErrorModel::GetUnit ( void  ) const
Returns:
the ErrorUnit being used by the underlying model

References NS_LOG_FUNCTION_NOARGS.

void ns3::RateErrorModel::SetRandomVariable ( const RandomVariable ranvar)
Parameters:
ranvarA random variable distribution to generate random variates

References NS_LOG_FUNCTION_NOARGS.

void ns3::RateErrorModel::SetRate ( double  rate)
Parameters:
ratethe error rate to be used by the model

References NS_LOG_FUNCTION_NOARGS.

void ns3::RateErrorModel::SetUnit ( enum ErrorUnit  error_unit)
Parameters:
error_unitthe ErrorUnit to be used by the underlying model

References NS_LOG_FUNCTION_NOARGS.


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