📄 countpriosched.hh
字号:
// -*- c-basic-offset: 4 -*-#ifndef CLICK_COUNTPRIOSCHED_HH#define CLICK_COUNTPRIOSCHED_HH#include <click/element.hh>#include <click/notifier.hh>#include <elements/standard/priosched.hh>CLICK_DECLS/* * =c * CountPrioSched * =s packet scheduling * pulls from priority-scheduled inputs * basically PrioSched, but keeps statistics * =d * Each time a pull comes in the output, PrioSched pulls from * each of the inputs starting from input 0. * The packet from the first successful pull is returned. * This amounts to a strict priority scheduler. * * The inputs usually come from Queues or other pull schedulers. * PrioSched uses notification to avoid pulling from empty inputs. * * =a Queue, RoundRobinSched, StrideSched, DRRSched, SimplePrioSched */class CountPrioSched : public PrioSched { public: CountPrioSched(); ~CountPrioSched(); const char *class_name() const { return "CountPrioSched"; } const char *processing() const { return PULL; } void *cast(const char *); //void notify_ninputs(int); int initialize(ErrorHandler *); void cleanup(CleanupStage); void add_handlers(); static String stats(Element *, void *); static int static_clear(const String &arg, Element *e, void *, ErrorHandler *errh); Packet *pull(int port); int _pulls[3]; private: NotifierSignal *_signals; };CLICK_ENDDECLS#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -