Expand description
A Conductor manages interactions between its contained Cells, as well as interactions with the outside world. It is primarily a mediator of messages.
The Conductor exposes two types of external interfaces:
- App interface: used by Holochain app UIs to drive the behavior of Cells,
- Admin interface: used to modify the Conductor itself, including adding and removing Cells
It also exposes an internal interface to Cells themselves, allowing Cells to call zome functions on other Cells, as well as to send Signals to the outside world
Re-exports
pub use conductor::Conductor;
pub use conductor::ConductorHandle;
pub use conductor::full_integration_dump;
pub use conductor::integration_dump;
Modules
Entry Defs Store
Helper functions for interacting with the user when running a Conductor
with the –interactive flag
Interfaces are long-running tasks which listen for incoming messages
and dispatch them to the appropriate handlers within Holochain.
They also allow emitting responses and one-way Signals.
Implementation of the Kitsune Host API
We want to have control over certain long running
tasks that we care about.
If a task that is added to the task manager ends
then a reaction can be set.
An example would be a websocket closes with an error
and you want to restart it.
Queries for the P2pAgentStore db
Defines default paths for various resources
Structs which allow the Conductor’s state to be persisted across
startups and shutdowns
Structs
A Cell is a grouping of the resources necessary to run workflows
on behalf of an agent. It does not have a lifetime of its own aside
from the lifetimes of the resources which it holds references to.
Any work it does is through running a workflow, passing references to
the resources needed to complete that workflow.
A configurable Builder for Conductor and sometimes ConductorHandle