📄 guessmanager.hh
字号:
#ifndef CLICK_GUESSMANAGER_HH#define CLICK_GUESSMANAGER_HHCLICK_DECLS#include <click/element.hh>#include <click/bighashmap.hh>#include <click/packet.hh>#include <click/timestamp.hh>#include <click/vector.hh>#include <click/string.hh>#include <click/straccum.hh>#include <elements/wifi/sr/ettstat.hh>#include <click/element.hh>#include "common.hh"class GuessManager : public Element { public: GuessManager(); ~GuessManager(); const char *class_name() const { return "GuessManager"; } const char *processing() const { return PUSH; } void* cast(const char*); int configure(Vector<String> &, ErrorHandler *); void push(int, Packet *); bool check_presence(PacketState*, PacketState*); double get_prob(PacketState*, PacketState*); void register_guess(const EtherAddress&, const IPAddress&, uint16_t); void register_guess_single(const EtherAddress&, const IPAddress&, uint16_t); void add_handlers(); static int set_del_prob(const String &arg, Element *e, void *, ErrorHandler *errh); static int guess_write_handler(const String &arg, Element *e, void *, ErrorHandler *errh); static int enable_guessing(const String &arg, Element *e, void *, ErrorHandler *errh); static String read_del_prob(Element *e, void *); void update_del_prob(EtherAddress, EtherAddress, Vector<RateSize>, Vector<int>, Vector<int>, uint32_t); void set_enable_guessing(bool ea) {_enable_guessing = ea;} typedef HashMap <EtherAddress, double> ProbMap; typedef HashMap <EtherAddress, ProbMap*> SrcProbMap; SrcProbMap _srcprobmap; bool _enable_guessing; double _threshold; private: typedef HashMap <uint16_t, double> IPIDMap; typedef HashMap <IPAddress, IPIDMap *> SrcMap; typedef HashMap <EtherAddress, SrcMap *> NbrMap; uint8_t _rate; NbrMap _nbrstate; double _dec_prob_thresh; void register_recps(const EtherAddress&, const IPAddress&, uint16_t, uint8_t);};CLICK_ENDDECLS#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -