Crate alewife [] [src]

Alewife is an asynchronous message bus with a publish-subscribe interface.

Each message contains one Topic value and one Content value. Clients are registered as subscribers during initial network setup, providing a list of desired Topics. Subscribers will only receive messages containing the Topic values they specify. After setup, new publishers can continue to be added to the network, and can publish messages with any Topic.

The following features are not presently supported:

  • Adding publishers during initial network setup
  • Adding new subscribers after initial network setup
  • Removing subscribers from the network at any time
  • Detecting or handling the disappearance of parts of the network



Helper for building networks. Call build() to complete initialization.


Interface for sending messages to the network. To add more publishers, just clone this object and distribute the clones to your clients.


Interface for receiving messages from the network. Created by calling Builder::add_subscriber() during network setup.