// -*- c-basic-offset: 4 -*- #ifndef CLICK_BANDWIDTHSHAPER_HH #define CLICK_BANDWIDTHSHAPER_HH #include "shaper.hh" CLICK_DECLS /* * =c * BandwidthShaper(RATE) * =s shaping * shapes traffic to maximum rate (bytes/s) * =processing * Pull * =d * * BandwidthShaper is a pull element that allows a maximum bandwidth of * RATE to pass through. That is, output traffic is shaped to RATE. * If a BandwidthShaper receives a large number of * evenly-spaced pull requests, then it will emit packets at the specified * RATE with low burstiness. * * =h rate read/write * * Returns or sets the RATE parameter. * * =a Shaper, BandwidthRatedSplitter, BandwidthRatedUnqueue */ class BandwidthShaper : public Shaper { public: BandwidthShaper(); ~BandwidthShaper(); const char *class_name() const { return "BandwidthShaper"; } Packet *pull(int); }; CLICK_ENDDECLS #endif