Skip to content
Tom Barbette edited this page May 7, 2020 · 3 revisions

RatedSplitter Element Documentation

NAME

RatedSplitter — Click element; splits flow of packets at specified rate

SYNOPSIS

RatedSplitter(RATE, I[])

Batching: Batching natively supported
Ports: 1 input, 1-2 outputs
Processing: Push

DESCRIPTION

RatedSplitter has two output ports. All incoming packets up to a maximum of RATE packets per second are emitted on output port 0. Any remaining packets are emitted on output port 1. Unlike Meter, RATE packets per second are emitted on output port 0 even when the input rate is greater than RATE.

Like RatedUnqueue, RatedSplitter is implemented using a token bucket that defaults to a capacity of 20ms * RATE. The capacity can be changed with the BURST_DURATION and BURST_SIZE keyword configuration parameters.

EXAMPLES

 rs :: RatedSplitter(2000);

Split packets on port 0 at 2000 packets per second.

 elementclass RatedSampler {
 input -> rs :: RatedSplitter(2000);
 rs [0] -> t :: Tee;
 t [0] -> [0] output;
 t [1] -> [1] output;
 rs [1] -> [0] output;
 };

In the above example, RatedSampler is a compound element that samples input packets at 2000 packets per second. All traffic is emitted on output 0; a maximum of 2000 packets per second are emitted on output 1 as well.

Keyword arguments are:

  • RATE — Integer. Token bucket fill rate in packets per second.
  • BURST_DURATION — Time. If specified, the capacity of the token bucket is calculated as rate * burst_duration.
  • BURST_SIZE — Integer. If specified, the capacity of the token bucket is set to this value.

ELEMENT HANDLERS

  • rate (read/write) — rate of splitting

SEE ALSO

BandwidthRatedSplitter, ProbSplitter, Meter, Shaper, RatedUnqueue, Tee

Generated by click-elem2man from ../elements/standard/ratedsplitter.hh:9 on 2020/05/07.

Clone this wiki locally