⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.hh

📁 COPE the first practical network coding scheme which is developped on click
💻 HH
字号:
#ifndef COMMON_HH#define COMMON_HHCLICK_DECLS#include <elements/wifi/sr/srpacket.hh>#include <elements/wifi/sr/path.hh>#include <clicknet/ether.h>#include <click/etheraddress.hh>#include <click/packet.hh>#include <click/ipaddress.hh>class PacketState{  public:    EtherAddress _nbr;    IPAddress _src;    uint16_t _ipid;    uint16_t _idx;    bool _data;    double _dec_prob;    PacketState(EtherAddress nbr, uint32_t src, uint16_t ipid): _ipid(ipid), _idx(0), _data(true) {      _nbr = EtherAddress(nbr.data());      _src = IPAddress(src);      _dec_prob = 1.0;    }    PacketState(EtherAddress nbr, IPAddress src, uint16_t ipid): _ipid(ipid), _idx(0), _data(true) {      _nbr = EtherAddress(nbr.data());      _src = src;      _dec_prob = 1.0;    }    inline bool      operator==(const PacketState &b)      {        return ((_src == b._src) && (_ipid == b._ipid));      }    inline bool      operator!=(const PacketState &b)      {        return !((*this) == b);      }};class PacketRID {public:  IPAddress _src;  uint16_t _id;  PacketRID(IPAddress src, uint16_t id) : _id(id) {    _src = IPAddress(src.addr());  }  PacketRID(Packet *p) {    const click_ip *iph = p->ip_header();    _src = IPAddress(iph->ip_src);    _id = ntohs(iph->ip_id);  }  PacketRID() : _id(0) {}  PacketRID(const PacketRID &b) {    _src = b._src;    _id = b._id;  }};inline int hashcode(const PacketRID &pid){  StringAccum sa;  sa << pid._src << pid._id;  return hashcode(sa.take_string());}inline booloperator==(const PacketRID &a, const PacketRID &b){  return ((a._src == b._src) && (a._id == b._id));}inline booloperator!=(const PacketRID &a, const PacketRID &b){  return !(a == b);}CLICK_ENDDECLS#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -