39#ifndef UW_CS_ALOHA_TRIG_NODE_H
40#define UW_CS_ALOHA_TRIG_NODE_H
56#define UW_CS_ALOHA_TRIG_NODE_DROP_REASON_BUFFER_FULL \
58#define UW_CS_ALOHA_TRIG_NODE_DROP_REASON_ERROR "ERR"
86 virtual int command(
int argc,
const char *
const *argv);
350 virtual void expire(Event *e);
381 virtual void expire(Event *e);
419 virtual void initPkt(Packet *p);
515 Packet::free(
Q.front());
537 return (up_data_pkts_rx -
Q.size());
564 std::queue<Packet *>
Q;
583 static map<UW_CS_ALOHA_TRIG_NODE_STATUS, string>
585 static map<UW_CS_ALOHA_TRIG_NODE_REASON_STATUS, string>
Definition uw-csma-aloha-trigger-node.h:143
Csma_Aloha_Triggered_Timer(UwCsmaAloha_Trigger_NODE *m)
Definition uw-csma-aloha-trigger-node.h:149
double start_time
Definition uw-csma-aloha-trigger-node.h:310
int counter
Definition uw-csma-aloha-trigger-node.h:314
virtual void schedule(double val)
Definition uw-csma-aloha-trigger-node.h:210
bool isActive()
Definition uw-csma-aloha-trigger-node.h:263
virtual ~Csma_Aloha_Triggered_Timer()
Definition uw-csma-aloha-trigger-node.h:163
UwCsmaAloha_Trigger_NODE *UW_CS_ALOHA_TRIG_NODE_TIMER_STATUS timer_status
Definition uw-csma-aloha-trigger-node.h:319
void incrCounter()
Definition uw-csma-aloha-trigger-node.h:283
void resetCounter()
Definition uw-csma-aloha-trigger-node.h:273
bool isExpired()
Definition uw-csma-aloha-trigger-node.h:243
bool isIdle()
Definition uw-csma-aloha-trigger-node.h:223
virtual void unFreeze()
Definition uw-csma-aloha-trigger-node.h:186
int getCounter()
Definition uw-csma-aloha-trigger-node.h:293
virtual void freeze()
Definition uw-csma-aloha-trigger-node.h:171
double left_duration
Definition uw-csma-aloha-trigger-node.h:312
bool isFrozen()
Definition uw-csma-aloha-trigger-node.h:253
bool isRunning()
Definition uw-csma-aloha-trigger-node.h:233
double getDuration()
Definition uw-csma-aloha-trigger-node.h:304
virtual void stop()
Definition uw-csma-aloha-trigger-node.h:199
Definition uw-csma-aloha-trigger-node.h:326
ListenTimer(UwCsmaAloha_Trigger_NODE *m)
Definition uw-csma-aloha-trigger-node.h:333
virtual void expire(Event *e)
Definition uw-csma-aloha-trigger-node.cpp:58
virtual ~ListenTimer()
Definition uw-csma-aloha-trigger-node.h:341
Definition uw-csma-aloha-trigger-node.h:358
virtual void expire(Event *e)
Definition uw-csma-aloha-trigger-node.cpp:82
virtual ~TransmissionTimer()
Definition uw-csma-aloha-trigger-node.h:372
TransmissionTimer(UwCsmaAloha_Trigger_NODE *m)
Definition uw-csma-aloha-trigger-node.h:364
Definition uw-csma-aloha-trigger-node.h:66
UW_CS_ALOHA_TRIG_NODE_TIMER_STATUS
Definition uw-csma-aloha-trigger-node.h:132
@ UW_CS_ALOHA_TRIG_NODE_RUNNING
Definition uw-csma-aloha-trigger-node.h:134
@ UW_CS_ALOHA_TRIG_NODE_IDLE
Definition uw-csma-aloha-trigger-node.h:133
@ UW_CS_ALOHA_TRIG_NODE_FROZEN
Definition uw-csma-aloha-trigger-node.h:135
@ UW_CS_ALOHA_TRIG_NODE_EXPIRED
Definition uw-csma-aloha-trigger-node.h:136
static bool initialized
Definition uw-csma-aloha-trigger-node.h:568
virtual void updateLastDataIdRx(int id)
Definition uw-csma-aloha-trigger-node.h:504
virtual int crLayCommand(ClMessage *m)
Definition uw-csma-aloha-trigger-node.cpp:160
double wait_costant
Definition uw-csma-aloha-trigger-node.h:554
static const double prop_speed
Definition uw-csma-aloha-trigger-node.h:97
UW_CS_ALOHA_TRIG_NODE_STATUS prev_state
Definition uw-csma-aloha-trigger-node.h:592
virtual void stateRxData(Packet *p)
Definition uw-csma-aloha-trigger-node.cpp:536
virtual void refreshState(UW_CS_ALOHA_TRIG_NODE_STATUS state)
Definition uw-csma-aloha-trigger-node.h:483
UW_CS_ALOHA_TRIG_NODE_REASON_STATUS last_reason
Definition uw-csma-aloha-trigger-node.h:596
double listen_time
Definition uw-csma-aloha-trigger-node.h:559
virtual void waitForUser()
Definition uw-csma-aloha-trigger-node.cpp:573
bool has_buffer_queue
Definition uw-csma-aloha-trigger-node.h:578
virtual void Phy2MacStartRx(const Packet *p)
Definition uw-csma-aloha-trigger-node.cpp:286
UW_CS_ALOHA_TRIG_NODE_STATUS prev_prev_state
Definition uw-csma-aloha-trigger-node.h:594
UwCsmaAloha_Trigger_NODE()
Definition uw-csma-aloha-trigger-node.cpp:107
virtual void stateRxIdle()
Definition uw-csma-aloha-trigger-node.cpp:482
int buffer_pkts
Definition uw-csma-aloha-trigger-node.h:558
std::queue< int > data_sn_queue
Definition uw-csma-aloha-trigger-node.h:566
static map< UW_CS_ALOHA_TRIG_NODE_STATUS, string > status_info
Definition uw-csma-aloha-trigger-node.h:584
int tx_timer_duration
Definition uw-csma-aloha-trigger-node.h:560
virtual void stateRxListen()
Definition uw-csma-aloha-trigger-node.cpp:506
virtual void Mac2PhyStartTx(Packet *p)
Definition uw-csma-aloha-trigger-node.cpp:246
virtual void stateTxData()
Definition uw-csma-aloha-trigger-node.cpp:512
int u_data_id
Definition uw-csma-aloha-trigger-node.h:571
virtual void Phy2MacEndRx(Packet *p)
Definition uw-csma-aloha-trigger-node.cpp:314
virtual void Phy2MacEndTx(const Packet *p)
Definition uw-csma-aloha-trigger-node.cpp:256
int HDR_size
Definition uw-csma-aloha-trigger-node.h:557
ofstream fout
Definition uw-csma-aloha-trigger-node.h:598
virtual int getRemainingPkts()
Definition uw-csma-aloha-trigger-node.h:535
virtual ~UwCsmaAloha_Trigger_NODE()
Definition uw-csma-aloha-trigger-node.cpp:137
virtual void txData()
Definition uw-csma-aloha-trigger-node.cpp:387
virtual void stateIdle()
Definition uw-csma-aloha-trigger-node.cpp:462
static map< UW_CS_ALOHA_TRIG_NODE_REASON_STATUS, string > reason_info
Definition uw-csma-aloha-trigger-node.h:586
TransmissionTimer tx_timer
Definition uw-csma-aloha-trigger-node.h:551
int max_payload
Definition uw-csma-aloha-trigger-node.h:556
static int u_pkt_id
Definition uw-csma-aloha-trigger-node.h:570
std::queue< Packet * > Q
Definition uw-csma-aloha-trigger-node.h:564
UW_CS_ALOHA_TRIG_NODE_REASON_STATUS
Definition uw-csma-aloha-trigger-node.h:115
@ UW_CS_ALOHA_TRIG_NODE_REASON_DATA_RX
Definition uw-csma-aloha-trigger-node.h:117
@ UW_CS_ALOHA_TRIG_NODE_REASON_LISTEN_AFTER_TRIGGER
Definition uw-csma-aloha-trigger-node.h:127
@ UW_CS_ALOHA_TRIG_NODE_REASON_DATA_TX
Definition uw-csma-aloha-trigger-node.h:118
@ UW_CS_ALOHA_TRIG_NODE_REASON_PKT_ERROR
Definition uw-csma-aloha-trigger-node.h:126
@ UW_CS_ALOHA_TRIG_NODE_REASON_LISTEN_TIMEOUT
Definition uw-csma-aloha-trigger-node.h:122
@ UW_CS_ALOHA_TRIG_NODE_REASON_NOT_SET
Definition uw-csma-aloha-trigger-node.h:120
@ UW_CS_ALOHA_TRIG_NODE_REASON_LISTEN_PENDING
Definition uw-csma-aloha-trigger-node.h:123
@ UW_CS_ALOHA_TRIG_NODE_REASON_LISTEN
Definition uw-csma-aloha-trigger-node.h:121
@ UW_CS_ALOHA_TRIG_NODE_REASON_PKT_NOT_FOR_ME
Definition uw-csma-aloha-trigger-node.h:125
@ UW_CS_ALOHA_TRIG_NODE_REASON_DATA_EMPTY
Definition uw-csma-aloha-trigger-node.h:119
@ UW_CS_ALOHA_TRIG_NODE_REASON_START_RX
Definition uw-csma-aloha-trigger-node.h:124
@ UW_CS_ALOHA_TRIG_NODE_REASON_TRIGGER_RX
Definition uw-csma-aloha-trigger-node.h:128
@ UW_CS_ALOHA_TRIG_NODE_REASON_DATA_PENDING
Definition uw-csma-aloha-trigger-node.h:116
int last_sent_data_id
Definition uw-csma-aloha-trigger-node.h:572
Packet * curr_data_pkt
Definition uw-csma-aloha-trigger-node.h:574
virtual void stateRxTrigger(Packet *p)
Definition uw-csma-aloha-trigger-node.cpp:365
ListenTimer listen_timer
Definition uw-csma-aloha-trigger-node.h:549
virtual void recvFromUpperLayers(Packet *p)
Definition uw-csma-aloha-trigger-node.cpp:211
UW_CS_ALOHA_TRIG_NODE_STATUS curr_state
Definition uw-csma-aloha-trigger-node.h:590
virtual void incrUpperDataRx()
Definition uw-csma-aloha-trigger-node.h:544
virtual void initInfo()
Definition uw-csma-aloha-trigger-node.cpp:170
virtual void stateCheckListenExpired()
Definition uw-csma-aloha-trigger-node.cpp:430
bool can_transmit
Definition uw-csma-aloha-trigger-node.h:580
virtual void stateCheckTxTimerExpired()
Definition uw-csma-aloha-trigger-node.cpp:457
virtual void stateListen()
Definition uw-csma-aloha-trigger-node.cpp:488
virtual void initPkt(Packet *p)
Definition uw-csma-aloha-trigger-node.cpp:235
UW_CS_ALOHA_TRIG_NODE_STATUS
Definition uw-csma-aloha-trigger-node.h:101
@ UW_CS_ALOHA_TRIG_NODE_STATE_RX_IDLE
Definition uw-csma-aloha-trigger-node.h:108
@ UW_CS_ALOHA_TRIG_NODE_STATE_RX_TRIGGER
Definition uw-csma-aloha-trigger-node.h:111
@ UW_CS_ALOHA_TRIG_NODE_STATE_IDLE
Definition uw-csma-aloha-trigger-node.h:102
@ UW_CS_ALOHA_TRIG_NODE_STATE_CHK_LISTEN_TIMEOUT
Definition uw-csma-aloha-trigger-node.h:107
@ UW_CS_ALOHA_TRIG_NODE_STATE_TX_DATA
Definition uw-csma-aloha-trigger-node.h:103
@ UW_CS_ALOHA_TRIG_NODE_STATE_NOT_SET
Definition uw-csma-aloha-trigger-node.h:105
@ UW_CS_ALOHA_TRIG_NODE_STATE_DATA_RX
Definition uw-csma-aloha-trigger-node.h:104
@ UW_CS_ALOHA_TRIG_NODE_STATE_RX_LISTEN
Definition uw-csma-aloha-trigger-node.h:109
@ UW_CS_ALOHA_TRIG_NODE_STATE_WRONG_PKT_RX
Definition uw-csma-aloha-trigger-node.h:110
@ UW_CS_ALOHA_TRIG_NODE_STATE_LISTEN
Definition uw-csma-aloha-trigger-node.h:106
virtual void stateRxPacketNotForMe(Packet *p)
Definition uw-csma-aloha-trigger-node.cpp:397
virtual int command(int argc, const char *const *argv)
Definition uw-csma-aloha-trigger-node.cpp:144
virtual void queuePop(bool flag=true)
Definition uw-csma-aloha-trigger-node.h:513
int last_data_id_rx
Definition uw-csma-aloha-trigger-node.h:576
virtual void refreshReason(UW_CS_ALOHA_TRIG_NODE_REASON_STATUS reason)
Definition uw-csma-aloha-trigger-node.h:494
packet_t PT_MMAC_TRIGGER
Definition initlib.cpp:36
std::pair< int, int > counter
Definition uwinterference.h:53