Skip to main content

WeftExtensions

Trait WeftExtensions 

Source
pub trait WeftExtensions: Send + Sync {
    // Required methods
    fn auth<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        ctx: &'life1 (dyn CliContext + 'static),
        command: &'life2 (dyn Any + Send + Sync),
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn support<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        ctx: &'life1 (dyn CliContext + 'static),
        command: &'life2 (dyn Any + Send + Sync),
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn presence_publish<'life0, 'life1, 'async_trait>(
        &'life0 self,
        ctx: &'life1 (dyn CliContext + 'static),
        session: String,
        interval_secs: u64,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Hosted-side command implementations. The CLI dispatches through a &dyn WeftExtensions reference; the active impl is selected at build time by the heddle-client Cargo feature.

Implementations take CLI args opaquely (&dyn Any) so this shim crate doesn’t need to depend on cli for type definitions — downstream concrete impls downcast to the real types. This avoids a circular dependency between cli (which defines Cli, AuthCommands, etc.) and the heddle-client crate.

Required Methods§

Source

fn auth<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 (dyn CliContext + 'static), command: &'life2 (dyn Any + Send + Sync), ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

heddle auth <subcommand> — login, logout, whoami, device authorization, service account issuance.

Source

fn support<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 (dyn CliContext + 'static), command: &'life2 (dyn Any + Send + Sync), ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

heddle support <subcommand> — hosted-side support and diagnostic operations.

Source

fn presence_publish<'life0, 'life1, 'async_trait>( &'life0 self, ctx: &'life1 (dyn CliContext + 'static), session: String, interval_secs: u64, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

heddle presence publish — stream presence/heartbeat over the websocket transport to the hosted backend.

Implementors§