Skip to main content

RendCircConnector

Trait RendCircConnector 

Source
pub(crate) trait RendCircConnector: Send + Sync {
    // Required methods
    fn get_or_launch_specific<'life0, 'life1, 'async_trait>(
        &'life0 self,
        netdir: &'life1 NetDir,
        target: VerbatimLinkSpecCircTarget<OwnedCircTarget>,
    ) -> Pin<Box<dyn Future<Output = Result<ServiceOnionServiceDataTunnel>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn now(&self) -> Instant;
    fn wallclock(&self) -> SystemTime;
}
Expand description

Dyn-safe trait to represent a HsCircPool.

We need this so that we can hold an Arc<HsCircPool<R>> in RendRequestContext without needing to parameterize on R.

Required Methods§

Source

fn get_or_launch_specific<'life0, 'life1, 'async_trait>( &'life0 self, netdir: &'life1 NetDir, target: VerbatimLinkSpecCircTarget<OwnedCircTarget>, ) -> Pin<Box<dyn Future<Output = Result<ServiceOnionServiceDataTunnel>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Launch or return an existing circuit to the specified target.

Source

fn now(&self) -> Instant

Return the current time instant from the runtime.

This provides mockable time for use in error tracking.

Source

fn wallclock(&self) -> SystemTime

Return the current wall-clock time from the runtime.

Implementors§