📄 rrunqueue.hh
字号:
#ifndef CLICK_RRUNQUEUE_HH#define CLICK_RRUNQUEUE_HH#include <click/element.hh>#include <click/task.hh>CLICK_DECLS/* * =c * RoundRobinUnqueue([BURSTSIZE]) * =s packet scheduling * pull-to-push converter * =d * Pulls packets from input ports in a round robin fashion, then pushes them * out the output corresponding to the input that the packet came from. Pulls * a maximum of BURSTSIZE packets every time it is scheduled. Default * BURSTSIZE is 1. If BURSTSIZE is 0, pull until nothing comes back. * * =a Unqueue, RatedUnqueue, BandwidthRatedUnqueue */class RoundRobinUnqueue : public Element { public: RoundRobinUnqueue(); ~RoundRobinUnqueue(); void notify_ninputs(int i) { set_ninputs(i); } void notify_noutputs(int i) { set_noutputs(i); } const char *class_name() const { return "RoundRobinUnqueue"; } const char *processing() const { return PULL_TO_PUSH; } int configure(Vector<String> &, ErrorHandler *); int initialize(ErrorHandler *); void add_handlers(); bool run_task(); static String read_param(Element *e, void *); private: int _burst; unsigned _packets; Task _task; int _next;};CLICK_ENDDECLS#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -