Expand description
Filters for processing packets.
Modules
Prelude containing all types and traits required to implement
Filter
and
FilterFactory
.Structs
Filter for compressing and decompressing packet data
The
ConcatenateBytes
filter’s job is to add a byte packet to either the
beginning or end of each UDP packet that passes through. This is commonly
used to provide an auth token to each packet, so they can be
routed appropriately.An error representing failure to convert a filter’s protobuf configuration
to its static representation.
Arguments needed to create a new filter.
Debug logs all incoming and outgoing packets
Always drops a packet, mostly useful in combination with other filters.
The value returned by
FilterFactory::create_filter
.Registry of all
Filter
s that can be applied in the system.A set of filters to be registered with a
FilterRegistry
.Filter for allowing/blocking traffic by IP and port.
Balances packets over the upstream endpoints.
A filter that implements rate limiting on packets based on the token-bucket
algorithm. Packets that violate the rate limit are dropped. It only
applies rate limiting on packets received from a downstream connection (processed
through
LocalRateLimit::read
). Packets coming from upstream endpoints
flow through the filter untouched.Allows a packet to pass through, mostly useful in combination with
other filters.
The input arguments to
Filter::read
.A filter that reads a metadata value as a timestamp to be observed in
a histogram.
Filter that only allows packets to be passed to Endpoints that have a matching
connection_id to the token stored in the Filter’s dynamic metadata.
The input arguments to
Filter::write
.Enums
An error that occurred when attempting to create a
Filter
from
a FilterFactory
.Traits
Trait for routing and manipulating packets.
Provides the name and creation function for a given
Filter
.Statically safe version of
Filter
, if you’re writing a Rust filter, you
should implement StaticFilter
in addition to Filter
, as
StaticFilter
guarantees all of the required properties through the type
system, allowing Quilkin take care of the virtual table boilerplate
automatically at compile-time.Type Definitions
An owned pointer to a dynamic
FilterFactory
instance.A map of
FilterFactory::name
s to DynFilterFactory
values.