27#include "ns3/boolean.h"
28#include "ns3/double.h"
30#include "ns3/object.h"
31#include "ns3/pointer.h"
32#include "ns3/random-variable-stream.h"
33#include "ns3/string.h"
34#include "ns3/uinteger.h"
39NS_LOG_COMPONENT_DEFINE(
"SatLowerLayerServiceConf");
53 NS_LOG_FUNCTION(
this);
58 NS_LOG_FUNCTION(
this);
75 NS_LOG_FUNCTION(
this);
80 NS_LOG_FUNCTION(
this);
92 NS_LOG_FUNCTION(
this);
96 NS_FATAL_ERROR(
"SatLowerLayerServiceConf::SatLowerLayerServiceConf - m_minRaServiceEntries "
97 "> m_maxRaServiceEntries");
102 NS_FATAL_ERROR(
"SatLowerLayerServiceConf::SatLowerLayerServiceConf - m_minDaServiceEntries "
103 "> m_maxDaServiceEntries");
109 NS_LOG_FUNCTION(
this);
115 std::string name =
"DaService";
122 std::string name =
"RaService";
141#define SAT_ADD_DA_SERVICE_ATTRIBUTES(index, a1, a2, a3, a4, a5, a6, a7) \
142 AddAttribute(GetIndexAsDaServiceName(index) + "_ConstantAssignmentProvided", \
143 "Constant Assignment provided for " + GetIndexAsDaServiceName(index), \
145 MakeBooleanAccessor( \
146 &SatLowerLayerServiceConf::SetDaServ##index##ConstantAssignmentProvided, \
147 &SatLowerLayerServiceConf::GetDaServ##index##ConstantAssignmentProvided), \
148 MakeBooleanChecker()) \
150 GetIndexAsDaServiceName(index) + "_RbdcAllowed", \
151 "RBDC allowed for DA " + GetIndexAsDaServiceName(index), \
153 MakeBooleanAccessor(&SatLowerLayerServiceConf::SetDaServ##index##RbdcAllowed, \
154 &SatLowerLayerServiceConf::GetDaServ##index##RbdcAllowed), \
155 MakeBooleanChecker()) \
157 GetIndexAsDaServiceName(index) + "_VolumeAllowed", \
158 "Volume allowed for DA " + GetIndexAsDaServiceName(index), \
160 MakeBooleanAccessor(&SatLowerLayerServiceConf::SetDaServ##index##VolumeAllowed, \
161 &SatLowerLayerServiceConf::GetDaServ##index##VolumeAllowed), \
162 MakeBooleanChecker()) \
163 .AddAttribute(GetIndexAsDaServiceName(index) + "_ConstantServiceRate", \
164 "A RandomVariableStream for constant service rate [kbps] for DA " + \
165 GetIndexAsDaServiceName(index), \
166 StringValue("ns3::ConstantRandomVariable[Constant=" + \
167 GetNumberAsString<uint16_t>(a4) + "]"), \
168 MakePointerAccessor( \
169 &SatLowerLayerServiceConf::SetDaServ##index##ConstantServiceRateStream, \
170 &SatLowerLayerServiceConf::GetDaServ##index##ConstantServiceRateStream), \
171 MakePointerChecker<RandomVariableStream>()) \
172 .AddAttribute(GetIndexAsDaServiceName(index) + "_MaximumServiceRate", \
173 "Maximum service rate [kbps] for DA " + GetIndexAsDaServiceName(index), \
175 MakeUintegerAccessor( \
176 &SatLowerLayerServiceConf::SetDaServ##index##MaximumServiceRateInKbps, \
177 &SatLowerLayerServiceConf::GetDaServ##index##MaximumServiceRateInKbps), \
178 MakeUintegerChecker<uint16_t>()) \
179 .AddAttribute(GetIndexAsDaServiceName(index) + "_MinimumServiceRate", \
180 "Minimum service rate [kbps] for DA " + GetIndexAsDaServiceName(index), \
182 MakeUintegerAccessor( \
183 &SatLowerLayerServiceConf::SetDaServ##index##MinimumServiceRateInKbps, \
184 &SatLowerLayerServiceConf::GetDaServ##index##MinimumServiceRateInKbps), \
185 MakeUintegerChecker<uint16_t>()) \
186 .AddAttribute(GetIndexAsDaServiceName(index) + "_MaximumBacklogSize", \
187 "Maximum backlog size [Kbytes] for DA " + GetIndexAsDaServiceName(index), \
189 MakeUintegerAccessor( \
190 &SatLowerLayerServiceConf::SetDaServ##index##MaximumBacklogInKbytes, \
191 &SatLowerLayerServiceConf::GetDaServ##index##MaximumBacklogInKbytes), \
192 MakeUintegerChecker<uint16_t>())
214#define SAT_ADD_RA_SERVICE_ATTRIBUTES(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) \
215 AddAttribute(GetIndexAsRaServiceName(index) + "_MaximumUniquePayloadPerBlock", \
216 "Maximum unique payload per block for RA " + GetIndexAsRaServiceName(index), \
218 MakeUintegerAccessor( \
219 &SatLowerLayerServiceConf::SetRaServ##index##MaximumUniquePayloadPerBlock, \
220 &SatLowerLayerServiceConf::GetRaServ##index##MaximumUniquePayloadPerBlock), \
221 MakeUintegerChecker<uint8_t>()) \
223 GetIndexAsRaServiceName(index) + "_MaximumConsecutiveBlockAccessed", \
224 "Maximum consecutive block accessed for RA " + GetIndexAsRaServiceName(index), \
226 MakeUintegerAccessor( \
227 &SatLowerLayerServiceConf::SetRaServ##index##MaximumConsecutiveBlockAccessed, \
228 &SatLowerLayerServiceConf::GetRaServ##index##MaximumConsecutiveBlockAccessed), \
229 MakeUintegerChecker<uint8_t>()) \
231 GetIndexAsRaServiceName(index) + "_MinimumIdleBlock", \
232 "Minimum idle block for RA " + GetIndexAsRaServiceName(index), \
234 MakeUintegerAccessor(&SatLowerLayerServiceConf::SetRaServ##index##MinimumIdleBlock, \
235 &SatLowerLayerServiceConf::GetRaServ##index##MinimumIdleBlock), \
236 MakeUintegerChecker<uint8_t>()) \
237 .AddAttribute(GetIndexAsRaServiceName(index) + "_BackOffTimeInMilliSeconds", \
238 "Back off time in milliseconds for RA " + GetIndexAsRaServiceName(index), \
240 MakeUintegerAccessor( \
241 &SatLowerLayerServiceConf::SetRaServ##index##BackOffTimeInMilliSeconds, \
242 &SatLowerLayerServiceConf::GetRaServ##index##BackOffTimeInMilliSeconds), \
243 MakeUintegerChecker<uint16_t>()) \
245 GetIndexAsRaServiceName(index) + "_HighLoadBackOffTimeInMilliSeconds", \
246 "High load back off time in milliseconds for RA " + GetIndexAsRaServiceName(index), \
248 MakeUintegerAccessor( \
249 &SatLowerLayerServiceConf::SetRaServ##index##HighLoadBackOffTimeInMilliSeconds, \
250 &SatLowerLayerServiceConf::GetRaServ##index##HighLoadBackOffTimeInMilliSeconds), \
251 MakeUintegerChecker<uint16_t>()) \
253 GetIndexAsRaServiceName(index) + "_BackOffProbability", \
254 "Back off probability for RA " + GetIndexAsRaServiceName(index), \
256 MakeUintegerAccessor(&SatLowerLayerServiceConf::SetRaServ##index##BackOffProbability, \
257 &SatLowerLayerServiceConf::GetRaServ##index##BackOffProbability), \
258 MakeUintegerChecker<uint16_t>()) \
260 GetIndexAsRaServiceName(index) + "_HighLoadBackOffProbability", \
261 "High load back off probability for RA " + GetIndexAsRaServiceName(index), \
263 MakeUintegerAccessor( \
264 &SatLowerLayerServiceConf::SetRaServ##index##HighLoadBackOffProbability, \
265 &SatLowerLayerServiceConf::GetRaServ##index##HighLoadBackOffProbability), \
266 MakeUintegerChecker<uint16_t>()) \
268 GetIndexAsRaServiceName(index) + "_NumberOfInstances", \
269 "Number of instances for RA " + GetIndexAsRaServiceName(index), \
271 MakeUintegerAccessor(&SatLowerLayerServiceConf::SetRaServ##index##NumberOfInstances, \
272 &SatLowerLayerServiceConf::GetRaServ##index##NumberOfInstances), \
273 MakeUintegerChecker<uint8_t>()) \
275 GetIndexAsRaServiceName(index) + "_AverageNormalizedOfferedLoadThreshold", \
276 "Average normalized offered load threshold for RA " + GetIndexAsRaServiceName(index), \
278 MakeDoubleAccessor(&SatLowerLayerServiceConf:: \
279 SetRaServ##index##AverageNormalizedOfferedLoadThreshold, \
280 &SatLowerLayerServiceConf:: \
281 GetRaServ##index##AverageNormalizedOfferedLoadThreshold), \
282 MakeDoubleChecker<double>()) \
283 .AddAttribute(GetIndexAsRaServiceName(index) + "_SlottedAlohaAllowed", \
284 "Slotted Aloha allowed for RA " + GetIndexAsRaServiceName(index), \
286 MakeBooleanAccessor( \
287 &SatLowerLayerServiceConf::SetRaServ##index##IsSlottedAlohaAllowed, \
288 &SatLowerLayerServiceConf::GetRaServ##index##IsSlottedAlohaAllowed), \
289 MakeBooleanChecker()) \
291 GetIndexAsRaServiceName(index) + "_CrdsaAllowed", \
292 "CRDSA allowed for RA " + GetIndexAsRaServiceName(index), \
294 MakeBooleanAccessor(&SatLowerLayerServiceConf::SetRaServ##index##IsCrdsaAllowed, \
295 &SatLowerLayerServiceConf::GetRaServ##index##IsCrdsaAllowed), \
296 MakeBooleanChecker()) \
298 GetIndexAsRaServiceName(index) + "_EssaAllowed", \
299 "ESSA allowed for RA " + GetIndexAsRaServiceName(index), \
301 MakeBooleanAccessor(&SatLowerLayerServiceConf::SetRaServ##index##IsEssaAllowed, \
302 &SatLowerLayerServiceConf::GetRaServ##index##IsEssaAllowed), \
303 MakeBooleanChecker())
309 TypeId(
"ns3::SatLowerLayerServiceConf")
311 .AddConstructor<SatLowerLayerServiceConf>()
314 "DA services in use.",
321 "RA services in use.",
328 "Index of the RA service to use as a default for carriers with no explicitly "
329 "assigned services.",
332 MakeUintegerChecker<uint8_t>(0,
334 .AddAttribute(
"DynamicRatePersistence",
335 "Dynamic rate persistence for the lower layer service.",
338 MakeUintegerChecker<uint8_t>())
340 "VolumeBacklogPersistence",
341 "Volume backlog persistence for the lower layer service",
344 MakeUintegerChecker<uint8_t>())
346 "DefaultControlRandomizationInterval",
347 "Default control randomization interval for the lower layer service",
348 TimeValue(MilliSeconds(100)),
350 MakeTimeChecker(MilliSeconds(0), MilliSeconds(std::numeric_limits<uint8_t>::max())))
355 .SAT_ADD_DA_SERVICE_ATTRIBUTES(0,
true,
false,
false, 50, 9216, 10, 384)
356 .SAT_ADD_DA_SERVICE_ATTRIBUTES(1,
false,
false,
false, 50, 9216, 10, 384)
357 .SAT_ADD_DA_SERVICE_ATTRIBUTES(2,
false,
false,
false, 50, 9216, 10, 384)
358 .SAT_ADD_DA_SERVICE_ATTRIBUTES(3,
false,
true,
false, 50, 9216, 10, 384)
365 .SAT_ADD_RA_SERVICE_ATTRIBUTES(0,
378 .SAT_ADD_RA_SERVICE_ATTRIBUTES(1,
391 .SAT_ADD_RA_SERVICE_ATTRIBUTES(2,
411 NS_LOG_FUNCTION(
this << (uint32_t)index);
415 NS_FATAL_ERROR(
"Service index out of range!!!");
423 bool constAssignmentProvided)
425 NS_LOG_FUNCTION(
this << (uint32_t)index << constAssignmentProvided);
429 NS_FATAL_ERROR(
"Service index out of range!!!");
438 NS_LOG_FUNCTION(
this << (uint32_t)index);
442 NS_FATAL_ERROR(
"Service index out of range!!!");
451 NS_LOG_FUNCTION(
this << (uint32_t)index << bdcAllowed);
455 NS_FATAL_ERROR(
"Service index out of range!!!");
464 NS_LOG_FUNCTION(
this << (uint32_t)index);
468 NS_FATAL_ERROR(
"Service index out of range!!!");
477 NS_LOG_FUNCTION(
this << (uint32_t)index << volumeAllowed);
481 NS_FATAL_ERROR(
"Service index out of range!!!");
490 NS_LOG_FUNCTION(
this << (uint32_t)index);
494 NS_FATAL_ERROR(
"Service index out of range!!!");
500Ptr<RandomVariableStream>
503 NS_LOG_FUNCTION(
this << (uint32_t)index);
507 NS_FATAL_ERROR(
"Service index out of range!!!");
516 Ptr<RandomVariableStream> constantServiceRateStream)
518 NS_LOG_FUNCTION(
this << (uint32_t)index);
522 NS_FATAL_ERROR(
"Service index out of range!!!");
531 NS_LOG_FUNCTION(
this << (uint32_t)index);
535 NS_FATAL_ERROR(
"Service index out of range!!!");
543 uint16_t maximumServiceRateKbps)
545 NS_LOG_FUNCTION(
this << (uint32_t)index << maximumServiceRateKbps);
549 NS_FATAL_ERROR(
"Service index out of range!!!");
558 NS_LOG_FUNCTION(
this << (uint32_t)index);
562 NS_FATAL_ERROR(
"Service index out of range!!!");
570 uint16_t minimumServiceRateKbps)
572 NS_LOG_FUNCTION(
this << (uint32_t)index << minimumServiceRateKbps);
576 NS_FATAL_ERROR(
"Service index out of range!!!");
585 NS_LOG_FUNCTION(
this << (uint32_t)index);
589 NS_FATAL_ERROR(
"Service index out of range!!!");
597 uint16_t maximumBacklogInKbytes)
599 NS_LOG_FUNCTION(
this << (uint32_t)index << maximumBacklogInKbytes);
603 NS_FATAL_ERROR(
"Service index out of range!!!");
612 NS_LOG_FUNCTION(
this << (uint32_t)index);
616 NS_FATAL_ERROR(
"Service index out of range!!!");
624 uint8_t uniquePayloadPerBlock)
626 NS_LOG_FUNCTION(
this << (uint32_t)index << uniquePayloadPerBlock);
630 NS_FATAL_ERROR(
"Service index out of range!!!");
639 NS_LOG_FUNCTION(
this << (uint32_t)index);
643 NS_FATAL_ERROR(
"Service index out of range!!!");
651 uint8_t consecutiveBlockAccessed)
653 NS_LOG_FUNCTION(
this << (uint32_t)index << consecutiveBlockAccessed);
657 NS_FATAL_ERROR(
"Service index out of range!!!");
660 m_raServiceEntries[index].SetMaximumConsecutiveBlockAccessed(consecutiveBlockAccessed);
666 NS_LOG_FUNCTION(
this << (uint32_t)index);
670 NS_FATAL_ERROR(
"Service index out of range!!!");
679 NS_LOG_FUNCTION(
this << (uint32_t)index << minimumIdleBlock);
683 NS_FATAL_ERROR(
"Service index out of range!!!");
692 NS_LOG_FUNCTION(
this << (uint32_t)index);
696 NS_FATAL_ERROR(
"Service index out of range!!!");
704 uint16_t backOffTimeInMilliSeconds)
706 NS_LOG_FUNCTION(
this << (uint32_t)index << backOffTimeInMilliSeconds);
710 NS_FATAL_ERROR(
"Service index out of range!!!");
719 NS_LOG_FUNCTION(
this << (uint32_t)index);
723 NS_FATAL_ERROR(
"Service index out of range!!!");
731 uint16_t backOffTimeInMilliSeconds)
733 NS_LOG_FUNCTION(
this << (uint32_t)index << backOffTimeInMilliSeconds);
737 NS_FATAL_ERROR(
"Service index out of range!!!");
740 m_raServiceEntries[index].SetHighLoadBackOffTimeInMilliSeconds(backOffTimeInMilliSeconds);
746 NS_LOG_FUNCTION(
this << (uint32_t)index);
750 NS_FATAL_ERROR(
"Service index out of range!!!");
759 NS_LOG_FUNCTION(
this << (uint32_t)index << backOffProbability);
763 NS_FATAL_ERROR(
"Service index out of range!!!");
772 NS_LOG_FUNCTION(
this << (uint32_t)index);
776 NS_FATAL_ERROR(
"Service index out of range!!!");
784 uint16_t highLoadBackOffProbability)
786 NS_LOG_FUNCTION(
this << (uint32_t)index << highLoadBackOffProbability);
790 NS_FATAL_ERROR(
"Service index out of range!!!");
799 NS_LOG_FUNCTION(
this << (uint32_t)index);
803 NS_FATAL_ERROR(
"Service index out of range!!!");
812 NS_LOG_FUNCTION(
this << (uint32_t)index << (uint32_t)numberOfInstances);
816 NS_FATAL_ERROR(
"Service index out of range!!!");
825 NS_LOG_FUNCTION(
this << (uint32_t)index);
829 NS_FATAL_ERROR(
"Service index out of range!!!");
838 double averageNormalizedOfferedLoadThreshold)
840 NS_LOG_FUNCTION(
this << (uint32_t)index << averageNormalizedOfferedLoadThreshold);
844 NS_FATAL_ERROR(
"Service index out of range!!!");
848 averageNormalizedOfferedLoadThreshold);
854 NS_LOG_FUNCTION(
this << (uint32_t)index);
858 NS_FATAL_ERROR(
"Service index out of range!!!");
867 NS_LOG_FUNCTION(
this << (uint32_t)index << isSlottedAlohaAllowed);
871 NS_FATAL_ERROR(
"Service index out of range!!!");
880 NS_LOG_FUNCTION(
this << (uint32_t)index);
884 NS_FATAL_ERROR(
"Service index out of range!!!");
893 NS_LOG_FUNCTION(
this << (uint32_t)index << isCrdsaAllowed);
897 NS_FATAL_ERROR(
"Service index out of range!!!");
906 NS_LOG_FUNCTION(
this << (uint32_t)index);
910 NS_FATAL_ERROR(
"Service index out of range!!!");
919 NS_LOG_FUNCTION(
this << (uint32_t)index << isEssaAllowed);
923 NS_FATAL_ERROR(
"Service index out of range!!!");
The SatLowerLayerServiceConf class holds information of all configures lower layer service entries.
void SetDaVolumeAllowed(uint8_t index, bool volumeAllowed)
Set state, if volume is allowed for a DA service.
bool GetDaVolumeAllowed(uint8_t index) const
Get state, if volume is allowed for a DA service.
uint16_t GetDaMaximumBacklogInKbytes(uint8_t index) const
Get maximum backlog size for a DA service.
uint8_t GetRaMaximumUniquePayloadPerBlock(uint8_t index) const
Get maximum unique payload per block for a RA service.
uint8_t m_volumeBacklogPersistence
uint8_t m_raServiceIndexDefault
void SetRaIsCrdsaAllowed(uint8_t index, bool isCrdsaAllowed)
Set CRDSA allowance.
void SetDaMinimumServiceRateInKbps(uint8_t index, uint16_t minimumServiceRateKbps)
Set minimum service rate for a DA service.
static std::string GetIndexAsDaServiceName(uint8_t index)
Method to convert DA service index to service name.
bool GetRaIsSlottedAlohaAllowed(uint8_t index) const
Get Slotted Aloha allowance.
void SetRaHighLoadBackOffProbability(uint8_t index, uint16_t highLoadBackOffProbability)
Set high load back off probability.
static std::string GetNumberAsString(T number)
Template method to convert number to string.
static const uint8_t m_minDaServiceEntries
static const uint8_t m_maxDaServiceEntries
void SetRaNumberOfInstances(uint8_t index, uint8_t numberOfInstances)
Set number of instances.
void SetDaConstantAssignmentProvided(uint8_t index, bool constAssignmentProvided)
Set state, if constant assignment is provided for a DA service.
bool GetDaRbdcAllowed(uint8_t index) const
Get state, if RBDC is allowed for a DA service.
uint16_t GetRaHighLoadBackOffProbability(uint8_t index) const
Get high load back off probability.
uint16_t GetDaMaximumServiceRateInKbps(uint8_t index) const
Get maximum service rate for a DA service.
void SetRaMaximumUniquePayloadPerBlock(uint8_t index, uint8_t maxUniquePayloadPerBlock)
Set maximum unique payload per block for a RA service.
~SatLowerLayerServiceConf()
Destructor for SatLowerLayerServiceConf.
uint16_t GetRaHighLoadBackOffTimeInMilliSeconds(uint8_t index) const
Get high load back off time in milliseconds.
static const uint8_t m_maxRaServiceEntries
SatLowerLayerServiceConf()
Constructor for SatLowerLayerServiceConf.
uint8_t m_daServiceEntryCount
static const uint8_t m_minRaServiceEntries
void SetRaAverageNormalizedOfferedLoadThreshold(uint8_t index, double averageNormalizedOfferedLoadThreshold)
Set average normalized offeredLoad Threshold.
SatLowerLayerServiceRaEntry m_raServiceEntries[m_maxRaServiceEntries]
bool GetRaIsEssaAllowed(uint8_t index) const
Get E-SSA allowance.
void SetRaIsSlottedAlohaAllowed(uint8_t index, bool isSlottedAlohaAllowed)
Set Slotted Aloha allowance.
void SetRaIsEssaAllowed(uint8_t index, bool isEssaAllowed)
Set ESSA allowance.
static TypeId GetTypeId(void)
methods derived from base classes
uint16_t GetDaMinimumServiceRateInKbps(uint8_t index) const
Get minimum service rate for a DA service.
bool GetRaIsCrdsaAllowed(uint8_t index) const
Get CRDSA allowance.
uint16_t GetDaConstantServiceRateInKbps(uint8_t index) const
Get constant service rate for a DA service.
void SetDaRbdcAllowed(uint8_t index, bool bdcAllowed)
Set state, if RBDC is allowed for a DA service.
double GetRaAverageNormalizedOfferedLoadThreshold(uint8_t index) const
Get average normalized offeredLoad Threshold.
uint8_t GetRaNumberOfInstances(uint8_t index) const
Get number of instances.
Ptr< RandomVariableStream > GetDaConstantServiceRateStream(uint8_t index) const
Get constant service rate stream for a DA service.
void SetRaMaximumConsecutiveBlockAccessed(uint8_t index, uint8_t maxConsecutiveBlockAccessed)
Set maximum consecutive block accessed for a RA service.
void SetRaBackOffProbability(uint8_t index, uint16_t backOffProbability)
Set back off probability.
void SetRaMinimumIdleBlock(uint8_t index, uint8_t minimumIdleBlock)
Set minimum idle block for a RA service.
uint16_t GetRaBackOffProbability(uint8_t index) const
Get back off probability.
static std::string GetIndexAsRaServiceName(uint8_t index)
Method to convert RA service index to service name.
uint8_t GetRaMaximumConsecutiveBlockAccessed(uint8_t index) const
Get maximum consecutive block accessed for a RA service.
void SetRaBackOffTimeInMilliSeconds(uint8_t index, uint16_t backOffTimeInMilliSeconds)
Set back off time in milliseconds.
void SetDaMaximumServiceRateInKbps(uint8_t index, uint16_t maximumServiceRateKbps)
Set maximum service rate for a DA service.
Time m_defaultControlRandomizationInterval
void SetRaHighLoadBackOffTimeInMilliSeconds(uint8_t index, uint16_t backOffTimeInMilliSeconds)
Set high load back off time in milliseconds.
void SetDaConstantServiceRateStream(uint8_t index, Ptr< RandomVariableStream > constantServiceRateStream)
Set constant service rate stream for a DA service.
bool GetDaConstantAssignmentProvided(uint8_t index) const
Get state, if constant assignment is provided for a DA service.
SatLowerLayerServiceDaEntry m_daServiceEntries[m_maxDaServiceEntries]
uint8_t GetRaMinimumIdleBlock(uint8_t index) const
Get minimum idle block for a RA service.
uint8_t m_raServiceEntryCount
uint16_t GetRaBackOffTimeInMilliSeconds(uint8_t index) const
Get back off time in milliseconds.
void SetDaMaximumBacklogInKbytes(uint8_t index, uint16_t maximumBacklogInKbytes)
Set maximum backlog size for a DA service.
uint8_t m_dynamicRatePersistence
uint16_t m_minimumServiceRateKbps
uint16_t m_maximumServiceRateKbps
Ptr< RandomVariableStream > m_constantServiceRateStream
SatLowerLayerServiceDaEntry()
~SatLowerLayerServiceDaEntry()
Destructor for SatLowerLayerServiceDaEntry.
uint16_t m_maximumBacklogInKbytes
bool m_constantAssignmentProvided
SatLowerLayerServiceRaEntry()
uint16_t m_backOffProbability
uint8_t m_maxUniquePayloadPerBlock
uint8_t m_minimumIdleBlock
uint8_t m_numberOfInstances
bool m_isSlottedAlohaAllowed
uint16_t m_highLoadBackOffTimeInMilliSeconds
uint16_t m_highLoadBackOffProbability
uint8_t m_maxConsecutiveBlockAccessed
~SatLowerLayerServiceRaEntry()
Destructor for SatLowerLayerServiceRaEntry.
uint16_t m_backOffTimeInMilliSeconds
double m_averageNormalizedOfferedLoadThreshold
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.