|
|
| 73 |
/** |
73 |
/** |
| 74 |
* \ingroup propagation |
74 |
* \ingroup propagation |
| 75 |
* |
75 |
* |
| 76 |
* \brief the propagation delay is random |
76 |
* \brief the propagation delay is random, defaulting to a U(0,1) random |
|
|
77 |
* variable. The random variable can be changed via the attribute 'Variable'. |
| 77 |
*/ |
78 |
*/ |
| 78 |
class RandomPropagationDelayModel : public PropagationDelayModel |
79 |
class RandomPropagationDelayModel : public PropagationDelayModel |
| 79 |
{ |
80 |
{ |
|
|
| 85 |
static TypeId GetTypeId (void); |
86 |
static TypeId GetTypeId (void); |
| 86 |
|
87 |
|
| 87 |
/** |
88 |
/** |
| 88 |
* Use the default parameters from PropagationDelayRandomDistribution. |
89 |
* Simply constructs the object |
| 89 |
*/ |
90 |
*/ |
| 90 |
RandomPropagationDelayModel (); |
91 |
RandomPropagationDelayModel (); |
| 91 |
virtual ~RandomPropagationDelayModel (); |
92 |
virtual ~RandomPropagationDelayModel (); |
|
|
| 98 |
/** |
99 |
/** |
| 99 |
* \ingroup propagation |
100 |
* \ingroup propagation |
| 100 |
* |
101 |
* |
| 101 |
* \brief the propagation speed is constant |
102 |
* \brief the propagation speed is constant, defaulting to the global |
|
|
103 |
* value 'SpeedOfLight' (default speed of light in a vacuum) |
| 102 |
*/ |
104 |
*/ |
| 103 |
class ConstantSpeedPropagationDelayModel : public PropagationDelayModel |
105 |
class ConstantSpeedPropagationDelayModel : public PropagationDelayModel |
| 104 |
{ |
106 |
{ |
|
|
| 110 |
static TypeId GetTypeId (void); |
112 |
static TypeId GetTypeId (void); |
| 111 |
|
113 |
|
| 112 |
/** |
114 |
/** |
| 113 |
* Use the default parameters from PropagationDelayConstantSpeed. |
115 |
* Simply constructs the object |
| 114 |
*/ |
116 |
*/ |
| 115 |
ConstantSpeedPropagationDelayModel (); |
117 |
ConstantSpeedPropagationDelayModel (); |
| 116 |
virtual Time GetDelay (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const; |
118 |
virtual Time GetDelay (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const; |
| 117 |
/** |
|
|
| 118 |
* \param speed the new speed (m/s) |
| 119 |
*/ |
| 120 |
void SetSpeed (double speed); |
| 121 |
/** |
| 122 |
* \returns the current propagation speed (m/s). |
| 123 |
*/ |
| 124 |
double GetSpeed (void) const; |
| 125 |
private: |
119 |
private: |
| 126 |
virtual int64_t DoAssignStreams (int64_t stream); |
120 |
virtual int64_t DoAssignStreams (int64_t stream); |
| 127 |
double m_speed; //!< speed |
|
|
| 128 |
}; |
121 |
}; |
| 129 |
|
122 |
|
| 130 |
} // namespace ns3 |
123 |
} // namespace ns3 |