pub struct SystemBuilder<C, M> where
    C: Send + 'static,
    M: Message
{ /* private fields */ }
Expand description

An abstraction to build a worker system graph

When creating a worker system it’s important to initialise each handler with the set of internal addresses that it must communicate with. This structure aims to make initialisation easier.

Implementations

Create an empty SystemBuilder

Add a new handler to this SystemBuilder

You must at least provide ONE route path (via .default(addr) or .condition(cond, addr)), or else initialisation will fail.

Get the address of a previously added SystemHandler

source

pub fn set_entry<A: Into<Address>>(&mut self, addr: A)

Specify an entry-point for the soon-to-be-built system

Add a new handler to the builder, re-addressing the previous handler’s “default” route to this one

Add a new handler to the builder, re-addressing the previous handler’s named route to this one

Re-address every system handler in order to clone it

When initialising a worker system builder you setup handlers and routes between them. However when cloning the worker system all addresses need to be re-addressed in order to allow a second instance of every address to exist on the same node.

This problem may be solved by having scoped addresses in the future.

This function assigns a new address to every handler and then changes routes that point to the old addresses. Any route that is not in the internal set (i.e. the fin address routes) are replaced with the externally provided fin-address.

Create a WorkerSystem and pre-initialise every SystemHandler

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more