In this section, we summarize the important storage structures used.
Packet *pktTx[i]: pointer to the packet to be sent in Upslot i
Packet *pktRx[i]: pointer to the packet received in Downslot i
int tx_chan[i]: which channel should the MS transmit on in Upslot i
int rx_chan[i]: which channel should the MS listen to in Downslot i
Note: tx_chan[0] = 0 for Random Access
rx_chan[0]=0 for Broadcasts and other messages from BS
This structure also allows for multi-slot allocation to be included later.
Packet *txQ[i][j]: pointer to the packet to be sent in Downslot j, frequency i
Packet *rxQ[i][j]: pointer to the packet received in Upslot j, frequency i
int vlr_.hier_addr_[i]: hierarchical address of MS with MAC index i
int vlr_.up_table[i][j]: MAC index of MS alloted Upslot j on frequency i
int vlr_.down_table[i][j]: MAC index of MS alloted Downslot j on frequency i
Note: These structures have to be unique for each BS. Since ns does not currently have a separate BS node at the C++ level (ns configures a node as BS only at the OTcl level), these structures had to be made static. This limits our simulator to supporting just one BS and consequently, just one cell.