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;
 
Simulation virtual time values and global simulation resolution. 
 
void SetStream(int64_t stream)
Specifies the stream number for the RngStream. 
 
double GetDistanceFrom(Ptr< const MobilityModel > position) const 
 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system. 
 
Hold variables of type string. 
 
virtual Time GetDelay(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const 
 
virtual Time GetDelay(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
RandomPropagationDelayModel()
Use the default parameters from PropagationDelayRandomDistribution. 
 
virtual ~PropagationDelayModel()
 
Ptr< RandomVariableStream > m_variable
random generator 
 
virtual double GetValue(void)=0
Get the next random value as a double drawn from the distribution. 
 
void SetSpeed(double speed)
 
static TypeId GetTypeId(void)
Get the type ID. 
 
Ptr< const AttributeAccessor > MakePointerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
virtual int64_t DoAssignStreams(int64_t stream)=0
Subclasses must implement this; those not using random variables can return zero. ...
 
calculate a propagation delay. 
 
the propagation speed is constant 
 
int64_t AssignStreams(int64_t stream)
If this delay model uses objects of type RandomVariableStream, set the stream numbers to the integers...
 
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. 
 
Ptr< const AttributeAccessor > MakeDoubleAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
the propagation delay is random 
 
ConstantSpeedPropagationDelayModel()
Use the default parameters from PropagationDelayConstantSpeed. 
 
Time Seconds(double value)
Construct a Time in the indicated unit. 
 
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero. ...
 
static TypeId GetTypeId(void)
Get the type ID. 
 
A base class which provides memory management and object aggregation. 
 
This class can be used to hold variables of floating point type such as 'double' or 'float'...
 
double GetSpeed(void) const 
 
virtual ~RandomPropagationDelayModel()
 
a unique identifier for an interface. 
 
TypeId SetParent(TypeId tid)
Set the parent TypeId.