dnsjit.filter.timing(3)
β¨ dnsjit.filter.timing β¨
okay bestie, so this is a page from the Library Functions Manual β it's dnsjit.filter.timing, and it's literally the little timing bouncer for your packet pipeline π
π NAME π
dnsjit.filter.timing β a filter that passes objects along to the next receiver based on the timing between packets. like, it's the vibe-checker for when packets get to move. πβ¨
π SYNOPSIS π
local filter = require("dnsjit.filter.timing").new()
...
filter:receiver(...)
π¦ DESCRIPTION π¦
So the whole point of this filter is to manipulate processing β either so it simulates the actual timing of when packets arrived, or so it just delays processing on purpose. it's giving "time travel but make it a filter" fr fr π
πΈ Functions πΈ
Timing.new()β creates a brand new Timing filter. fresh out the box, no cap. β¨Timing:log()β hands you back the Log object so you can control logging for this instance or module. go off, log queen πTiming:keep()β sets the timing mode to keep the timing between packets. i.e. leave it exactly as it is, we're not touching a thing πTiming:increase(ns)β sets the timing mode to increase the timing between packets by the given number of nanoseconds. stretch that gap out bestie π«ΆTiming:reduce(ns)β sets the timing mode to reduce the timing between packets by the given number of nanoseconds. squeeze it in, we're speeding up β‘Timing:multiply(factor)β sets the timing mode to multiply the timing between packets by the given factor. and the factor is a float/double, so decimals are welcome here πTiming:fixed(ns)β sets the timing mode to a fixed number of nanoseconds between packets. every packet gets the same little pause. consistent, iconic, periodt.Timing:realtime(drift, batch_size)β sets the timing mode to simulate the timing of packets in realtime. Packets are processed in batches of given size (batch_size, default128) before adjusting time. It aborts if real time drifts ahead more than the given number of seconds (drift, default1.0s). so like, it's got a limit and it WILL pull the plug, no cap πTiming:receive()β returns the C functions and context for receiving objects. lowkey the plumbing β¨Timing:receiver(o)β sets the receiver to pass objects to. this is your bestie downstream,oπ«ΆTiming:produce()β returns the C functions and context for producing objects. more plumbing, but make it cute πTiming:producer(o)β sets the producer to get objects from. that's where the objects come from,oπ
π AUTHORS and CONTRIBUTORS π
The absolute legends behind this:
- Jerry LundstrΓΆm (DNS-OARC)
- TomΓ‘Ε‘ KΕΓΕΎek (CZ.NIC)
- Petr Ε paΔek (ISC)
Maintained by DNS-OARC
https://www.dns-oarc.net/
π BUGS π
found a bug? want a feature? don't be shy, spill:
https://codeberg.org/DNS-OARC/dnsjit/issues
got a question or need a hand? hit up:
admin@dns-oarc.net
and that's the whole page bestie, you ate it π
β¨ this was dnsjit version 1.5.1, page dnsjit.filter.timing(3) β go forth and time those packets, mwah ππ¦π
π¦ where this page comes from
- epel 10: dnsjit 1.5.1-2.el10_2 Β· GPL-3.0-or-later
- epel 9: dnsjit 1.5.1-2.el9 Β· GPL-3.0-or-later
- fedora 43: dnsjit 1.5.1-2.fc43 Β· GPL-3.0-or-later
- fedora 43: dnsjit 1.5.1-2.fc43 Β· GPL-3.0-or-later
- fedora 44: dnsjit 1.5.1-2.fc44 Β· GPL-3.0-or-later
- fedora 44: dnsjit 1.5.1-2.fc44 Β· GPL-3.0-or-later
- ubuntu resolute: dnsjit 1.5.1-2 Β· GPL-3.0-or-later
- ubuntu stonking: dnsjit-dev 1.5.1-6 Β· GPL-3.0-or-later
- Copyright (c) 2018-2026 OARC, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms