1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//! Components are smaller mostly independent parts of
//! your application.

/// Types and traits used for regular (synchronous) components.
mod sync;

/// Types and traits used for async components.
mod r#async;

/// A simpler version of components that does work
/// in the background.
pub mod worker;

pub use sync::{
    CommandFuture, Component, ComponentBuilder, ComponentController, ComponentParts,
    ComponentStream, Connector, Controller, MessageBroker, SimpleComponent, StateWatcher,
};

pub use r#async::{
    AsyncComponent, AsyncComponentBuilder, AsyncComponentController, AsyncComponentParts,
    AsyncConnector, AsyncController, SimpleAsyncComponent,
};

pub use crate::channel::AsyncComponentSender;