dnsjit.filter.timing(3)

NAME
dnsjit.filter.timing - Filter to pass objects to the next receiver based on timing between packets

SYNOPSIS
  local filter = require("dnsjit.filter.timing").new()
  ...
  filter:receiver(...)

DESCRIPTION
Filter to manipulate processing so it simulates the actual timing when packets arrived or to delay processing.

  Functions

Timing.new()
    Create a new Timing filter.

Timing:log()
    Return the Log object to control logging of this instance or module.

Timing:keep()
    Set the timing mode to keep the timing between packets.

Timing:increase(ns)
    Set the timing mode to increase the timing between packets by the given number of nanoseconds.

Timing:reduce(ns)
    Set the timing mode to reduce the timing between packets by the given number of nanoseconds.

Timing:multiply(factor)
    Set the timing mode to multiply the timing between packets by the given factor (float/double).

Timing:fixed(ns)
    Set the timing mode to a fixed number of nanoseconds between packets.

Timing:realtime(drift, batch_size)
    Set the timing mode to simulate the timing of packets in realtime. Packets are processed in batches of given size (default 128) before adjusting time. Aborts if real time drifts ahead more than given number of seconds (default 1.0s).

Timing:receive()
    Return the C functions and context for receiving objects.

Timing:receiver(o)
    Set the receiver to pass objects to.

Timing:produce()
    Return the C functions and context for producing objects.

Timing:producer(o)
    Set the producer to get objects from.

AUTHORS and CONTRIBUTORS
Jerry Lundström (DNS-OARC), Tomáš Křížek (CZ.NIC), Petr Špaček (ISC)

Maintained by DNS-OARC

    https://www.dns-oarc.net/

BUGS
For issues and feature requests please use:

    https://github.com/DNS-OARC/dnsjit/issues

For question and help please use:

    admin@dns-oarc.net