--- a/src/devices/wifi/propagation-delay-model.h Fri Oct 26 13:49:33 2007 +0200
+++ b/src/devices/wifi/propagation-delay-model.h Fri Oct 26 14:00:13 2007 +0200
@@ -11,18 +11,43 @@
class RandomVariable;
+/**
+ * \brief calculate a propagation delay.
+ */
class PropagationDelayModel : public Object
{
public:
virtual ~PropagationDelayModel ();
+ /**
+ * \param a the source
+ * \param b the destination
+ * \returns the calculated propagation delay
+ *
+ * Calculate the propagation delay between the specified
+ * source and destination.
+ */
virtual Time GetDelay (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const = 0;
+ /**
+ * \returns the default propagation loss model as specified
+ * by the PropagationDelayModelType ns3::DefaultValue.
+ */
static Ptr<PropagationDelayModel> CreateDefault (void);
};
+/**
+ * \brief the propagation delay is random
+ */
class RandomPropagationDelayModel : public PropagationDelayModel
{
public:
+ /**
+ * Use the default parameters from PropagationDelayRandomDistribution.
+ */
RandomPropagationDelayModel ();
+ /**
+ * \param variable the random distribution to use for this
+ * instance
+ */
RandomPropagationDelayModel (const RandomVariable &variable);
virtual ~RandomPropagationDelayModel ();
virtual Time GetDelay (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;
@@ -30,12 +55,29 @@
RandomVariable *m_variable;
};
+/**
+ * \brief the propagation speed is constant
+ */
class ConstantSpeedPropagationDelayModel : public PropagationDelayModel
{
public:
+ /**
+ * Use the default parameters from PropagationDelayConstantSpeed.
+ */
+ ConstantSpeedPropagationDelayModel ();
+ /**
+ * \param speed the speed (m/s) of the propagation to use for this
+ * instance
+ */
ConstantSpeedPropagationDelayModel (double speed);
virtual Time GetDelay (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;
+ /**
+ * \param speed the new speed (m/s)
+ */
void SetSpeed (double speed);
+ /**
+ * \returns the current propagation speed (m/s).
+ */
double GetSpeed (void) const;
private:
double m_speed;