📄 delayunqueue.hh
字号:
#ifndef CLICK_DELAYUNQUEUE_HH#define CLICK_DELAYUNQUEUE_HH#include <click/element.hh>#include <click/task.hh>#include <click/timer.hh>#include <click/notifier.hh>CLICK_DECLS/*=cDelayUnqueue(DELAY)=s packet schedulingdelay inducing pull-to-push converter=dPulls packets from the single input port. Delays them for at least DELAYseconds, with microsecond precision. A packet with timestamp T will be emittedno earlier than time (T + DELAY). On output, the packet's timestamp is set tothe current time.DelayUnqueue listens for upstream notification, such as that available fromQueue.=a Queue, Unqueue, RatedUnqueue, BandwidthRatedUnqueue, LinkUnqueue,DelayShaper, SetTimestamp */class DelayUnqueue : public Element { public: DelayUnqueue(); ~DelayUnqueue(); const char *class_name() const { return "DelayUnqueue"; } const char *processing() const { return PULL_TO_PUSH; } int configure(Vector<String> &, ErrorHandler *); int initialize(ErrorHandler *); void cleanup(CleanupStage); void add_handlers(); bool run_task(); static String read_param(Element *e, void *); private: Packet *_p; Timestamp _delay; Task _task; Timer _timer; NotifierSignal _signal; };CLICK_ENDDECLS#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -