-
Notifications
You must be signed in to change notification settings - Fork 82
RatedSplitter
RatedSplitter — Click element; splits flow of packets at specified rate
RatedSplitter(RATE, I[])
Batching: Batching natively supported
Ports: 1 input, 1-2 outputs
Processing: Push
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.
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.
- rate (read/write) — rate of splitting
BandwidthRatedSplitter, ProbSplitter, Meter, Shaper, RatedUnqueue, Tee
Generated by click-elem2man from ../elements/standard/ratedsplitter.hh:9
on 2020/05/07.