omnibus 0.0.1 omnibus: ^0.0.1 copied to clipboard
Omnibus is an event oriented message bus specially designed for MolView.
Omnibus #
Omnibus is a single threaded message bus designed for
MolView. Omnibus is distributed under the MIT license.
Omnibus is available via pub
: https://pub.dartlang.org/packages/omnibus.
Architecture #
The flowchart below shows the architecture of the Omnibus. The Omnibus has separate channels for each possible event. Anyone can receive events by subscribing to the event channel in the Omnibus. Listeners can reply to an event. All replies will be returned to the origin of the event.
+---> Replies Event A +---+
| |
| |
| |
+---+---+ +---------+ +---v--+
+-----> Reply +----> Omnibus <----+ Emit |
| +-------+ +----+----+ +------+
| |
| +------+------+
| | |
| +----v----+ +----v----+
| | Event A | | Event B |
| +----+----+ +----+----+
| | |
| +------+------+ +-------+
| | | |
| +------v-----+ +-----v------+ +-----+------+
| | Listener 1 | | Listener 2 | | Listener 3 |
| +------+-----+ +-----+------+ +------------+
| | |
+---------+-------------+