# Module `proton.reactor`

## Module Summary

`Container` | A representation of the AMQP concept of a ‘container’, which loosely speaking is something that establishes links to or from another container, over which messages are transfered.
`ApplicationEvent` | Application defined event, which can optionally be associated with an engine object and or an arbitrary subject.
`EventInjector` | Can be added to a `Container` to allow events to be triggered by an external thread but handled on the event thread associated with the container.
`Backoff` | A reconnect strategy involving an increasing delay between retries, up to a maximum or 10 seconds.
`Transaction` | Tracks the state of an AMQP 1.0 local transaction.

### Link Options

The methods `Container.create_receiver()` and `Container.create_sender()` take one or more link options to allow the details of the links to be customized.

`LinkOption` | Abstract interface for link configuration options.
`ReceiverOption` | Abstract class for receiver options.
`SenderOption` | Abstract class for sender options.
`AtLeastOnce` | Set at-least-once delivery semantics for message delivery.
`AtMostOnce` | Set at-most-once delivery semantics for message delivery.
`DynamicNodeProperties` | Allows a map of link properties to be set on a link.
`Filter` | Receiver option which allows incoming messages to be filtered.
`Selector` | Configures a receiver with a message selector filter.
`DurableSubscription` | Receiver option which sets both the configuration and delivery state to durable.
`Copy` | Receiver option which copies messages to the receiver.
`Move` | Receiver option which moves messages to the receiver (rather than copying).

## Module Detail