📄 dropbroadcasts.cc
字号:
#include <click/config.h>#include "dropbroadcasts.hh"#include <click/glue.hh>CLICK_DECLSDropBroadcasts::DropBroadcasts() : Element(1, 1){ _drops = 0;}DropBroadcasts::~DropBroadcasts(){}voidDropBroadcasts::notify_noutputs(int n){ set_noutputs(n < 2 ? 1 : 2);}voidDropBroadcasts::drop_it(Packet *p){ if (_drops == 0) click_chatter("DropBroadcasts: dropped a packet"); _drops++; if (noutputs() == 2) output(1).push(p); else p->kill();}Packet *DropBroadcasts::simple_action(Packet *p){ if (p->packet_type_anno() == Packet::BROADCAST || p->packet_type_anno() == Packet::MULTICAST) { drop_it(p); return 0; } else return p;}static Stringdropbroadcasts_read_drops(Element *f, void *){ DropBroadcasts *q = (DropBroadcasts *)f; return String(q->drops()) + "\n";}voidDropBroadcasts::add_handlers(){ add_read_handler("drops", dropbroadcasts_read_drops, 0);}CLICK_ENDDECLSEXPORT_ELEMENT(DropBroadcasts)ELEMENT_MT_SAFE(DropBroadcasts)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -