Skip to main content

ClientRelayExt

Trait ClientRelayExt 

Source
pub trait ClientRelayExt {
    // Required method
    fn add_managed_relay<'client, 'url, U>(
        &'client self,
        url: U,
    ) -> AddRelay<'client, 'url>
       where U: Into<RelayUrlArg<'url>>;
}
Expand description

Register a relay with the pool’s own auto-reconnect disabled.

Vector drives every reconnect from its reconcile loop, because it needs the connection lifecycle to be observable and to sequence with health checks and the Tor transport switch. The pool’s retry is invisible to all of that, so two schedules end up fighting over one socket.

This exists as a helper rather than a per-call .reconnect(false) because reconnect is the one relay option ClientBuilder cannot default: it lives only on RelayOptions, so every registration site has to opt out by hand, and most of them silently didn’t.

Required Methods§

Source

fn add_managed_relay<'client, 'url, U>( &'client self, url: U, ) -> AddRelay<'client, 'url>
where U: Into<RelayUrlArg<'url>>,

Client::add_relay with reconnect(false) already applied.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ClientRelayExt for Client

Source§

fn add_managed_relay<'client, 'url, U>( &'client self, url: U, ) -> AddRelay<'client, 'url>
where U: Into<RelayUrlArg<'url>>,

Implementors§