64#define UWSMARTOFDM_DROP_REASON_WRONG_STATE "WST"
65#define UWSMARTOFDM_DROP_REASON_WRONG_RECEIVER "WRCV"
66#define UWSMARTOFDM_DROP_REASON_UNKNOWN_TYPE "UPT"
67#define UWSMARTOFDM_DROP_REASON_BUFFER_FULL "DBF"
68#define UWSMARTOFDM_DROP_REASON_ERROR "ERR"
119 virtual int command(
int argc,
const char *
const *argv);
124 std::string modulation);
451 virtual void expire(Event *e);
481 virtual void expire(Event *e);
511 virtual void expire(Event *e);
540 virtual void expire(Event *e);
570 virtual void expire(Event *e);
601 virtual void expire(Event *e);
631 virtual void expire(Event *e);
702 virtual void txAck(
int dest_addr);
708 virtual void txRTS();
716 virtual void txCTS(
int dest_addr,
int *rcv_car,
int bytesToSend);
955 hdr_cmn *ch = hdr_cmn::access(p);
978 map<pktSeqNum, Packet *>::iterator it_p;
981 Packet::free((*it_p).second);
985 std::cout <<
"ATTENTION PACKET NOT FOUND IN PKTQUEUE" << std::endl;
1005 map<pktSeqNum, AckTimer>::iterator it_a;
1018 return (up_data_pkts_rx -
mapPacket.size());
1033 return up_data_pkts_rx;
1076 int matchCarriers(
int *myFree,
int *otherFree,
int *matching);
1224 static map<UWSMARTOFDM_REASON_STATUS, string>
1227 static map<UWSMARTOFDM_PKT_TYPE, string>
1230 static map<criticalLevel, string>
1234 map<pktSeqNum, Packet *>
1242 std::vector<std::vector<int>>
1271 std::vector<std::vector<double>>
Definition msg-display.h:44
Definition uw-smart-ofdm.h:428
virtual ~AckTimer()
Definition uw-smart-ofdm.h:442
AckTimer(UWSmartOFDM *m)
Definition uw-smart-ofdm.h:434
virtual void expire(Event *e)
Definition uw-smart-ofdm.cpp:70
Definition uw-smart-ofdm.h:547
AssignmentTimer(UWSmartOFDM *m)
Definition uw-smart-ofdm.h:553
virtual void expire(Event *e)
Definition uw-smart-ofdm.cpp:176
virtual ~AssignmentTimer()
Definition uw-smart-ofdm.h:561
Definition uw-smart-ofdm.h:578
virtual ~AssignmentValidTimer()
Definition uw-smart-ofdm.h:592
AssignmentValidTimer(UWSmartOFDM *m)
Definition uw-smart-ofdm.h:584
virtual void expire(Event *e)
Definition uw-smart-ofdm.cpp:190
Definition uw-smart-ofdm.h:458
BackOffTimer(UWSmartOFDM *m)
Definition uw-smart-ofdm.h:464
virtual void expire(Event *e)
Definition uw-smart-ofdm.cpp:92
virtual ~BackOffTimer()
Definition uw-smart-ofdm.h:472
Definition uw-smart-ofdm.h:488
CTSTimer(UWSmartOFDM *m)
Definition uw-smart-ofdm.h:494
virtual ~CTSTimer()
Definition uw-smart-ofdm.h:502
virtual void expire(Event *e)
Definition uw-smart-ofdm.cpp:121
Definition uw-smart-ofdm.h:608
virtual void expire(Event *e)
Definition uw-smart-ofdm.cpp:200
DATATimer(UWSmartOFDM *m)
Definition uw-smart-ofdm.h:614
virtual ~DATATimer()
Definition uw-smart-ofdm.h:622
Definition uw-smart-ofdm.h:517
virtual ~RTSTimer()
Definition uw-smart-ofdm.h:531
virtual void expire(Event *e)
Definition uw-smart-ofdm.cpp:155
RTSTimer(UWSmartOFDM *m)
Definition uw-smart-ofdm.h:523
Definition uw-smart-ofdm.h:237
double left_duration
Definition uw-smart-ofdm.h:414
virtual void stop()
Definition uw-smart-ofdm.h:302
UWSmartOFDM *UWSMARTOFDM_TIMER_STATUS timer_status
Definition uw-smart-ofdm.h:421
void resetCounter()
Definition uw-smart-ofdm.h:376
double getDuration()
Definition uw-smart-ofdm.h:406
void incrCounter()
Definition uw-smart-ofdm.h:386
virtual double startTime()
Definition uw-smart-ofdm.h:262
int getCounter()
Definition uw-smart-ofdm.h:396
bool isActive()
Definition uw-smart-ofdm.h:366
virtual ~UWSmartOFDMTimer()
Definition uw-smart-ofdm.h:257
double start_time
Definition uw-smart-ofdm.h:412
int counter
Definition uw-smart-ofdm.h:416
bool isFrozen()
Definition uw-smart-ofdm.h:356
bool isExpired()
Definition uw-smart-ofdm.h:346
bool isRunning()
Definition uw-smart-ofdm.h:336
bool isIdle()
Definition uw-smart-ofdm.h:326
virtual void schedule(double val)
Definition uw-smart-ofdm.h:313
virtual void freeze()
Definition uw-smart-ofdm.h:275
UWSmartOFDMTimer(UWSmartOFDM *m)
Definition uw-smart-ofdm.h:243
virtual void unFreeze()
Definition uw-smart-ofdm.h:289
This is the base class of UWSmartOFDM protocol, which is a derived class of MMac.
Definition uw-smart-ofdm.h:98
virtual double getCTSsent()
Definition uw-smart-ofdm.h:925
virtual void stateWaitCTS()
Definition uw-smart-ofdm.cpp:1456
bool car_assigned
Definition uw-smart-ofdm.h:1152
void eraseItemFromPktQueue(int seq_num)
Definition uw-smart-ofdm.h:976
virtual void stateTxData()
Definition uw-smart-ofdm.cpp:1524
virtual ~UWSmartOFDM()
Definition uw-smart-ofdm.cpp:299
double wait_constant
Definition uw-smart-ofdm.h:1123
bool ackToSend
Definition uw-smart-ofdm.h:1263
int recv_data_id
Definition uw-smart-ofdm.h:1181
int nodeNum
Definition uw-smart-ofdm.h:1153
virtual void stateRxBackoff()
Definition uw-smart-ofdm.cpp:1514
bool print_transitions
Definition uw-smart-ofdm.h:1167
virtual void Phy2MacEndTx(const Packet *p)
Definition uw-smart-ofdm.cpp:747
void putAckTimerInMap(int seq_num)
Definition uw-smart-ofdm.h:993
virtual double computeTxTime(UWSMARTOFDM_PKT_TYPE type)
Definition uw-smart-ofdm.cpp:560
bool batchSending()
Definition uw-smart-ofdm.cpp:1993
virtual void recvFromUpperLayers(Packet *p)
Definition uw-smart-ofdm.cpp:589
virtual void stateRxRTS(Packet *p)
Definition uw-smart-ofdm.cpp:1358
int getHighPrioPktsSent()
Definition uw-smart-ofdm.h:1038
std::vector< int > mac_carVec
Definition uw-smart-ofdm.h:1144
virtual void incrCurrTxRounds()
Definition uw-smart-ofdm.h:881
void init_macofdm_node(int subCarNum, double carSize, int ctrl_subCar, std::string modulation)
Definition uw-smart-ofdm.cpp:452
int txsn
Definition uw-smart-ofdm.h:1190
virtual void txAck(int dest_addr)
Definition uw-smart-ofdm.cpp:1066
bool has_buffer_queue
Definition uw-smart-ofdm.h:1168
AssignmentValidTimer assignment_valid_timer
Definition uw-smart-ofdm.h:1204
virtual void stateBackoffCTS()
Definition uw-smart-ofdm.cpp:1466
bool coordinator
Definition uw-smart-ofdm.h:1150
int max_payload
Definition uw-smart-ofdm.h:1126
void clearOccTable()
Definition uw-smart-ofdm.cpp:1942
CTSTimer CTS_timer
Definition uw-smart-ofdm.h:1196
Packet * pkt_to_ack
Definition uw-smart-ofdm.h:1264
int HDR_size
Definition uw-smart-ofdm.h:1127
int uwsmartofdm_debug
Definition uw-smart-ofdm.h:1139
int data_car
Definition uw-smart-ofdm.h:1149
void printOccTable()
Definition uw-smart-ofdm.cpp:1964
static map< criticalLevel, string > clevel_info
Definition uw-smart-ofdm.h:1231
void addInvalidCarriers(int c)
Definition uw-smart-ofdm.h:1109
void carToBeUsed(criticalLevel c, int &top, int &bottom, int &avoid_top, int &avoid_bottom)
Definition uw-smart-ofdm.cpp:1812
virtual double getBackoffTime()
Definition uw-smart-ofdm.cpp:536
Packet * curr_data_pkt
Definition uw-smart-ofdm.h:1188
double mac_carrierSize
Definition uw-smart-ofdm.h:1147
int RTS_size
Definition uw-smart-ofdm.h:1129
int waitPkt
Definition uw-smart-ofdm.h:1265
void updateOccupancy(int *busyCar, int ntslots)
Definition uw-smart-ofdm.cpp:1926
UWSmartOFDM()
Definition uw-smart-ofdm.cpp:221
int current_macDA
Definition uw-smart-ofdm.h:1155
std::vector< std::vector< int > > occupancy_table
Definition uw-smart-ofdm.h:1243
virtual void resetCurrTxRounds()
Definition uw-smart-ofdm.h:890
void putPktInQueue(Packet *p)
Definition uw-smart-ofdm.h:966
virtual void updateRTT(double rtt)
Definition uw-smart-ofdm.cpp:499
AssignmentTimer assignment_timer
Definition uw-smart-ofdm.h:1201
static map< UWSMARTOFDM_REASON_STATUS, string > reason_info
Definition uw-smart-ofdm.h:1225
virtual void stateRxData(Packet *p)
Definition uw-smart-ofdm.cpp:1645
virtual void incrUpperDataRx()
Definition uw-smart-ofdm.h:1025
virtual void txCTS(int dest_addr, int *rcv_car, int bytesToSend)
Definition uw-smart-ofdm.cpp:1120
std::vector< std::vector< double > > interf_table
Definition uw-smart-ofdm.h:1272
AckTimer ack_timer
Definition uw-smart-ofdm.h:1194
DATATimer DATA_timer
Definition uw-smart-ofdm.h:1198
int last_data_id_rx
Definition uw-smart-ofdm.h:1180
UWSMARTOFDM_ACK_MODES
Definition uw-smart-ofdm.h:215
@ UWSMARTOFDM_NO_ACK_MODE
Definition uw-smart-ofdm.h:217
@ UWSMARTOFDM_ACK_MODE
Definition uw-smart-ofdm.h:216
void removeInvalidCarrier(int c)
Definition uw-smart-ofdm.cpp:1763
virtual void stateRxAck(Packet *p)
Definition uw-smart-ofdm.cpp:1692
int high_prio_pkt_sent
Definition uw-smart-ofdm.h:1183
criticalLevel cLevel
Definition uw-smart-ofdm.h:1151
void updateInterfTable(Packet *p)
Definition uw-smart-ofdm.cpp:1773
virtual void stateWaitData(double t)
Definition uw-smart-ofdm.cpp:1720
int mac_ncarriers
Definition uw-smart-ofdm.h:1146
UWSMARTOFDM_STATUS
Definition uw-smart-ofdm.h:132
@ UWSMARTOFDM_STATE_ACK_RX
Definition uw-smart-ofdm.h:139
@ UWSMARTOFDM_STATE_RX_CTS
Definition uw-smart-ofdm.h:153
@ UWSMARTOFDM_STATE_BACKOFF
Definition uw-smart-ofdm.h:134
@ UWSMARTOFDM_STATE_NOT_SET
Definition uw-smart-ofdm.h:140
@ UWSMARTOFDM_STATE_TX_CTS
Definition uw-smart-ofdm.h:152
@ UWSMARTOFDM_STATE_IDLE
Definition uw-smart-ofdm.h:133
@ UWSMARTOFDM_STATE_TX_ACK
Definition uw-smart-ofdm.h:136
@ UWSMARTOFDM_STATE_RX_IDLE
Definition uw-smart-ofdm.h:142
@ UWSMARTOFDM_STATE_DATA_RX
Definition uw-smart-ofdm.h:138
@ UWSMARTOFDM_STATE_CHK_CTS_BACKOFF_TIMEOUT
Definition uw-smart-ofdm.h:151
@ UWSMARTOFDM_STATE_CHK_BACKOFF_TIMEOUT
Definition uw-smart-ofdm.h:144
@ UWSMARTOFDM_STATE_CHK_ACK_TIMEOUT
Definition uw-smart-ofdm.h:141
@ UWSMARTOFDM_STATE_WAIT_ACK
Definition uw-smart-ofdm.h:137
@ UWSMARTOFDM_STATE_RX_BACKOFF
Definition uw-smart-ofdm.h:145
@ UWSMARTOFDM_STATE_CTRL_BACKOFF
Definition uw-smart-ofdm.h:150
@ UWSMARTOFDM_STATE_TX_DATA
Definition uw-smart-ofdm.h:135
@ UWSMARTOFDM_STATE_TX_ACTIVE
Definition uw-smart-ofdm.h:155
@ UWSMARTOFDM_STATE_WRONG_PKT_RX
Definition uw-smart-ofdm.h:146
@ UWSMARTOFDM_STATE_WAIT_CTS
Definition uw-smart-ofdm.h:149
@ UWSMARTOFDM_STATE_RX_RTS
Definition uw-smart-ofdm.h:148
@ UWSMARTOFDM_STATE_TX_RTS
Definition uw-smart-ofdm.h:147
@ UWSMARTOFDM_STATE_RX_WAIT_ACK
Definition uw-smart-ofdm.h:143
@ UWSMARTOFDM_STATE_RX_ACTIVE
Definition uw-smart-ofdm.h:154
@ UWSMARTOFDM_STATE_WAIT_DATA
Definition uw-smart-ofdm.h:156
ofstream fout
Definition uw-smart-ofdm.h:1239
int getPktSeqNum(Packet *p)
Definition uw-smart-ofdm.h:952
virtual double getRTSsent()
Definition uw-smart-ofdm.h:916
int rttsamples
Definition uw-smart-ofdm.h:1175
virtual void updateAckTimeout(double rtt)
Definition uw-smart-ofdm.cpp:509
int curr_pkt_batch
Definition uw-smart-ofdm.h:1257
int ctrl_car
Definition uw-smart-ofdm.h:1148
double max_backoff_counter
Definition uw-smart-ofdm.h:1136
static map< UWSMARTOFDM_STATUS, string > status_info
Definition uw-smart-ofdm.h:1221
virtual void stateBackoff(double bt=0)
Definition uw-smart-ofdm.cpp:1495
int CTSsent
Definition uw-smart-ofdm.h:1177
int req_tslots
Definition uw-smart-ofdm.h:1248
virtual void Phy2MacEndRx(Packet *p)
Definition uw-smart-ofdm.cpp:836
double start_tx_time
Definition uw-smart-ofdm.h:1171
UWSMARTOFDM_STATUS curr_state
Definition uw-smart-ofdm.h:1210
virtual void Phy2MacStartRx(const Packet *p)
Definition uw-smart-ofdm.cpp:826
virtual void stateSendCTS(Packet *p)
Definition uw-smart-ofdm.cpp:1436
virtual void initInfo()
Definition uw-smart-ofdm.cpp:367
virtual void stateCheckCTSBackoffExpired()
Definition uw-smart-ofdm.cpp:1236
double sumrtt2
Definition uw-smart-ofdm.h:1174
UWSMARTOFDM_STATUS prev_state
Definition uw-smart-ofdm.h:1213
virtual int getRemainingPkts()
Definition uw-smart-ofdm.h:1016
std::vector< string > mac_carMod
Definition uw-smart-ofdm.h:1143
int matchCarriers(int *myFree, int *otherFree, int *matching)
Definition uw-smart-ofdm.cpp:1903
int oTableIndex
Definition uw-smart-ofdm.h:1157
virtual int command(int argc, const char *const *argv)
Definition uw-smart-ofdm.cpp:306
static bool initialized
Definition uw-smart-ofdm.h:1160
int curr_rts_tries
Definition uw-smart-ofdm.h:1255
virtual void stateIdle()
Definition uw-smart-ofdm.cpp:1263
BackOffTimer backoff_timer
Definition uw-smart-ofdm.h:1195
double nextAssignment
Definition uw-smart-ofdm.h:1186
double srtt
Definition uw-smart-ofdm.h:1172
virtual void Mac2PhyStartTx(Packet *p)
Definition uw-smart-ofdm.cpp:724
void eraseItemFrommapAckTimer(int seq_num)
Definition uw-smart-ofdm.h:1003
virtual void refreshReason(UWSMARTOFDM_REASON_STATUS reason)
Definition uw-smart-ofdm.h:871
static const double prop_speed
Definition uw-smart-ofdm.h:1192
double timeslot_length
Definition uw-smart-ofdm.h:1246
map< pktSeqNum, Packet * > mapPacket
Definition uw-smart-ofdm.h:1235
int RTSsent
Definition uw-smart-ofdm.h:1176
void resetAssignment()
Definition uw-smart-ofdm.cpp:1955
double bitrateCar
Definition uw-smart-ofdm.h:1133
std::mutex otabmtx
Definition uw-smart-ofdm.h:1244
std::atomic< int > current_rcvs
Definition uw-smart-ofdm.h:1154
double alpha_
Definition uw-smart-ofdm.h:1135
int getHighPrioPktsRecv()
Definition uw-smart-ofdm.h:1045
double ACK_timeout
Definition uw-smart-ofdm.h:1132
double sumrtt
Definition uw-smart-ofdm.h:1173
int ACK_size
Definition uw-smart-ofdm.h:1128
virtual void updateLastDataIdRx(int id)
Definition uw-smart-ofdm.h:940
int high_prio_pkt_recv
Definition uw-smart-ofdm.h:1184
int max_car_reserved
Definition uw-smart-ofdm.h:1247
int buffer_pkts
Definition uw-smart-ofdm.h:1134
int last_sent_data_id
Definition uw-smart-ofdm.h:1165
virtual void txData()
Definition uw-smart-ofdm.cpp:1050
double nextFreeTime
Definition uw-smart-ofdm.h:1262
virtual void initPkt(Packet *p, UWSMARTOFDM_PKT_TYPE pkt_type, int dest_addr=0)
Definition uw-smart-ofdm.cpp:646
virtual void stateTxAck(int dest_addr)
Definition uw-smart-ofdm.cpp:1628
UWSMARTOFDM_TIMER_STATUS
Definition uw-smart-ofdm.h:225
@ UWSMARTOFDM_RUNNING
Definition uw-smart-ofdm.h:227
@ UWSMARTOFDM_IDLE
Definition uw-smart-ofdm.h:226
@ UWSMARTOFDM_FROZEN
Definition uw-smart-ofdm.h:228
@ UWSMARTOFDM_EXPIRED
Definition uw-smart-ofdm.h:229
double nextRTSts
Definition uw-smart-ofdm.h:1268
UWSMARTOFDM_STATUS prev_prev_state
Definition uw-smart-ofdm.h:1215
int CTS_size
Definition uw-smart-ofdm.h:1130
virtual void stateRxCTS(Packet *p)
Definition uw-smart-ofdm.cpp:1378
int DATA_size
Definition uw-smart-ofdm.h:1131
std::vector< char > mac_prioVec
Definition uw-smart-ofdm.h:1145
virtual void stateCheckAckExpired()
Definition uw-smart-ofdm.cpp:1183
UWSMARTOFDM_REASON_STATUS
Definition uw-smart-ofdm.h:163
@ UWSMARTOFDM_REASON_DATA_EMPTY
Definition uw-smart-ofdm.h:172
@ UWSMARTOFDM_REASON_ACK_RX
Definition uw-smart-ofdm.h:170
@ UWSMARTOFDM_REASON_ACK_TX
Definition uw-smart-ofdm.h:169
@ UWSMARTOFDM_REASON_START_RX
Definition uw-smart-ofdm.h:175
@ UWSMARTOFDM_REASON_RTS_RX
Definition uw-smart-ofdm.h:185
@ UWSMARTOFDM_REASON_ACK_TIMEOUT
Definition uw-smart-ofdm.h:171
@ UWSMARTOFDM_REASON_PKT_NOT_FOR_ME
Definition uw-smart-ofdm.h:176
@ UWSMARTOFDM_REASON_CTS_BACKOFF_TIMEOUT
Definition uw-smart-ofdm.h:186
@ UWSMARTOFDM_REASON_WAIT_DATA
Definition uw-smart-ofdm.h:190
@ UWSMARTOFDM_REASON_BACKOFF_TIMEOUT
Definition uw-smart-ofdm.h:179
@ UWSMARTOFDM_REASON_DATA_PENDING
Definition uw-smart-ofdm.h:164
@ UWSMARTOFDM_REASON_PHY_LAYER_SENDING
Definition uw-smart-ofdm.h:188
@ UWSMARTOFDM_REASON_MAX_RTS_TRIES
Definition uw-smart-ofdm.h:189
@ UWSMARTOFDM_REASON_DATAT_EXPIRED
Definition uw-smart-ofdm.h:191
@ UWSMARTOFDM_REASON_CTS_TX
Definition uw-smart-ofdm.h:182
@ UWSMARTOFDM_REASON_MAX_TX_TRIES
Definition uw-smart-ofdm.h:174
@ UWSMARTOFDM_REASON_BACKOFF_PENDING
Definition uw-smart-ofdm.h:180
@ UWSMARTOFDM_REASON_DATA_RX
Definition uw-smart-ofdm.h:167
@ UWSMARTOFDM_REASON_WAIT_CTS_PENDING
Definition uw-smart-ofdm.h:181
@ UWSMARTOFDM_REASON_PHY_LAYER_RECEIVING
Definition uw-smart-ofdm.h:187
@ UWSMARTOFDM_REASON_NOT_SET
Definition uw-smart-ofdm.h:173
@ UWSMARTOFDM_REASON_RTS_TX
Definition uw-smart-ofdm.h:183
@ UWSMARTOFDM_REASON_CTS_RX
Definition uw-smart-ofdm.h:184
@ UWSMARTOFDM_REASON_DATA_TX
Definition uw-smart-ofdm.h:168
@ UWSMARTOFDM_REASON_WAIT_ACK_PENDING
Definition uw-smart-ofdm.h:177
@ UWSMARTOFDM_REASON_PKT_ERROR
Definition uw-smart-ofdm.h:178
@ UWSMARTOFDM_REASON_PREVIOUS_RTS
Definition uw-smart-ofdm.h:192
@ UWSMARTOFDM_REASON_DATA_NOCAR
Definition uw-smart-ofdm.h:165
@ UWSMARTOFDM_REASON_DATA_CARASSIGNED
Definition uw-smart-ofdm.h:166
bool fullBand
Definition uw-smart-ofdm.h:1269
virtual void refreshState(UWSMARTOFDM_STATUS state)
Definition uw-smart-ofdm.h:859
map< pktSeqNum, AckTimer > mapAckTimer
Definition uw-smart-ofdm.h:1236
virtual void stateWaitAck()
Definition uw-smart-ofdm.cpp:1601
std::vector< int > nouse_carriers
Definition uw-smart-ofdm.h:1270
virtual void exitBackoff()
Definition uw-smart-ofdm.cpp:524
int curr_tx_rounds
Definition uw-smart-ofdm.h:1179
virtual double getRTT()
Definition uw-smart-ofdm.h:907
virtual void waitForUser()
Definition uw-smart-ofdm.cpp:1755
virtual void stateCheckBackoffExpired()
Definition uw-smart-ofdm.cpp:1210
bool RTSvalid
Definition uw-smart-ofdm.h:1260
bool batch_sending
Definition uw-smart-ofdm.h:1258
double backoff_tuner
Definition uw-smart-ofdm.h:1125
MsgDisplayer msgDisp
Definition uw-smart-ofdm.h:1240
virtual void printStateInfo(double delay=0)
Definition uw-smart-ofdm.cpp:1730
int pickFreeCarriers(int *freeC)
Definition uw-smart-ofdm.cpp:1882
virtual void stateSendRTS()
Definition uw-smart-ofdm.cpp:1315
virtual void stateRxIdle()
Definition uw-smart-ofdm.cpp:1486
int max_aval_car
Definition uw-smart-ofdm.h:1158
static map< UWSMARTOFDM_PKT_TYPE, string > pkt_type_info
Definition uw-smart-ofdm.h:1228
UWSMARTOFDM_ACK_MODES ack_mode
Definition uw-smart-ofdm.h:1219
void Mac2PhySetTxBusy(int, int get=0)
Definition uw-smart-ofdm.cpp:1981
int current_timeslot
Definition uw-smart-ofdm.h:1250
RTSTimer RTS_timer
Definition uw-smart-ofdm.h:1197
virtual void exitCTSBackoff()
Definition uw-smart-ofdm.cpp:530
Packet * nextRTS
Definition uw-smart-ofdm.h:1267
int timeslots
Definition uw-smart-ofdm.h:1245
int max_rts_tries
Definition uw-smart-ofdm.h:1253
UWSMARTOFDM_PKT_TYPE
Definition uw-smart-ofdm.h:200
@ UWSMARTOFDM_CTS_PKT
Definition uw-smart-ofdm.h:205
@ UWSMARTOFDM_DATA_PKT
Definition uw-smart-ofdm.h:202
@ UWSMARTOFDM_ACK_PKT
Definition uw-smart-ofdm.h:201
@ UWSMARTOFDM_RTS_PKT
Definition uw-smart-ofdm.h:204
@ UWSMARTOFDM_DATAMAX_PKT
Definition uw-smart-ofdm.h:203
virtual void stateRxWaitAck()
Definition uw-smart-ofdm.cpp:1619
UWSMARTOFDM_REASON_STATUS last_reason
Definition uw-smart-ofdm.h:1208
int getUpLayersDataPktsRx()
Definition uw-smart-ofdm.h:1031
int max_burst_size
Definition uw-smart-ofdm.h:1256
int max_tx_tries
Definition uw-smart-ofdm.h:1122
virtual void txRTS()
Definition uw-smart-ofdm.cpp:1076
Class that provide the implementation of an object to display messages.
int pktSeqNum
Definition uw-smart-ofdm.h:89
packet_t PT_MMAC_DATA
Definition initlib.cpp:45
packet_t PT_MMAC_CTS
Definition initlib.cpp:42
criticalLevel
Definition uw-smart-ofdm.h:90
@ HIGH
Definition uw-smart-ofdm.h:90
@ LOW
Definition uw-smart-ofdm.h:90
packet_t PT_MMAC_RTS
Definition initlib.cpp:43
packet_t PT_MMAC_ACK
Definition initlib.cpp:44
std::pair< int, int > counter
Definition uwinterference.h:53
Common necessary fields for smart-ofdm.
Definition of UwOFDMPhy class. Your can find the brief description of this physical layer in the pape...
Common structures and variables in the protocol.