52#define UWCBR_DROP_REASON_UNKNOWN_TYPE \
54#define UWCBR_DROP_REASON_OUT_OF_SEQUENCE \
56#define UWCBR_DROP_REASON_DUPLICATED_PACKET \
59#define HDR_UWCBR(p) (hdr_uwcbr::access(p))
153 virtual void expire(Event *e);
181 virtual void recv(Packet *)
override;
189 virtual void recv(Packet *p, Handler *h)
override;
201 virtual int command(
int argc,
const char *
const *argv)
override;
208 virtual double GetRTT()
const;
215 virtual double GetFTT()
const;
229 virtual double GetPER()
const;
236 virtual double GetTHR()
const;
263 std::cout <<
"UWCBR packets IDs:" << std::endl;
264 std::cout <<
"PT_UWCBR: \t\t" <<
PT_UWCBR << std::endl;
335 virtual void initPkt(Packet *p);
371 virtual void start();
Definition uwcbr-module.h:162
double sumdt
Definition uwcbr-module.h:322
UwCbrModule()
Definition uwcbr-module.cpp:92
virtual void incrPktRecv()
Definition uwcbr-module.cpp:528
virtual void initPkt(Packet *p)
Definition uwcbr-module.cpp:244
static int getCbrHeaderSize()
Definition uwcbr-module.h:444
std::string tracefilename
Definition uwcbr-module.h:275
static int uidcnt_
Definition uwcbr-module.h:268
virtual int command(int argc, const char *const *argv) override
Definition uwcbr-module.cpp:144
virtual void sendPktLowPriority()
Definition uwcbr-module.cpp:295
virtual double getTimeBeforeNextPkt()
Definition uwcbr-module.cpp:567
double rftt
Definition uwcbr-module.h:302
double sumbytes
Definition uwcbr-module.h:321
int txsn
Definition uwcbr-module.h:288
int pkts_lost
Definition uwcbr-module.h:293
virtual double GetRTTstd() const
Definition uwcbr-module.cpp:454
virtual void stop()
Definition uwcbr-module.cpp:338
virtual void incrPktInvalid()
Definition uwcbr-module.cpp:540
uint32_t esn
Definition uwcbr-module.h:324
double sumftt2
Definition uwcbr-module.h:317
double sthr
Definition uwcbr-module.h:306
virtual void incrPktLost(const int &)
Definition uwcbr-module.cpp:522
uint16_t dstPort_
Definition uwcbr-module.h:270
int pkts_ooseq
Definition uwcbr-module.h:292
virtual double GetTHR() const
Definition uwcbr-module.cpp:493
std::string log_suffix
Definition uwcbr-module.h:271
int debug_
Definition uwcbr-module.h:281
bool * sn_check
Definition uwcbr-module.h:277
double sumftt
Definition uwcbr-module.h:316
double srtt
Definition uwcbr-module.h:303
uint traffic_type_
Definition uwcbr-module.h:284
virtual void printReceivedPacket(Packet *p)
Definition uwcbr-module.cpp:584
void printIdsPkts() const
Definition uwcbr-module.h:261
char priority_
Definition uwcbr-module.h:273
virtual double GetTxTime() const
Definition uwcbr-module.cpp:448
int drop_out_of_order_
Definition uwcbr-module.h:282
double sftt
Definition uwcbr-module.h:304
virtual double GetFTTstd() const
Definition uwcbr-module.cpp:466
virtual void incrPktOoseq()
Definition uwcbr-module.cpp:534
virtual void updateThroughput(const int &, const double &)
Definition uwcbr-module.cpp:515
virtual void updateRTT(const double &)
Definition uwcbr-module.cpp:499
int tracefile_enabler_
Definition uwcbr-module.h:326
nsaddr_t dstAddr_
Definition uwcbr-module.h:272
virtual void recv(Packet *) override
Definition uwcbr-module.cpp:350
int pkts_recv
Definition uwcbr-module.h:290
UwSendTimer sendTmr_
Definition uwcbr-module.h:286
virtual void start()
Definition uwcbr-module.cpp:272
double lrtime
Definition uwcbr-module.h:305
virtual ~UwCbrModule()=default
virtual void sendPktHighPriority()
Definition uwcbr-module.cpp:313
double sumrtt
Definition uwcbr-module.h:312
virtual double GetFTT() const
Definition uwcbr-module.cpp:442
virtual double GetPER() const
Definition uwcbr-module.cpp:479
virtual void transmit()
Definition uwcbr-module.cpp:331
int pktSize_
Definition uwcbr-module.h:309
int hrsn
Definition uwcbr-module.h:289
int pkts_invalid
Definition uwcbr-module.h:295
double sumtxtimes
Definition uwcbr-module.h:319
double sumrtt2
Definition uwcbr-module.h:313
int fttsamples
Definition uwcbr-module.h:318
std::ofstream tracefile
Definition uwcbr-module.h:274
virtual double GetRTT() const
Definition uwcbr-module.cpp:436
virtual void updateFTT(const double &)
Definition uwcbr-module.cpp:507
int pkts_last_reset
Definition uwcbr-module.h:296
int cnt
Definition uwcbr-module.h:299
virtual void resetStats()
Definition uwcbr-module.cpp:546
double period_
Definition uwcbr-module.h:308
virtual void sendPkt()
Definition uwcbr-module.cpp:278
int PoissonTraffic_
Definition uwcbr-module.h:279
int rttsamples
Definition uwcbr-module.h:314
Definition uwcbr-module.h:144
UwSendTimer(UwCbrModule *m)
Definition uwcbr-module.h:146
virtual void expire(Event *e)
Definition uwcbr-module.cpp:85
Definition uwcbr-module.h:66
float & rftt()
Definition uwcbr-module.h:122
char priority_
Definition uwcbr-module.h:70
uint16_t traffic_type_
Definition uwcbr-module.h:72
static int & offset()
Definition uwcbr-module.h:80
char & priority()
Definition uwcbr-module.h:113
bool rftt_valid_
Definition uwcbr-module.h:69
uint16_t & traffic_type()
Definition uwcbr-module.h:131
bool & rftt_valid()
Definition uwcbr-module.h:104
float rftt_
Definition uwcbr-module.h:68
uint16_t sn_
Definition uwcbr-module.h:67
uint16_t & sn()
Definition uwcbr-module.h:95
static struct hdr_uwcbr * access(const Packet *p)
Definition uwcbr-module.h:86
static int offset_
Definition uwcbr-module.h:74
packet_t PT_UWCBR
Definition initlib.cpp:45
Provides the UWIP packets header description. Definition of the class that define the network layer.
Provides the UWUDP packets header description and the definition of the class UWUDP.