Expand description
Filters for processing packets.
Modules§
- Prelude containing all types and traits required to implement
Filter
andFilterFactory
.
Structs§
- Filter for compressing and decompressing packet data
- The
Concatenate
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.
- A chain of
Filter
s to be executed in order. - 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 aFilterFactory
. - All possible errors that can be returned from
Filter
implementations
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 implementStaticFilter
in addition toFilter
, asStaticFilter
guarantees all of the required properties through the type system, allowing Quilkin take care of the virtual table boilerplate automatically at compile-time.
Type Aliases§
- An owned pointer to a dynamic
FilterFactory
instance. - A map of
FilterFactory::name
s toDynFilterFactory
values.