kilter.service.runner module

Coordinate receiving and sending raw messages with a filter and Session object

The primary class in this module (Runner) is intended to be used with an Listener, which can be obtained, for instance, from create_tcp_listener().

exception NegotiationError[source]

Bases: Exception

An error raised when MTAs are not compatible with the filter

class Runner(*filters: Filter)[source]

Bases: object

A filter runner that coordinates passing data between a stream and multiple filters

Instances can be used as handlers that can be passed to Listener.serve() or used with any ByteStream.