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

📄 indextreesiplookup.hh

📁 COPE the first practical network coding scheme which is developped on click
💻 HH
字号:
#ifndef CLICK_INDEXTREEIPLOOKUP_HH#define CLICK_INDEXTREEIPLOOKUP_HH#include <click/glue.hh>#include <click/element.hh>#include "../ip/iproutetable.hh"CLICK_DECLS/* * =c * IndexTreesIPLookup() * =s IP, classification * IP lookup using an index tree * =d * * Performs IP lookup using an index of trees, using the IPRouteTable * interface. See IPRouteTable for description. Implementation * inspired by a similar implementation in the plan9 operating system * from bell labs (plan9.bell-labs.com). * * =a IPRouteTable */class TreeNode {public:  TreeNode(IPAddress, IPAddress, IPAddress, unsigned);  ~TreeNode();  void insert(IPAddress, IPAddress, IPAddress, unsigned);  void remove(IPAddress, IPAddress);  TreeNode* search(IPAddress);  IPAddress dst() const		{ return _dst; }  IPAddress mask() const	{ return _mask; }  IPAddress gw() const		{ return _gw; }  unsigned port() const		{ return _port; }private:  TreeNode *_left;  TreeNode *_right;  TreeNode *_middle;  IPAddress _dst;  IPAddress _mask;  IPAddress _gw;  unsigned  _port;};class IndexTreesIPLookup : public Element {public:  IndexTreesIPLookup();  ~IndexTreesIPLookup();    const char *class_name() const	{ return "IndexTreesIPLookup"; }  const char *processing() const	{ return AGNOSTIC; }  void cleanup(CleanupStage);  String dump_routes();  void add_route(IPAddress, IPAddress, IPAddress, int);  void remove_route(IPAddress, IPAddress);  int lookup_route(IPAddress, IPAddress &);private:  TreeNode* _trees[INDEX_SIZE];    static const int INDEX_SIZE = 256;  static int hash(unsigned a) { return ((a>>24)&255); }};CLICK_ENDDECLS#endif

⌨️ 快捷键说明

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