Skip to content
Tom Barbette edited this page Aug 6, 2018 · 2 revisions

LinkUnqueue Element Documentation

NAME

LinkUnqueue — Click element; link emulator

SYNOPSIS

LinkUnqueue(LATENCY, BANDWIDTH)

Ports: 1 input, 1 output
Processing: pull inputs, push outputs

DESCRIPTION

Pulls packets from the single input port, then delays them so as to emulate a serial link with latency LATENCY (microsecond precision) and bandwidth BANDWIDTH (such as "384kbps"). Thus, every packet is delayed at least by LATENCY, and additionally delayed by its packet size and BANDWIDTH, and by any packets ahead of it in the virtual link. Packets are pushed out the single output port when their time comes. If BANDWITH is 0, only the LATENCY will introduce some delay.

LinkUnqueue listens for upstream notification, such as that available from Queue.

LinkUnqueue stores packets that are in transit over the virtual link. It doesn't store any other packets, however; it doesn't pull from its input unless there is room on the link. To emulate a link fed by a packet queue, use a "Queue -> LinkUnqueue" combination.

LinkUnqueue uses its input packets' "extra length" annotations, destroys their "next packet" annotations, and updates their timestamp annotations.

ELEMENT HANDLERS

  • latency (read-only) — The LATENCY argument.
  • bandwidth (read-only) — The BANDWIDTH argument.
  • size (read-only) — The number of packets currently in, or partially in, the emulated link.
  • reset (write-only) — When written, drops all packets in, or partially in, the emulated link.

SEE ALSO

DelayUnqueue, Queue, Unqueue, RatedUnqueue, BandwidthRatedUnqueue, DelayShaper, SetTimestamp

Generated by click-elem2man from ../elements/standard/linkunqueue.hh:11 on 2018/08/06.

Clone this wiki locally