|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
21 #include "ns3/mobility-model.h"
22 #include "ns3/double.h"
23 #include "ns3/string.h"
24 #include "ns3/pointer.h"
33 static TypeId tid =
TypeId (
"ns3::PropagationDelayModel")
35 .SetGroupName (
"Propagation")
57 static TypeId tid =
TypeId (
"ns3::RandomPropagationDelayModel")
59 .SetGroupName (
"Propagation")
61 .AddAttribute (
"Variable",
62 "The random variable which generates random delays (s).",
65 MakePointerChecker<RandomVariableStream> ())
94 static TypeId tid =
TypeId (
"ns3::ConstantSpeedPropagationDelayModel")
96 .SetGroupName (
"Propagation")
98 .AddAttribute (
"Speed",
"The propagation speed (m/s) in the propagation medium being considered. The default value is the propagation speed of light in the vacuum.",
101 MakeDoubleChecker<double> ())
113 double seconds = distance /
m_speed;
a unique identifier for an interface.
the propagation speed is constant
double GetSpeed(void) const
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual ~RandomPropagationDelayModel()
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
virtual Time GetDelay(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
virtual int64_t DoAssignStreams(int64_t stream)=0
Subclasses must implement this; those not using random variables can return zero.
calculate a propagation delay.
double GetDistanceFrom(Ptr< const MobilityModel > position) const
ConstantSpeedPropagationDelayModel()
Use the default parameters from PropagationDelayConstantSpeed.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
This class can be used to hold variables of floating point type such as 'double' or 'float'.
A base class which provides memory management and object aggregation.
Simulation virtual time values and global simulation resolution.
Ptr< const AttributeAccessor > MakePointerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
Hold variables of type string.
Ptr< const AttributeAccessor > MakeDoubleAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
virtual double GetValue(void)=0
Get the next random value as a double drawn from the distribution.
the propagation delay is random
virtual ~PropagationDelayModel()
Time Seconds(double value)
Construct a Time in the indicated unit.
RandomPropagationDelayModel()
Use the default parameters from PropagationDelayRandomDistribution.
static TypeId GetTypeId(void)
Get the type ID.
void SetStream(int64_t stream)
Specifies the stream number for the RngStream.
Ptr< RandomVariableStream > m_variable
random generator
virtual Time GetDelay(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
void SetSpeed(double speed)
static TypeId GetTypeId(void)
Get the type ID.
int64_t AssignStreams(int64_t stream)
If this delay model uses objects of type RandomVariableStream, set the stream numbers to the integers...
static TypeId GetTypeId(void)
Get the type ID.