Files
NE_YuR/openflow/include/click/standard/alignmentinfo.hh

49 lines
1.3 KiB
C++

// -*- related-file-name: "../../../elements/standard/alignmentinfo.cc" -*-
#ifndef CLICK_ALIGNMENTINFO_HH
#define CLICK_ALIGNMENTINFO_HH
#include <click/element.hh>
CLICK_DECLS
/*
* =c
* AlignmentInfo(ELEMENT [MODULUS OFFSET ...], ...)
* =s information
* specifies alignment information
* =io
* None
* =d
* Provides information about the packet alignment specified elements can
* expect. Each configuration argument has the form
* `ELEMENT [MODULUS0 OFFSET0 MODULUS1 OFFSET1 ...]',
* where there are zero or more MODULUS-OFFSET pairs.
* All packets arriving at ELEMENT's
* I<n>th input will start `OFFSETI<n>' bytes
* off from a `MODULUSI<n>'-byte boundary.
* =n
* This element is inserted automatically by click-align(1).
* =a Align, click-align(1)
*/
class AlignmentInfo : public Element { public:
AlignmentInfo();
const char *class_name() const { return "AlignmentInfo"; }
int configure_phase() const { return CONFIGURE_PHASE_INFO; }
int configure(Vector<String> &, ErrorHandler *);
bool query1(const Element *e, int port, int &chunk, int &offset) const;
static bool query(const Element *e, int port, int &chunk, int &offset);
private:
Vector<int> _elem_offset;
Vector<int> _elem_icount;
Vector<int> _chunks;
Vector<int> _offsets;
};
CLICK_ENDDECLS
#endif