40#ifndef Uwpolling_HDR_NODE_H
41#define Uwpolling_HDR_NODE_H
54#define UWPOLLING_NODE_DROP_REASON_BUFFER_FULL \
56#define UWPOLLING_NODE_DROP_REASON_ERROR "DERR"
57#define UWPOLLING_NODE_DROP_REASON_UNKNOWN_TYPE \
59#define UWPOLLING_NODE_DROP_REASON_WRONG_RECEIVER \
61#define UWPOLLING_NODE_DROP_REASON_WRONG_STATE \
63#define UWPOLLING_NODE_DROP_REASON_PACKET_NOT_FOR_ME \
65#define UWPOLLING_NODE_DROP_REASON_IMINLIST_NOT_POLLED \
68#define UWPOLLING_NODE_DROP_REASON_NOT_POLLED \
95 virtual int command(
int argc,
const char *
const *argv);
359 virtual void expire(Event *e);
390 virtual void expire(Event *e);
424 virtual void expire(Event *e);
543 std::cout <<
getEpoch() <<
"::" << NOW <<
"::Uwpolling_NODE(" << addr
544 <<
")::DATA_QUEUE_SIZE--> " <<
Q_data.size() << std::endl;
672 inline unsigned long int
675 unsigned long int timestamp =
676 (
unsigned long int) (std::chrono::duration_cast<
677 std::chrono::milliseconds>(
678 std::chrono::system_clock::now().time_since_epoch())
744 static map<Uwpolling_NODE::UWPOLLING_NODE_STATUS, string>
746 static map<Uwpolling_NODE::UWPOLLING_NODE_REASON, string>
748 static map<Uwpolling_NODE::UWPOLLING_PKT_TYPE, string>
Definition uwpolling_NODE.h:336
BackOffTimer(Uwpolling_NODE *m)
Definition uwpolling_NODE.h:342
virtual void expire(Event *e)
Definition uwpolling_NODE.cpp:76
virtual ~BackOffTimer()
Definition uwpolling_NODE.h:350
Definition uwpolling_NODE.h:367
virtual void expire(Event *e)
Definition uwpolling_NODE.cpp:95
Rx_Poll_Timer(Uwpolling_NODE *m)
Definition uwpolling_NODE.h:373
virtual ~Rx_Poll_Timer()
Definition uwpolling_NODE.h:381
Definition uwpolling_NODE.h:401
virtual void expire(Event *e)
Definition uwpolling_NODE.cpp:105
Tx_Data_Timer(Uwpolling_NODE *m)
Definition uwpolling_NODE.h:407
virtual ~Tx_Data_Timer()
Definition uwpolling_NODE.h:415
Definition uwpolling_NODE.h:154
bool isRunning()
Definition uwpolling_NODE.h:245
Uwpolling_NODE *UWPOLLING_TIMER_STATUS timer_status
Definition uwpolling_NODE.h:325
virtual void freeze()
Definition uwpolling_NODE.h:182
int getCounter()
Definition uwpolling_NODE.h:304
Uwpolling_NODE_Timer(Uwpolling_NODE *m)
Definition uwpolling_NODE.h:160
virtual void stop()
Definition uwpolling_NODE.h:211
double start_time
Definition uwpolling_NODE.h:320
virtual void schedule(double val)
Definition uwpolling_NODE.h:222
virtual void unFreeze()
Definition uwpolling_NODE.h:198
bool isExpired()
Definition uwpolling_NODE.h:255
int counter
Definition uwpolling_NODE.h:322
bool isFrozen()
Definition uwpolling_NODE.h:265
bool isActive()
Definition uwpolling_NODE.h:275
void resetCounter()
Definition uwpolling_NODE.h:285
double left_duration
Definition uwpolling_NODE.h:321
double getDuration()
Definition uwpolling_NODE.h:314
bool isIdle()
Definition uwpolling_NODE.h:235
virtual ~Uwpolling_NODE_Timer()
Definition uwpolling_NODE.h:174
void incrCounter()
Definition uwpolling_NODE.h:294
Definition uwpolling_NODE.h:75
virtual void stateTxData()
Definition uwpolling_NODE.cpp:438
virtual void incrProbeSent()
Definition uwpolling_NODE.h:499
double T_fin
Definition uwpolling_NODE.h:721
Tx_Data_Timer tx_data_timer
Definition uwpolling_NODE.h:753
int max_data_pkt_tx
Definition uwpolling_NODE.h:692
virtual void Phy2MacEndRx(Packet *p)
Definition uwpolling_NODE.cpp:647
Packet * curr_poll_pkt
Definition uwpolling_NODE.h:736
UWPOLLING_NODE_REASON last_reason
Definition uwpolling_NODE.h:740
int getTimesPolled()
Definition uwpolling_NODE.h:562
uint N_polled_node
Definition uwpolling_NODE.h:731
bool LastPacket
Definition uwpolling_NODE.h:713
uint node_id
Definition uwpolling_NODE.h:694
int n_times_polled
Definition uwpolling_NODE.h:728
virtual void stateRxTrigger()
Definition uwpolling_NODE.cpp:597
virtual void stateRxPoll()
Definition uwpolling_NODE.cpp:367
double BOffTime
Definition uwpolling_NODE.h:723
bool polled
Definition uwpolling_NODE.h:707
static map< Uwpolling_NODE::UWPOLLING_NODE_REASON, string > reason_info
Definition uwpolling_NODE.h:747
double T_poll_guard
Definition uwpolling_NODE.h:687
BackOffTimer backoff_timer
Definition uwpolling_NODE.h:751
UWPOLLING_NODE_STATUS curr_state
Definition uwpolling_NODE.h:741
virtual void Phy2MacStartRx(const Packet *p)
Definition uwpolling_NODE.h:450
virtual void stateTxProbe()
Definition uwpolling_NODE.cpp:308
virtual void initInfo()
Definition uwpolling_NODE.cpp:252
bool Triggered
Definition uwpolling_NODE.h:711
std::ofstream fout
Definition uwpolling_NODE.h:756
int max_payload
Definition uwpolling_NODE.h:689
int getProbeSent()
Definition uwpolling_NODE.h:552
void incrTriggerReceived()
Definition uwpolling_NODE.h:517
int buffer_data_pkts
Definition uwpolling_NODE.h:690
unsigned long int getEpoch()
Definition uwpolling_NODE.h:673
void getDataQueueLog()
Definition uwpolling_NODE.h:541
virtual void incrTimesPolled()
Definition uwpolling_NODE.h:508
virtual void refreshReason(UWPOLLING_NODE_REASON reason)
Definition uwpolling_NODE.h:479
Packet * curr_probe_pkt
Definition uwpolling_NODE.h:735
static map< Uwpolling_NODE::UWPOLLING_NODE_STATUS, string > status_info
Definition uwpolling_NODE.h:745
int getPollDropped()
Definition uwpolling_NODE.h:592
Rx_Poll_Timer rx_poll_timer
Definition uwpolling_NODE.h:752
virtual void Mac2PhyStartTx(Packet *p)
Definition uwpolling_NODE.cpp:471
double T_poll
Definition uwpolling_NODE.h:686
double backoff_tuner
Definition uwpolling_NODE.h:688
virtual void refreshState(UWPOLLING_NODE_STATUS state)
Definition uwpolling_NODE.h:489
Uwpolling_NODE()
Definition uwpolling_NODE.cpp:129
virtual void waitForUser()
Definition uwpolling_NODE.cpp:720
uint PROBE_uid
Definition uwpolling_NODE.h:732
int getTriggerReceived()
Definition uwpolling_NODE.h:572
std::queue< Packet * > Q_data
Definition uwpolling_NODE.h:702
UWPOLLING_TIMER_STATUS
Definition uwpolling_NODE.h:143
@ UWPOLLING_RUNNING
Definition uwpolling_NODE.h:145
@ UWPOLLING_EXPIRED
Definition uwpolling_NODE.h:147
@ UWPOLLING_FROZEN
Definition uwpolling_NODE.h:146
@ UWPOLLING_IDLE
Definition uwpolling_NODE.h:144
int n_trigger_received
Definition uwpolling_NODE.h:730
virtual void recvFromUpperLayers(Packet *p)
Definition uwpolling_NODE.cpp:409
virtual void RxPollTimerExpired()
Definition uwpolling_NODE.cpp:115
int packet_index
Definition uwpolling_NODE.h:726
static bool initialized
Definition uwpolling_NODE.h:704
UWPOLLING_NODE_STATUS
Definition uwpolling_NODE.h:107
@ UWPOLLING_NODE_STATUS_IDLE
Definition uwpolling_NODE.h:108
@ UWPOLLING_NODE_STATUS_RX_POLL
Definition uwpolling_NODE.h:111
@ UWPOLLING_NODE_STATUS_WAIT_POLL
Definition uwpolling_NODE.h:113
@ UWPOLLING_NODE_STATUS_RX_TRIGGER
Definition uwpolling_NODE.h:109
@ UWPOLLING_NODE_STATUS_TX_DATA
Definition uwpolling_NODE.h:112
@ UWPOLLING_NODE_STATUS_TX_PROBE
Definition uwpolling_NODE.h:110
int n_trigger_dropped
Definition uwpolling_NODE.h:759
virtual void BackOffTimerExpired()
Definition uwpolling_NODE.cpp:88
virtual void TxPRobe()
Definition uwpolling_NODE.cpp:343
int AUV_mac_addr
Definition uwpolling_NODE.h:724
Packet * curr_data_pkt
Definition uwpolling_NODE.h:734
virtual void initPkt(UWPOLLING_PKT_TYPE pkt_type)
Definition uwpolling_NODE.cpp:538
virtual void TxData()
Definition uwpolling_NODE.cpp:477
virtual int crLayCommand(ClMessage *m)
Definition uwpolling_NODE.cpp:243
double T_in
Definition uwpolling_NODE.h:719
UWPOLLING_NODE_STATUS prev_state
Definition uwpolling_NODE.h:742
int getTriggerDropped()
Definition uwpolling_NODE.h:582
int sea_trial
Definition uwpolling_NODE.h:695
virtual void Phy2MacEndTx(const Packet *p)
Definition uwpolling_NODE.cpp:484
double MaxTimeStamp
Definition uwpolling_NODE.h:717
UWPOLLING_NODE_REASON
Definition uwpolling_NODE.h:125
@ UWPOLLING_NODE_REASON_TX_DATA
Definition uwpolling_NODE.h:126
@ UWPOLLING_NODE_REASON_NOT_IN_LIST
Definition uwpolling_NODE.h:138
@ UWPOLLING_NODE_REASON_WRONG_TYPE
Definition uwpolling_NODE.h:135
@ UWPOLLING_NODE_REASON_LIST_NOT_POLLED
Definition uwpolling_NODE.h:139
@ UWPOLLING_NODE_REASON_BACKOFF_TIMER_EXPIRED
Definition uwpolling_NODE.h:131
@ UWPOLLING_NODE_REASON_RX_TRIGGER
Definition uwpolling_NODE.h:127
@ UWPOLLING_NODE_REASON_NOT_SET
Definition uwpolling_NODE.h:133
@ UWPOLLING_NODE_REASON_RX_POLL
Definition uwpolling_NODE.h:130
@ UWPOLLING_NODE_REASON_RX_POLL_TIMER_EXPIRED
Definition uwpolling_NODE.h:132
@ UWPOLLING_NODE_REASON_PKT_ERROR
Definition uwpolling_NODE.h:128
@ UWPOLLING_NODE_REASON_WRONG_RECEIVER
Definition uwpolling_NODE.h:136
@ UWPOLLING_NODE_REASON_TX_PROBE
Definition uwpolling_NODE.h:129
@ UWPOLLING_NODE_REASON_WRONG_STATE
Definition uwpolling_NODE.h:137
@ UWPOLLING_NODE_REASON_EMPTY_DATA_QUEUE
Definition uwpolling_NODE.h:134
virtual void stateWaitPoll()
Definition uwpolling_NODE.cpp:351
virtual int command(int argc, const char *const *argv)
Definition uwpolling_NODE.cpp:202
int n_poll_dropped
Definition uwpolling_NODE.h:760
int useAdaptiveTpoll
Definition uwpolling_NODE.h:762
void incrPollDropped()
Definition uwpolling_NODE.h:535
int N_data_pkt_2_TX
Definition uwpolling_NODE.h:725
int print_stats
Definition uwpolling_NODE.h:697
virtual void stateIdle()
Definition uwpolling_NODE.cpp:583
Packet * curr_trigger_pkt
Definition uwpolling_NODE.h:737
void incrTriggerDropped()
Definition uwpolling_NODE.h:526
bool RxPollEnabled
Definition uwpolling_NODE.h:709
virtual double getBackOffTime()
Definition uwpolling_NODE.cpp:633
uint n_probe_sent
Definition uwpolling_NODE.h:727
static map< Uwpolling_NODE::UWPOLLING_PKT_TYPE, string > pkt_type_info
Definition uwpolling_NODE.h:749
int n_run
Definition uwpolling_NODE.h:698
double Intra_data_Guard_Time
Definition uwpolling_NODE.h:699
UWPOLLING_PKT_TYPE
Definition uwpolling_NODE.h:117
@ UWPOLLING_PROBE_PKT
Definition uwpolling_NODE.h:121
@ UWPOLLING_TRIGGER_PKT
Definition uwpolling_NODE.h:120
@ UWPOLLING_POLL_PKT
Definition uwpolling_NODE.h:119
@ UWPOLLING_DATA_PKT
Definition uwpolling_NODE.h:118
std::ofstream out_file_stats
Definition uwpolling_NODE.h:757
virtual ~Uwpolling_NODE()
Definition uwpolling_NODE.cpp:197
std::pair< int, int > counter
Definition uwinterference.h:53
Common structures and variables in the protocol.