src/devices/wifi/propagation-delay-model.cc
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Mon, 08 Oct 2007 15:58:07 +0200
changeset 1913 4e4ea4809c3d
parent 1882 061f7f7f9992
child 1957 9ce0828c6a19
permissions -rw-r--r--
implement broadcast/multicast MacStation

#include "propagation-delay-model.h"
#include "ns3/random-variable.h"

namespace ns3 {

PropagationDelayModel::~PropagationDelayModel ()
{}

RandomPropagationDelayModel::RandomPropagationDelayModel (const RandomVariable &variable)
  : m_variable (variable.Copy ())
{}
RandomPropagationDelayModel::~RandomPropagationDelayModel ()
{
  delete m_variable;
}
Time 
RandomPropagationDelayModel::GetDelay (double distance) const
{
  return Seconds (m_variable->GetValue ());
}

ConstantSpeedPropagationDelayModel::ConstantSpeedPropagationDelayModel ()
  : m_speed (300000000.0)
{}
ConstantSpeedPropagationDelayModel::ConstantSpeedPropagationDelayModel (double speed)
  : m_speed (speed)
{}
Time 
ConstantSpeedPropagationDelayModel::GetDelay (double distance) const
{
  double seconds = distance / m_speed;
  return Seconds (seconds);
}
void 
ConstantSpeedPropagationDelayModel::SetSpeed (double speed)
{
  m_speed = speed;
}
double 
ConstantSpeedPropagationDelayModel::GetSpeed (void) const
{
  return m_speed;
}

} // namespace ns3