40#ifndef UWFLOODINGSEC_H
41#define UWFLOODINGSEC_H
43#define TTL_EQUALS_TO_ZERO \
46#include "uwflooding-hdr.h"
69#include "uwbase_reputation.h"
89 uint8_t neigh_addr,
UwFloodingSec *m,
double alpha_val,
int dbg);
144 virtual void expire(Event *e);
194 virtual int command(
int,
const char *
const *);
201 virtual void recv(Packet *);
245 static string printIP(
const nsaddr_t &);
273 void sendDown(Packet *p,
double delay = 0);
311 typedef std::map<uint8_t, map_packets>
317 std::map<uint16_t, uint8_t>
326 typedef std::map<uint8_t, NeighborReputationHandler>
361 uint8_t
getTTL(Packet *p)
const;
Definition uwflooding-sec.h:79
double inst_noise
Definition uwflooding-sec.h:158
double avg_snr
Definition uwflooding-sec.h:153
bool addUnconfirmedPkt(int uid, double expire_time)
Definition uwflooding-sec.cpp:102
void updateInstantNoise(double inst_noise_val)
Definition uwflooding-sec.cpp:286
int debug
Definition uwflooding-sec.h:159
std::map< int, double > unconfirmed_pkts
Definition uwflooding-sec.h:148
bool is_running
Definition uwflooding-sec.h:150
double alpha
Definition uwflooding-sec.h:154
int waiting_uid
Definition uwflooding-sec.h:152
virtual void expire(Event *e)
Definition uwflooding-sec.cpp:177
virtual ~NeighborReputationHandler()
Definition uwflooding-sec.cpp:97
void removeOldPackets()
Definition uwflooding-sec.cpp:242
double last_noise
Definition uwflooding-sec.h:157
UwFloodingSec *uint8_t neighbor_addr
Definition uwflooding-sec.h:147
bool is_first_pkt
Definition uwflooding-sec.h:155
void updateChannelMetrics(double val_snr, double last_noise_val)
Definition uwflooding-sec.cpp:267
bool getNextPacket(int &uid, double &exp_time) const
Definition uwflooding-sec.cpp:218
bool checkUnconfirmedPkt(int uid)
Definition uwflooding-sec.cpp:135
Definition uwflooding-sec.h:166
double alpha_snr
Definition uwflooding-sec.h:338
std::map< uint8_t, map_packets > map_forwarded_packets
Definition uwflooding-sec.h:312
void retrieveInstantNoise(int neighbor_addr)
Definition uwflooding-sec.cpp:383
std::map< uint16_t, double > map_packets
Definition uwflooding-sec.h:308
virtual int recvSyncClMsg(ClMessage *)
Definition uwflooding-sec.cpp:326
double fwd_to
Definition uwflooding-sec.h:331
bool valid_phy_id
Definition uwflooding-sec.h:341
virtual int recvAsyncClMsg(ClMessage *)
Definition uwflooding-sec.cpp:407
std::map< uint16_t, uint8_t > ttl_traffic_map
Definition uwflooding-sec.h:318
uint8_t prev_hop_temp
Definition uwflooding-sec.h:333
virtual int command(int, const char *const *)
Definition uwflooding-sec.cpp:413
neighbor_map neighbor
Definition uwflooding-sec.h:324
int stats_phy_id
Definition uwflooding-sec.h:343
int optimize_
Definition uwflooding-sec.h:296
std::map< uint8_t, uint > neighbor_map
Definition uwflooding-sec.h:322
ostringstream osstream_
Definition uwflooding-sec.h:306
virtual ~UwFloodingSec()
Definition uwflooding-sec.cpp:321
void addToNeighbor(uint8_t neighbor_addr)
Definition uwflooding-sec.cpp:775
neighbor_timer_map neighbor_tmr
Definition uwflooding-sec.h:329
virtual void sendStatsClMsg(int neighbor_addr)
Definition uwflooding-sec.cpp:344
int ttl_
Definition uwflooding-sec.h:294
virtual void recv(Packet *)
Definition uwflooding-sec.cpp:489
bool checkUnconfirmedPkt(uint8_t neighbor_addr, int uid)
Definition uwflooding-sec.cpp:830
uint8_t ipAddr_
Definition uwflooding-sec.h:293
UwFloodingSec(const UwFloodingSec &)
ofstream trace_file_path_
Definition uwflooding-sec.h:304
UwReputationInterface * reputation
Definition uwflooding-sec.h:336
bool use_reputation
Definition uwflooding-sec.h:320
static nsaddr_t str2addr(const char *)
void printNeighbor()
Definition uwflooding-sec.cpp:792
bool trace_path_
Definition uwflooding-sec.h:299
std::map< uint8_t, NeighborReputationHandler > neighbor_timer_map
Definition uwflooding-sec.h:327
char * trace_file_path_name_
Definition uwflooding-sec.h:301
map_forwarded_packets my_forwarded_packets_
Definition uwflooding-sec.h:315
long packets_forwarded_
Definition uwflooding-sec.h:298
virtual void writePathInTrace(const Packet *, const string &)
Definition uwflooding-sec.cpp:728
UwFloodingSec()
Definition uwflooding-sec.cpp:296
double maximum_cache_time_
Definition uwflooding-sec.h:295
uint8_t getTTL(Packet *p) const
Definition uwflooding-sec.cpp:717
void sendDown(Packet *p, double delay=0)
Definition uwflooding-sec.cpp:812
static string printIP(const nsaddr_t &)
Definition uwflooding-sec.cpp:761
Provides the UWCBR packets header description and the definition of the class UWCBR.
Cross layer messages definition for the UWIP Module.
Provides the UWIP packets header description. Definition of the class that define the network layer.