📄 checkpacket.hh
字号:
// -*- c-basic-offset: 4 -*-#ifndef CLICK_CHECKPACKET_HH#define CLICK_CHECKPACKET_HH#include <click/element.hh>CLICK_DECLS/*=cCheckPacket(I<KEYWORDS>)=s testcheck packets against a specification=dCheckPacket compares all received packets against a specification provided bykeyword arguments. It prints error messages when incoming packets don't matchthe spec.Keyword arguments are as follows. Tests are performed for the keywordarguments you specify. If you don't want to run a test, don't supply thekeyword. CheckPacket(), with no keywords, accepts every packet.=over 8=item DATAString. The contents of the packet (starting DATA_OFFSET bytes in) mustexactly match DATA.=item DATA_OFFSETInteger. Specifies the offset into the packet used for DATA matches. Defaultis 0.=item LENGTHInteger. The packet's length must equal LENGTH.=item LENGTH_GEInteger. The packet's length must be at least LENGTH_GE.=item LENGTH_LEInteger. The packet's length must be at most LENGTH_LE. Specify at most one ofLENGTH, LENGTH_GE, and LENGTH_LE.=item ALIGNMENTTwo space-separated integers, `MODULUS OFFSET'. The packet's data must bealigned OFFSET bytes off from a MODULUS-byte boundary.=aPacketTest */class CheckPacket : public Element { public: CheckPacket(); ~CheckPacket(); const char *class_name() const { return "CheckPacket"; } const char *processing() const { return AGNOSTIC; } int configure(Vector<String> &, ErrorHandler *); Packet *simple_action(Packet *); private: String _data; uint32_t _data_offset; int _alignment_chunk; int _alignment_offset; uint32_t _length; uint8_t _data_op; uint8_t _length_op; bool _do_align : 1; };CLICK_ENDDECLS#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -