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
sourceimpl ConductorHandleT for ConductorHandleImpl
impl ConductorHandleT for ConductorHandleImpl
sourcefn check_running(&self) -> ConductorResult<()>
fn check_running(&self) -> ConductorResult<()>
Check that shutdown has not been called
sourcefn start_scheduler<'async_trait>(
self: Arc<Self>,
interval_period: Duration
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
Self: 'async_trait,
fn start_scheduler<'async_trait>(
self: Arc<Self>,
interval_period: Duration
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
Self: 'async_trait,
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.
sourcefn dispatch_scheduled_fns<'async_trait>(
self: Arc<Self>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
Self: 'async_trait,
fn dispatch_scheduled_fns<'async_trait>(
self: Arc<Self>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
Self: 'async_trait,
The scheduler wants to dispatch any functions that are due.
sourcefn add_admin_interfaces<'async_trait>(
self: Arc<Self>,
configs: Vec<AdminInterfaceConfig>
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
Self: 'async_trait,
fn add_admin_interfaces<'async_trait>(
self: Arc<Self>,
configs: Vec<AdminInterfaceConfig>
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
Self: 'async_trait,
Add a collection of admin interfaces from config
sourcefn initialize_conductor<'async_trait>(
self: Arc<Self>,
admin_configs: Vec<AdminInterfaceConfig>
) -> Pin<Box<dyn Future<Output = ConductorResult<CellStartupErrors>> + Send + 'async_trait>> where
Self: 'async_trait,
fn initialize_conductor<'async_trait>(
self: Arc<Self>,
admin_configs: Vec<AdminInterfaceConfig>
) -> Pin<Box<dyn Future<Output = ConductorResult<CellStartupErrors>> + Send + 'async_trait>> where
Self: 'async_trait,
Initialize the task manager, add admin interfaces from config, start up app interfaces from db, and register all tasks. Read more
sourcefn add_app_interface<'async_trait>(
self: Arc<Self>,
port: u16
) -> Pin<Box<dyn Future<Output = ConductorResult<u16>> + Send + 'async_trait>> where
Self: 'async_trait,
fn add_app_interface<'async_trait>(
self: Arc<Self>,
port: u16
) -> Pin<Box<dyn Future<Output = ConductorResult<u16>> + Send + 'async_trait>> where
Self: 'async_trait,
Add an app interface
sourcefn list_app_interfaces<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ConductorResult<Vec<u16>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn list_app_interfaces<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ConductorResult<Vec<u16>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
List the app interfaces currently install.
sourcefn register_dna<'life0, 'async_trait>(
&'life0 self,
dna: DnaFile
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn register_dna<'life0, 'async_trait>(
&'life0 self,
dna: DnaFile
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Install a DnaFile
in this Conductor
sourcefn load_dnas<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn load_dnas<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Add the DnaFile
s from the wasm and dna_def databases into memory
sourcefn list_dnas(&self) -> Vec<DnaHash>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn list_dnas(&self) -> Vec<DnaHash>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Get the list of hashes of installed Dnas in this Conductor
sourcefn get_ribosome(&self, dna_hash: &DnaHash) -> ConductorResult<RealRibosome>
fn get_ribosome(&self, dna_hash: &DnaHash) -> ConductorResult<RealRibosome>
Get an instance of a RealRibosome
for the DnaHash
sourcefn get_entry_def(&self, key: &EntryDefBufferKey) -> Option<EntryDef>
fn get_entry_def(&self, key: &EntryDefBufferKey) -> Option<EntryDef>
Get an EntryDef
from the EntryDefBufferKey
sourcefn dispatch_holochain_p2p_event<'life0, 'async_trait>(
&'life0 self,
event: HolochainP2pEvent
) -> Pin<Box<dyn Future<Output = ConductorApiResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn dispatch_holochain_p2p_event<'life0, 'async_trait>(
&'life0 self,
event: HolochainP2pEvent
) -> Pin<Box<dyn Future<Output = ConductorApiResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatch a network event to the correct cell. Warning: returning an error from this function kills the network for the conductor. Read more
sourcefn call_zome<'life0, 'async_trait>(
&'life0 self,
call: ZomeCall
) -> Pin<Box<dyn Future<Output = ConductorApiResult<ZomeCallResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn call_zome<'life0, 'async_trait>(
&'life0 self,
call: ZomeCall
) -> Pin<Box<dyn Future<Output = ConductorApiResult<ZomeCallResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Invoke a zome function on a Cell
sourcefn call_zome_with_workspace<'life0, 'async_trait>(
&'life0 self,
call: ZomeCall,
workspace_lock: SourceChainWorkspace
) -> Pin<Box<dyn Future<Output = ConductorApiResult<ZomeCallResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn call_zome_with_workspace<'life0, 'async_trait>(
&'life0 self,
call: ZomeCall,
workspace_lock: SourceChainWorkspace
) -> Pin<Box<dyn Future<Output = ConductorApiResult<ZomeCallResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Invoke a zome function on a Cell with a workspace
sourcefn take_shutdown_handle(&self) -> Option<JoinHandle<TaskManagerResult>>
fn take_shutdown_handle(&self) -> Option<JoinHandle<TaskManagerResult>>
Return the JoinHandle for all managed tasks, which when resolved will signal that the Conductor has completely shut down. Read more
sourcefn get_arbitrary_admin_websocket_port(&self) -> Option<u16>
fn get_arbitrary_admin_websocket_port(&self) -> Option<u16>
Get a Websocket port which will
sourcefn get_queue_consumer_workflows(&self) -> QueueConsumerMap
fn get_queue_consumer_workflows(&self) -> QueueConsumerMap
Get the running queue consumer workflows per DnaHash
map.
sourcefn keystore(&self) -> &MetaLairClient
fn keystore(&self) -> &MetaLairClient
Request access to this conductor’s keystore
sourcefn holochain_p2p(&self) -> &HolochainP2pRef
fn holochain_p2p(&self) -> &HolochainP2pRef
Request access to this conductor’s networking handle
sourcefn prune_p2p_agents_db<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn prune_p2p_agents_db<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Prune expired agent_infos from the p2p agents database
sourcefn create_clone_cell<'async_trait>(
self: Arc<Self>,
payload: CreateCloneCellPayload
) -> Pin<Box<dyn Future<Output = ConductorResult<CellId>> + Send + 'async_trait>> where
Self: 'async_trait,
fn create_clone_cell<'async_trait>(
self: Arc<Self>,
payload: CreateCloneCellPayload
) -> Pin<Box<dyn Future<Output = ConductorResult<CellId>> + Send + 'async_trait>> where
Self: 'async_trait,
Create a new Cell in an existing App based on an existing DNA
sourcefn destroy_clone_cell<'async_trait>(
self: Arc<Self>,
_cell_id: CellId
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
Self: 'async_trait,
fn destroy_clone_cell<'async_trait>(
self: Arc<Self>,
_cell_id: CellId
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
Self: 'async_trait,
Destroy a cloned Cell
sourcefn install_app<'async_trait>(
self: Arc<Self>,
installed_app_id: InstalledAppId,
cell_data: Vec<(InstalledCell, Option<MembraneProof>)>
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
Self: 'async_trait,
fn install_app<'async_trait>(
self: Arc<Self>,
installed_app_id: InstalledAppId,
cell_data: Vec<(InstalledCell, Option<MembraneProof>)>
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
Self: 'async_trait,
Install Cells into ConductorState based on installation info, and run genesis on all new source chains Read more
sourcefn install_app_bundle<'async_trait>(
self: Arc<Self>,
payload: InstallAppBundlePayload
) -> Pin<Box<dyn Future<Output = ConductorResult<StoppedApp>> + Send + 'async_trait>> where
Self: 'async_trait,
fn install_app_bundle<'async_trait>(
self: Arc<Self>,
payload: InstallAppBundlePayload
) -> Pin<Box<dyn Future<Output = ConductorResult<StoppedApp>> + Send + 'async_trait>> where
Self: 'async_trait,
Install DNAs and set up Cells as specified by an AppBundle
sourcefn post_commit_permit<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<OwnedPermit<PostCommitArgs>, SendError<()>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn post_commit_permit<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<OwnedPermit<PostCommitArgs>, SendError<()>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Get an OwnedPermit to the post commit task.
sourcefn reconcile_app_status_with_cell_status<'life0, 'async_trait>(
&'life0 self,
app_ids: Option<HashSet<InstalledAppId>>
) -> Pin<Box<dyn Future<Output = ConductorResult<AppStatusFx>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn reconcile_app_status_with_cell_status<'life0, 'async_trait>(
&'life0 self,
app_ids: Option<HashSet<InstalledAppId>>
) -> Pin<Box<dyn Future<Output = ConductorResult<AppStatusFx>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Adjust app statuses (via state transitions) to match the current reality of which Cells are present in the conductor. Read more
sourcefn reconcile_cell_status_with_app_status<'async_trait>(
self: Arc<Self>
) -> Pin<Box<dyn Future<Output = ConductorResult<CellStartupErrors>> + Send + 'async_trait>> where
Self: 'async_trait,
fn reconcile_cell_status_with_app_status<'async_trait>(
self: Arc<Self>
) -> Pin<Box<dyn Future<Output = ConductorResult<CellStartupErrors>> + Send + 'async_trait>> where
Self: 'async_trait,
Adjust which cells are present in the Conductor (adding and removing as needed) to match the current reality of all app statuses. Read more
sourcefn enable_app<'async_trait>(
self: Arc<Self>,
app_id: InstalledAppId
) -> Pin<Box<dyn Future<Output = ConductorResult<(InstalledApp, CellStartupErrors)>> + Send + 'async_trait>> where
Self: 'async_trait,
fn enable_app<'async_trait>(
self: Arc<Self>,
app_id: InstalledAppId
) -> Pin<Box<dyn Future<Output = ConductorResult<(InstalledApp, CellStartupErrors)>> + Send + 'async_trait>> where
Self: 'async_trait,
Activate an app
sourcefn disable_app<'async_trait>(
self: Arc<Self>,
app_id: InstalledAppId,
reason: DisabledAppReason
) -> Pin<Box<dyn Future<Output = ConductorResult<InstalledApp>> + Send + 'async_trait>> where
Self: 'async_trait,
fn disable_app<'async_trait>(
self: Arc<Self>,
app_id: InstalledAppId,
reason: DisabledAppReason
) -> Pin<Box<dyn Future<Output = ConductorResult<InstalledApp>> + Send + 'async_trait>> where
Self: 'async_trait,
Disable an app
sourcefn start_app<'async_trait>(
self: Arc<Self>,
app_id: InstalledAppId
) -> Pin<Box<dyn Future<Output = ConductorResult<InstalledApp>> + Send + 'async_trait>> where
Self: 'async_trait,
fn start_app<'async_trait>(
self: Arc<Self>,
app_id: InstalledAppId
) -> Pin<Box<dyn Future<Output = ConductorResult<InstalledApp>> + Send + 'async_trait>> where
Self: 'async_trait,
Start an enabled but stopped (paused) app
sourcefn pause_app<'async_trait>(
self: Arc<Self>,
app_id: InstalledAppId,
reason: PausedAppReason
) -> Pin<Box<dyn Future<Output = ConductorResult<InstalledApp>> + Send + 'async_trait>> where
Self: 'async_trait,
fn pause_app<'async_trait>(
self: Arc<Self>,
app_id: InstalledAppId,
reason: PausedAppReason
) -> Pin<Box<dyn Future<Output = ConductorResult<InstalledApp>> + Send + 'async_trait>> where
Self: 'async_trait,
Stop a running app while leaving it enabled. FOR TESTING ONLY.
sourcefn uninstall_app<'life0, 'async_trait>(
self: Arc<Self>,
installed_app_id: &'life0 InstalledAppId
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn uninstall_app<'life0, 'async_trait>(
self: Arc<Self>,
installed_app_id: &'life0 InstalledAppId
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Uninstall an app from the state DB and remove all running Cells
sourcefn list_cell_ids(&self, filter: Option<CellStatus>) -> Vec<CellId>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn list_cell_ids(&self, filter: Option<CellStatus>) -> Vec<CellId>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
List Cell Ids
sourcefn list_running_apps<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ConductorResult<Vec<InstalledAppId>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn list_running_apps<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ConductorResult<Vec<InstalledAppId>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
List Active AppIds
sourcefn list_apps<'life0, 'async_trait>(
&'life0 self,
status_filter: Option<AppStatusFilter>
) -> Pin<Box<dyn Future<Output = ConductorResult<Vec<InstalledAppInfo>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn list_apps<'life0, 'async_trait>(
&'life0 self,
status_filter: Option<AppStatusFilter>
) -> Pin<Box<dyn Future<Output = ConductorResult<Vec<InstalledAppInfo>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
List Apps with their information
sourcefn list_running_apps_for_required_cell_id<'life0, 'life1, 'async_trait>(
&'life0 self,
cell_id: &'life1 CellId
) -> Pin<Box<dyn Future<Output = ConductorResult<HashSet<InstalledAppId>>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn list_running_apps_for_required_cell_id<'life0, 'life1, 'async_trait>(
&'life0 self,
cell_id: &'life1 CellId
) -> Pin<Box<dyn Future<Output = ConductorResult<HashSet<InstalledAppId>>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get the IDs of all active installed Apps which use this Cell
sourcefn list_running_apps_for_required_dna_hash<'life0, 'life1, 'async_trait>(
&'life0 self,
dna_hash: &'life1 DnaHash
) -> Pin<Box<dyn Future<Output = ConductorResult<HashSet<InstalledAppId>>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn list_running_apps_for_required_dna_hash<'life0, 'life1, 'async_trait>(
&'life0 self,
dna_hash: &'life1 DnaHash
) -> Pin<Box<dyn Future<Output = ConductorResult<HashSet<InstalledAppId>>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get the IDs of all active installed Apps which use this Dna
sourcefn dump_cell_state<'life0, 'life1, 'async_trait>(
&'life0 self,
cell_id: &'life1 CellId
) -> Pin<Box<dyn Future<Output = ConductorApiResult<String>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn dump_cell_state<'life0, 'life1, 'async_trait>(
&'life0 self,
cell_id: &'life1 CellId
) -> Pin<Box<dyn Future<Output = ConductorApiResult<String>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Dump the cells state
sourcefn dump_full_cell_state<'life0, 'life1, 'async_trait>(
&'life0 self,
cell_id: &'life1 CellId,
dht_ops_cursor: Option<u64>
) -> Pin<Box<dyn Future<Output = ConductorApiResult<FullStateDump>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn dump_full_cell_state<'life0, 'life1, 'async_trait>(
&'life0 self,
cell_id: &'life1 CellId,
dht_ops_cursor: Option<u64>
) -> Pin<Box<dyn Future<Output = ConductorApiResult<FullStateDump>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Dump the full cells state
sourcefn dump_network_metrics<'life0, 'async_trait>(
&'life0 self,
dna_hash: Option<DnaHash>
) -> Pin<Box<dyn Future<Output = ConductorApiResult<String>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn dump_network_metrics<'life0, 'async_trait>(
&'life0 self,
dna_hash: Option<DnaHash>
) -> Pin<Box<dyn Future<Output = ConductorApiResult<String>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dump the network metrics
sourcefn signal_broadcaster<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = SignalBroadcaster> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn signal_broadcaster<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = SignalBroadcaster> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Access the broadcast Sender which will send a Signal across every attached app interface Read more
sourcefn get_app_info<'life0, 'life1, 'async_trait>(
&'life0 self,
installed_app_id: &'life1 InstalledAppId
) -> Pin<Box<dyn Future<Output = ConductorResult<Option<InstalledAppInfo>>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_app_info<'life0, 'life1, 'async_trait>(
&'life0 self,
installed_app_id: &'life1 InstalledAppId
) -> Pin<Box<dyn Future<Output = ConductorResult<Option<InstalledAppInfo>>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get info about an installed App, whether active or inactive
sourcefn add_agent_infos<'life0, 'async_trait>(
&'life0 self,
agent_infos: Vec<AgentInfoSigned>
) -> Pin<Box<dyn Future<Output = ConductorApiResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn add_agent_infos<'life0, 'async_trait>(
&'life0 self,
agent_infos: Vec<AgentInfoSigned>
) -> Pin<Box<dyn Future<Output = ConductorApiResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Add signed agent info to the conductor
sourcefn get_agent_infos<'life0, 'async_trait>(
&'life0 self,
cell_id: Option<CellId>
) -> Pin<Box<dyn Future<Output = ConductorApiResult<Vec<AgentInfoSigned>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_agent_infos<'life0, 'async_trait>(
&'life0 self,
cell_id: Option<CellId>
) -> Pin<Box<dyn Future<Output = ConductorApiResult<Vec<AgentInfoSigned>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Get signed agent info from the conductor
sourcefn print_setup(&self)
fn print_setup(&self)
Print the current setup in a machine readable way.
sourcefn remove_cells<'life0, 'life1, 'async_trait>(
&'life0 self,
cell_ids: &'life1 [CellId]
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn remove_cells<'life0, 'life1, 'async_trait>(
&'life0 self,
cell_ids: &'life1 [CellId]
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Manually remove some cells. Should only be used when handling errors in Cells, allowing individual Cells to be shut down. Read more
sourcefn insert_elements_into_source_chain<'async_trait>(
self: Arc<Self>,
cell_id: CellId,
truncate: bool,
validate: bool,
elements: Vec<Element>
) -> Pin<Box<dyn Future<Output = ConductorApiResult<()>> + Send + 'async_trait>> where
Self: 'async_trait,
fn insert_elements_into_source_chain<'async_trait>(
self: Arc<Self>,
cell_id: CellId,
truncate: bool,
validate: bool,
elements: Vec<Element>
) -> Pin<Box<dyn Future<Output = ConductorApiResult<()>> + Send + 'async_trait>> where
Self: 'async_trait,
Inject elements into a source chain for a cell.
Retrieve the authored environment for this dna. FOR TESTING ONLY.
sourcefn get_dht_db(
&self,
dna_hash: &DnaHash
) -> ConductorApiResult<DbWrite<DbKindDht>>
fn get_dht_db(
&self,
dna_hash: &DnaHash
) -> ConductorApiResult<DbWrite<DbKindDht>>
Retrieve the dht environment for this dna. FOR TESTING ONLY.
sourcefn get_dht_db_cache(
&self,
dna_hash: &DnaHash
) -> ConductorApiResult<DhtDbQueryCache>
fn get_dht_db_cache(
&self,
dna_hash: &DnaHash
) -> ConductorApiResult<DhtDbQueryCache>
Retrieve the dht environment for this dna. FOR TESTING ONLY.
sourcefn get_cache_db(
&self,
cell_id: &CellId
) -> ConductorApiResult<DbWrite<DbKindCache>>
fn get_cache_db(
&self,
cell_id: &CellId
) -> ConductorApiResult<DbWrite<DbKindCache>>
Retrieve the database for this cell. FOR TESTING ONLY.
sourcefn get_p2p_db(&self, space: &DnaHash) -> DbWrite<DbKindP2pAgents>
fn get_p2p_db(&self, space: &DnaHash) -> DbWrite<DbKindP2pAgents>
Retrieve the database for networking. FOR TESTING ONLY.
sourcefn get_p2p_metrics_db(&self, space: &DnaHash) -> DbWrite<DbKindP2pMetrics>
fn get_p2p_metrics_db(&self, space: &DnaHash) -> DbWrite<DbKindP2pMetrics>
Retrieve the database for metrics. FOR TESTING ONLY.
sourcefn get_spaces(&self) -> Spaces
fn get_spaces(&self) -> Spaces
Retrieve the database for networking. FOR TESTING ONLY.
sourcefn get_cell_triggers(
&self,
cell_id: &CellId
) -> ConductorApiResult<QueueTriggers>
fn get_cell_triggers(
&self,
cell_id: &CellId
) -> ConductorApiResult<QueueTriggers>
Retrieve Senders for triggering workflows. FOR TESTING ONLY.
sourcefn get_state_from_handle<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ConductorApiResult<ConductorState>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_state_from_handle<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ConductorApiResult<ConductorState>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Retrieve the ConductorState. FOR TESTING ONLY.
sourcefn add_test_app_interface<'life0, 'async_trait>(
&'life0 self,
id: AppInterfaceId
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn add_test_app_interface<'life0, 'async_trait>(
&'life0 self,
id: AppInterfaceId
) -> Pin<Box<dyn Future<Output = ConductorResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Add a “test” app interface for sending and receiving signals. FOR TESTING ONLY.
sourcefn dev_settings(&self) -> DevSettings
fn dev_settings(&self) -> DevSettings
Get the current dev settings
sourcefn update_dev_settings(&self, delta: DevSettingsDelta)
fn update_dev_settings(&self, delta: DevSettingsDelta)
Update the current dev settings
sourcefn update_cell_status(&self, cell_ids: &[CellId], status: CellStatus)
fn update_cell_status(&self, cell_ids: &[CellId], status: CellStatus)
Manually coerce cells to a given CellStatus. FOR TESTING ONLY.
sourcefn transition_app_status<'life0, 'async_trait>(
&'life0 self,
app_id: InstalledAppId,
transition: AppStatusTransition
) -> Pin<Box<dyn Future<Output = ConductorResult<(InstalledApp, AppStatusFx)>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn transition_app_status<'life0, 'async_trait>(
&'life0 self,
app_id: InstalledAppId,
transition: AppStatusTransition
) -> Pin<Box<dyn Future<Output = ConductorResult<(InstalledApp, AppStatusFx)>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Manually coerce app to a given AppStatus. FOR TESTING ONLY.
sourceimpl From<(Conductor<CellConductorApi>, RwLock<RawRwLock, DevSettings>)> for ConductorHandleImpl
impl From<(Conductor<CellConductorApi>, RwLock<RawRwLock, DevSettings>)> for ConductorHandleImpl
sourcefn from(original: (Conductor, RwLock<DevSettings>)) -> ConductorHandleImpl
fn from(original: (Conductor, RwLock<DevSettings>)) -> ConductorHandleImpl
Converts to this type from the input type.
Auto Trait Implementations
impl !RefUnwindSafe for ConductorHandleImpl
impl Send for ConductorHandleImpl
impl Sync for ConductorHandleImpl
impl Unpin for ConductorHandleImpl
impl !UnwindSafe for ConductorHandleImpl
Blanket Implementations
impl<T> Any for T where
T: Any + ?Sized,
impl<T> Any for T where
T: Any + ?Sized,
fn type_id_compat(&self) -> TypeId
fn type_id_compat(&self) -> TypeId
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
impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> FutureExt for T
impl<T> FutureExt for T
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more