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

📄 packetlogger2.hh

📁 Click is a modular router toolkit. To use it you ll need to know how to compile and install the sof
💻 HH
字号:
#ifndef CLICK_PACKETLOGGER2_HH#define CLICK_PACKETLOGGER2_HH#include <click/element.hh>#include <click/glue.hh>#include <click/dequeue.hh>CLICK_DECLS/* * =c * PacketLogger2(I<KEYWORKDS>) * * =s Grid * Log packets for later dumping/analysis. * * =d * PacketLogger2 records the size, timestamp, user annotations, and * the first few bytes of every packet to pass through.  The list of * recorded data can be dumped (and cleared) by repeated calls to the * read handler 'log'. * * Keyword arguments are: * * =over 8 * * =item NBYTES * Unsigned integer.  Number of bytes of each packet to record. * Defaults to 34 bytes. * * =back * * =h log read-only * Print as much of the list of logged packets as possible, clearing * printed packets from the log. * */class PacketLogger2 : public Element { public:  PacketLogger2();  ~PacketLogger2();  const char *class_name() const		{ return "PacketLogger2"; }  const char *port_count() const		{ return PORTS_1_1; }  const char *processing() const		{ return AGNOSTIC; }  const char *flow_code() const			{ return "#/#"; }  int configure(Vector<String> &, ErrorHandler *);  bool can_live_reconfigure() const		{ return true; }  Packet *simple_action(Packet *);  void add_handlers();  static String print_log(Element *, void *);  static int clear(const String &foo, Element *e, void *vparam, ErrorHandler *errh);  static String left(Element *, void *);  enum { NBYTES = 18 };  struct log_entry {    Timestamp timestamp;    unsigned length;    uint8_t anno[Packet::anno_size];    uint8_t bytes[NBYTES];  }; private:  unsigned int _nb;  DEQueue<log_entry> _p;};CLICK_ENDDECLS#endif

⌨️ 快捷键说明

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