dropbroadcasts.cc

来自「COPE the first practical network coding 」· CC 代码 · 共 60 行

CC
60
字号
#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 + =
减小字号Ctrl + -
显示快捷键?