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.
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,
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
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,
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
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,
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
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,
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.
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,
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
Add the DnaFiles from the wasm and dna_def databases into memory
Get the list of hashes of installed Dnas in this Conductor
Get an instance of a RealRibosome for the DnaHash
Get a EntryDef from the [EntryDefBuffer]
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,
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
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,
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
fn call_zome_with_workspace<'life0, 'async_trait>(
&'life0 self,
call: ZomeCall,
workspace_lock: HostFnWorkspace
) -> 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: HostFnWorkspace
) -> 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
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
Request access to this conductor’s keystore
Request access to this conductor’s networking handle
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,
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
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,
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
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,
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
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,
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
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,
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.
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,
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
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,
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
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,
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
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,
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
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,
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
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,
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.
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,
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
List Cell Ids
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,
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
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,
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
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,
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
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,
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
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,
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
fn 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
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,
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
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,
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
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,
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
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.
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,
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.
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,
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.
Get the current dev settings
Update the current dev settings
Manually coerce cells to a given CellStatus. FOR TESTING ONLY.
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,
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.
impl<DS: DnaStore + 'static> From<(Conductor<DS, CellConductorApi>, MetaLairClient, GhostSender<HolochainP2p>, EnvironmentRootPath, Arc<Mutex<RawMutex, HashMap<Arc<KitsuneSpace>, EnvWrite, RandomState>>>, Arc<Mutex<RawMutex, HashMap<Arc<KitsuneSpace>, EnvWrite, RandomState>>>, DbSyncLevel, Arc<Mutex<RawMutex, HashMap<Arc<KitsuneSpace>, Sender<P2pBatch>, RandomState>>>, RwLock<RawRwLock, DevSettings>)> for ConductorHandleImpl<DS>
impl<DS: DnaStore + 'static> From<(Conductor<DS, CellConductorApi>, MetaLairClient, GhostSender<HolochainP2p>, EnvironmentRootPath, Arc<Mutex<RawMutex, HashMap<Arc<KitsuneSpace>, EnvWrite, RandomState>>>, Arc<Mutex<RawMutex, HashMap<Arc<KitsuneSpace>, EnvWrite, RandomState>>>, DbSyncLevel, Arc<Mutex<RawMutex, HashMap<Arc<KitsuneSpace>, Sender<P2pBatch>, RandomState>>>, RwLock<RawRwLock, DevSettings>)> for ConductorHandleImpl<DS>
fn from(
original: (Conductor<DS>, MetaLairClient, HolochainP2pRef, EnvironmentRootPath, Arc<Mutex<HashMap<Arc<KitsuneSpace>, EnvWrite>>>, Arc<Mutex<HashMap<Arc<KitsuneSpace>, EnvWrite>>>, DbSyncLevel, Arc<Mutex<HashMap<Arc<KitsuneSpace>, Sender<P2pBatch>>>>, RwLock<DevSettings>)
) -> ConductorHandleImpl<DS>
fn from(
original: (Conductor<DS>, MetaLairClient, HolochainP2pRef, EnvironmentRootPath, Arc<Mutex<HashMap<Arc<KitsuneSpace>, EnvWrite>>>, Arc<Mutex<HashMap<Arc<KitsuneSpace>, EnvWrite>>>, DbSyncLevel, Arc<Mutex<HashMap<Arc<KitsuneSpace>, Sender<P2pBatch>>>>, RwLock<DevSettings>)
) -> ConductorHandleImpl<DS>
Performs the conversion.
Auto Trait Implementations
impl<DS> !RefUnwindSafe for ConductorHandleImpl<DS>
impl<DS> Send for ConductorHandleImpl<DS>
impl<DS> Sync for ConductorHandleImpl<DS>
impl<DS> Unpin for ConductorHandleImpl<DS>
impl<DS> !UnwindSafe for ConductorHandleImpl<DS>
Blanket Implementations
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
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
pub fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
pub fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Mutably borrows from an owned value. Read more
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>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
pub fn vzip(self) -> V
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