Skip to main content

ClientBuilder

Struct ClientBuilder 

Source
pub struct ClientBuilder { /* private fields */ }
Expand description

ClientBuilder provides configures and builds a iroh-services client, typically created with Client::builder

Implementations§

Source§

impl ClientBuilder

Source

pub fn new(endpoint: &Endpoint) -> Self

Source

pub fn register_metrics_group( self, metrics_group: Arc<dyn MetricsGroup>, ) -> Self

Register a metrics group to forward to iroh-services

The default registered metrics uses only the endpoint

Source

pub fn metrics_interval(self, interval: Duration) -> Self

Set the metrics collection interval

Defaults to enabled, every 60 seconds.

Source

pub fn disable_metrics_interval(self) -> Self

Disable metrics collection.

Source

pub fn api_secret_from_env(self) -> Result<Self>

Check IROH_SERVICES_API_SECRET environment variable for a valid API secret

Source

pub fn api_secret_from_str(self, secret_key: &str) -> Result<Self>

set client API secret from an encoded string

Source

pub fn api_secret(self, ticket: ApiSecret) -> Result<Self>

Use a shared secret & remote iroh-services endpoint ID contained within a ticket to construct a iroh-services client. The resulting client will have “Client” capabilities.

API secrets include remote details within them, and will set both the remote and rcan values on the builder

Source

pub async fn ssh_key_from_file<P: AsRef<Path>>(self, path: P) -> Result<Self>

Loads the private ssh key from the given path, and creates the needed capability.

Source

pub fn ssh_key(self, key: &PrivateKey) -> Result<Self>

Creates the capability from the provided private ssh key.

Source

pub fn rcan(self, cap: Rcan<Caps>) -> Result<Self>

Sets the rcan directly.

Source

pub fn remote(self, remote: impl Into<EndpointAddr>) -> Self

Sets the remote to dial, must be provided either directly by calling this method, or through calling the api_secret builder methods.

Source

pub async fn build(self) -> Result<Client, BuildError>

Create a new client, connected to the provide service node

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CompatExt for T

§

fn compat(self) -> Compat<T>

Applies the [Compat] adapter by value. Read more
§

fn compat_ref(&self) -> Compat<&T>

Applies the [Compat] adapter by shared reference. Read more
§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the [Compat] adapter by mutable reference. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more