#ifndef CLICK_NULLELEMENT_HH
#define CLICK_NULLELEMENT_HH
#include <click/element.hh>
CLICK_DECLS
/*
=c
Null
=s basictransfer
passes packets unchanged
=d
Just passes packets along without doing anything else.
=a
PushNull, PullNull
*/
class NullElement : public Element { public:
NullElement();
~NullElement();
const char *class_name() const { return "Null"; }
const char *port_count() const { return PORTS_1_1; }
const char *processing() const { return AGNOSTIC; }
Packet *simple_action(Packet *);
};
/*
=c
PushNull
=s basictransfer
passes packets unchanged
=d
Responds to each pushed packet by pushing it unchanged out its first output.
=a
Null, PullNull
*/
class PushNullElement : public Element { public:
PushNullElement();
~PushNullElement();
const char *class_name() const { return "PushNull"; }
const char *port_count() const { return PORTS_1_1; }
const char *processing() const { return PUSH; }
void push(int, Packet *);
};
/*
=c
PullNull
=s basictransfer
passes packets unchanged
=d
Responds to each pull request by pulling a packet from its input and returning
that packet unchanged.
=a
Null, PushNull */
class PullNullElement : public Element { public:
PullNullElement();
~PullNullElement();
const char *class_name() const { return "PullNull"; }
const char *port_count() const { return PORTS_1_1; }
const char *processing() const { return PULL; }
Packet *pull(int);
};
CLICK_ENDDECLS
#endif
syntax highlighted by Code2HTML, v. 0.9.1