guessmanager.hh
来自「COPE the first practical network coding 」· HH 代码 · 共 64 行
HH
64 行
#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 + =
减小字号Ctrl + -
显示快捷键?