⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 truncate.cc

📁 Click is a modular router toolkit. To use it you ll need to know how to compile and install the sof
💻 CC
字号:
// -*- mode: c++; c-basic-offset: 4 -*-/* * truncate.{cc,hh} -- limits packet length * Eddie Kohler * * Copyright (c) 2004 Regents of the University of California * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, subject to the conditions * listed in the Click LICENSE file. These conditions include: you must * preserve this copyright notice, and you cannot mention the copyright * holders in advertising related to the Software without their permission. * The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. This * notice is a summary of the Click LICENSE file; the license in that file is * legally binding. */#include <click/config.h>#include "truncate.hh"#include <click/confparse.hh>#include <click/error.hh>#include <click/glue.hh>#include <click/packet_anno.hh>CLICK_DECLSTruncate::Truncate(){}Truncate::~Truncate(){}intTruncate::configure(Vector<String> &conf, ErrorHandler *errh){    unsigned short nbytes;    bool extra_length = true;    if (cp_va_kparse(conf, this, errh,		     "LENGTH", cpkP+cpkM, cpUnsignedShort, &nbytes,		     "EXTRA_LENGTH", 0, cpBool, &extra_length,		     cpEnd) < 0)	return -1;    _nbytes = (nbytes << 1) + extra_length;    return 0;}Packet *Truncate::simple_action(Packet *p){    unsigned nbytes = _nbytes >> 1;    if (p->length() > nbytes) {	nbytes = p->length() - nbytes;	if (_nbytes & 1)	    SET_EXTRA_LENGTH_ANNO(p, EXTRA_LENGTH_ANNO(p) + nbytes);        p->take(nbytes);    }    return p;}CLICK_ENDDECLSEXPORT_ELEMENT(Truncate)ELEMENT_MT_SAFE(Truncate)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -