29NS_LOG_COMPONENT_DEFINE(
"SatRandomAccessAllocationChannel");
39 static TypeId tid = TypeId(
"ns3::SatRandomAccessAllocationChannel")
41 .AddConstructor<SatRandomAccessAllocationChannel>();
64 NS_LOG_FUNCTION(
this);
69 NS_LOG_FUNCTION(
this);
75 NS_LOG_FUNCTION(
this);
79 NS_LOG_INFO(
"CRDSA disallowed: skipping sanity check");
85 NS_FATAL_ERROR(
"SatRandomAccessAllocationChannel::DoCrdsaVariableSanityCheck - max < 1");
90 NS_FATAL_ERROR(
"SatRandomAccessAllocationChannel::DoCrdsaVariableSanityCheck - min > max");
96 "SatRandomAccessAllocationChannel::DoCrdsaVariableSanityCheck - instances < 1");
101 NS_FATAL_ERROR(
"SatRandomAccessAllocationChannel::DoCrdsaVariableSanityCheck - (max - min) "
107 NS_FATAL_ERROR(
"SatRandomAccessAllocationChannel::CrdsaDoVariableSanityCheck - "
108 "m_crdsaBackoffProbability < 0.0 || m_crdsaBackoffProbability > 1.0");
111 NS_LOG_INFO(
"Variable sanity check done");
Class for random access allocation channel configuration.
double m_crdsaBackoffProbability
CRDSA backoff probability.
uint32_t m_fSimBackoffTimeInMilliSeconds
F-SIM Backoff Time in physical layer frame units.
double m_fSimBackoffProbability
F-SIM Backoff Probability.
static TypeId GetTypeId(void)
NS-3 type id function.
uint32_t m_crdsaNumOfConsecutiveBlocksUsed
CRDSA number of consecutive blocks used.
virtual ~SatRandomAccessAllocationChannel()
Destructor.
uint32_t m_crdsaNumOfInstances
CRDSA number of packet instances (replicas).
void DoCrdsaVariableSanityCheck()
Function for checking the CRDSA parameter sanity.
uint32_t m_crdsaMaxUniquePayloadPerBlock
CRDSA maximum number of unique payloads per block.
uint32_t m_fSimPhysicalLayerFrameInMilliSeconds
F-SIM physical layer frame duration in milliseconds TODO: maybe this shouldn't be here.
uint32_t m_crdsaBackoffTimeInMilliSeconds
CRDSA backoff time.
uint32_t m_crdsaMinRandomizationValue
CRDSA minimum randomization value.
uint32_t m_crdsaMaxRandomizationValue
CRDSA maximum randomization value.
uint32_t m_crdsaMaxConsecutiveBlocksAccessed
CRDSA maximum number of consecutive blocks accessed.
bool m_slottedAlohaAllowed
Slotted Aloha allowed.
uint32_t m_crdsaMinIdleBlocks
CRDSA minimum number of idle blocks.
uint32_t m_crdsaIdleBlocksLeft
CRDSA number of idle blocks left.
SatRandomAccessAllocationChannel()
Constructor.
Time m_crdsaBackoffReleaseTime
CRDSA backoff release time.
bool m_essaAllowed
ESSA allowed.
bool m_crdsaAllowed
CRDSA allowed.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.