pub struct ConductorHandleImpl {
    pub dev_settings: RwLock<DevSettings>,
    /* private fields */
}
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 installed.
Install a DnaFile in this Conductor
Update coordinator zomes on an existing dna.
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 DnaDef from the RibosomeStore
Get a DnaFile from the RibosomeStore
Get an instance of a RealRibosome for the DnaHash
source

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

Get an EntryDef from the EntryDefBufferKey
Get the conductor config
Build a ChainHeadCoordinator impl based on the conductor config
Make the source chain for the given Cell match the chain data in the CHC for this Cell, if applicable. Read more
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
Get the running queue consumer workflows per DnaHash map.
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
Prune expired agent_infos from the p2p agents database
Create a new cell in an existing app based on an existing DNA. Read more
Archive a clone cell for deletion.
Restore an archived clone cell.
Destroy all clone cells marked for deletion.
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
Find the ID of the first active installed App which uses this Cell
Get the IDs of all active installed Apps which use this Dna
Dump the cells state
Dump the full cells state
Dump the network metrics
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.
Manually remove some cells. Should only be used when handling errors in Cells, allowing individual Cells to be shut down. Read more
Inject records into a source chain for a cell. If the records form a chain segment that can be “grafted” onto the existing chain, it will be. Otherwise, a new chain will be formed using the specified records. Read more
Retrieve the authored environment for this dna. FOR TESTING ONLY.
Retrieve the dht environment for this dna. FOR TESTING ONLY.
Retrieve the dht environment for this dna. FOR TESTING ONLY.
Retrieve the database for this cell. FOR TESTING ONLY.
Retrieve the database for networking. FOR TESTING ONLY.
Retrieve the database for metrics. 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.
Converts to this type from the input type.

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
Deserializes using the given deserializer

Returns the argument unchanged.

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

Calls U::from(self).

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

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 inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Checks if self is actually part of its subset T (and can be converted to it).
Use with care! Same as self.to_subset but without any property checks. Always succeeds.
The inclusion map: converts self to the equivalent element of its superset.
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