Struct holochain::conductor::handle::ConductorHandleImpl[][src]

pub struct ConductorHandleImpl<DS: DnaStore + 'static> {
    pub dev_settings: RwLock<DevSettings>,
    // some fields omitted
}
Expand description

The current “production” implementation of a ConductorHandle. The implementation specifies how read/write access to the Conductor should be synchronized across multiple concurrent Handles.

Synchronization is currently achieved via a simple RwLock, but this could be swapped out with, e.g. a channel Sender/Receiver pair using an actor model.

Fields

dev_settings: RwLock<DevSettings>

Selectively enable/disable certain functionalities

Trait Implementations

Check that shutdown has not been called

Start the scheduler. None is not an option. Calling this will:

  • Delete/unschedule all ephemeral scheduled functions GLOBALLY
  • Add an interval that runs IN ADDITION to previous invocations So ideally this would be called ONCE per conductor lifecyle ONLY.

The scheduler wants to dispatch any functions that are due.

Add a collection of admin interfaces from config

Initialize the task manager, add admin interfaces from config, start up app interfaces from db, and register all tasks. Read more

Add an app interface

List the app interfaces currently install.

Install a DnaFile in this Conductor

Add the DnaFiles from the wasm and dna_def databases into memory

Get the list of hashes of installed Dnas in this Conductor

Get a Dna from the DnaStore

Get an instance of a RealRibosome for the DnaHash

fn get_entry_def(&self, key: &EntryDefBufferKey) -> Option<EntryDef>

Get a EntryDef from the [EntryDefBuffer]

Dispatch a network event to the correct cell. Warning: returning an error from this function kills the network for the conductor. Read more

Invoke a zome function on a Cell

Invoke a zome function on a Cell with a workspace

Return the JoinHandle for all managed tasks, which when resolved will signal that the Conductor has completely shut down. Read more

Get a Websocket port which will

Send a signal to all managed tasks asking them to end ASAP.

Request access to this conductor’s keystore

Request access to this conductor’s networking handle

Create a new Cell in an existing App based on an existing DNA

Destroy a cloned Cell

Install Cells into ConductorState based on installation info, and run genesis on all new source chains Read more

Install DNAs and set up Cells as specified by an AppBundle

Get an OwnedPermit to the post commit task.

Adjust app statuses (via state transitions) to match the current reality of which Cells are present in the conductor. Read more

Adjust which cells are present in the Conductor (adding and removing as needed) to match the current reality of all app statuses. Read more

Activate an app

Disable an app

Start an enabled but stopped (paused) app

Stop a running app while leaving it enabled. FOR TESTING ONLY.

Uninstall an app from the state DB and remove all running Cells

List Cell Ids

List Active AppIds

List Apps with their information

Get the IDs of all active installed Apps which use this Cell

Dump the cells state

Dump the full cells state

Access the broadcast Sender which will send a Signal across every attached app interface Read more

Get info about an installed App, whether active or inactive

Add signed agent info to the conductor

Get signed agent info from the conductor

Print the current setup in a machine readable way.

Retrieve the environment for this cell.

Manually remove some cells. Should only be used when handling errors in Cells, allowing individual Cells to be shut down. Read more

Retrieve the environment for this cell. FOR TESTING ONLY.

Retrieve the database for this cell. FOR TESTING ONLY.

Retrieve the database for networking. FOR TESTING ONLY.

Retrieve Senders for triggering workflows. FOR TESTING ONLY.

Retrieve the ConductorState. FOR TESTING ONLY.

Add a “test” app interface for sending and receiving signals. FOR TESTING ONLY.

Get the current dev settings

Update the current dev settings

Manually coerce cells to a given CellStatus. FOR TESTING ONLY.

Manually coerce app to a given AppStatus. FOR TESTING ONLY.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

TODO: once 1.33.0 is the minimum supported compiler version, remove Any::type_id_compat and use StdAny::type_id instead. https://github.com/rust-lang/rust/issues/27745 Read more

The archived version of the pointer metadata for this type.

Converts some archived metadata to the pointer metadata for itself.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Attaches the provided Context to this type, returning a WithContext wrapper. Read more

Attaches the current Context to this type, returning a WithContext wrapper. Read more

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

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

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The type for metadata in pointers and references to Self.

Should always be Self

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

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