[−][src]Crate postage
The feature-rich, portable async channel library. Provides a set of async channels that can be used with any async executor.
Why use Postage?
- Includes a rich set of channels, and it works with any async executor (currently integration tests cover tokio and async-std)
mpsc
, a multi-producer, single-consumer channelbroadcast
, a multi-producer, multi-consumer broadcast channel with backpressure (no lagging!)watch
, a stateful channel where receivers receive an initial value, and updates when the value state changes.oneshot
, a transfer channel that can be used once.barrier
, a channel that doesn't carry a value, but transmits when the sender half is dropped.
- Comes with built-in Stream and Sink combinators.
- Sinks can be chained, and filtered.
- Streams can be chained, filtered, mapped, and merged.
- With the
logging
feature, Sinks and streams can log their values. This is really helpful when debugging applications.
Postage is in beta quality. The functionality is implemented and has unit/integration test coverage. But it needs to be tested on more hardware, and more operating systems.
Modules
barrier | Barrier channels can be used to synchronize events, but do not transmit any data. |
broadcast | The broadcast channel provides multi-sender, multi-receiver message dispatch. All receivers are sent every message. The channel has a fixed capacity, and senders are suspended if the buffer is filled. |
mpsc | A fixed-capacity multi-producer, single-consumer channel. |
oneshot | Oneshot channels transmit a single value between a sender and a reciever. |
prelude | |
sink | A sink for values which are asynchronously accepted, until the target is closed. |
stream | A stream of values which are asynchronously produced, until the source is closed. Streams be constructed with a connected sender using postage channels: |
watch | Watch channels can be used to asynchronously transmit state between tasks |
Structs
Context | The |