ic_agent::agent

Struct AgentBuilder

source
pub struct AgentBuilder { /* private fields */ }
Expand description

A builder for an Agent.

Implementations§

source§

impl AgentBuilder

source

pub fn build(self) -> Result<Agent, AgentError>

Create an instance of Agent with the information from this builder.

source

pub fn with_url<S: Into<String>>(self, url: S) -> Self

Set the URL of the Agent.

source

pub fn with_transport<T: 'static + Transport>(self, transport: T) -> Self

Set a Replica transport to talk to serve as the replica interface.

source

pub fn with_arc_transport(self, transport: Arc<dyn Transport>) -> Self

Same as Self::with_transport, but provides a Arc boxed implementation instead of a direct type.

source

pub fn with_nonce_factory(self, nonce_factory: NonceFactory) -> AgentBuilder

Add a NonceFactory to this Agent. By default, no nonce is produced.

source

pub fn with_nonce_generator<N: 'static + NonceGenerator>( self, nonce_factory: N, ) -> AgentBuilder

Same as Self::with_nonce_factory, but for any NonceGenerator type

source

pub fn with_arc_nonce_generator( self, nonce_factory: Arc<dyn NonceGenerator>, ) -> AgentBuilder

Same as Self::with_nonce_generator, but provides a Arc boxed implementation instead of a direct type.

source

pub fn with_identity<I>(self, identity: I) -> Self
where I: 'static + Identity,

Add an identity provider for signing messages. This is required.

source

pub fn with_boxed_identity(self, identity: Box<dyn Identity>) -> Self

Same as Self::with_identity, but provides a boxed implementation instead of a direct type.

source

pub fn with_arc_identity(self, identity: Arc<dyn Identity>) -> Self

Same as Self::with_identity, but provides a Arc boxed implementation instead of a direct type.

source

pub fn with_ingress_expiry(self, ingress_expiry: Option<Duration>) -> Self

Provides a default ingress expiry. This is the delta that will be applied at the time an update or query is made. The default expiry cannot be a fixed system time. This is also used when checking certificate timestamps.

The timestamp corresponding to this duration may be rounded in order to reduce cache misses. The current implementation rounds to the nearest minute if the expiry is more than a minute, but this is not guaranteed.

source

pub fn with_verify_query_signatures(self, verify_query_signatures: bool) -> Self

Allows disabling query signature verification. Query signatures improve resilience but require a separate read-state call to fetch node keys.

source

pub fn with_max_concurrent_requests( self, max_concurrent_requests: usize, ) -> Self

Sets the maximum number of requests that the agent will make concurrently. The replica is configured to only permit 50 concurrent requests per client. Set this value lower if you have multiple agents, to avoid the slowdown of retrying any 429 errors.

Trait Implementations§

source§

impl Default for AgentBuilder

source§

fn default() -> AgentBuilder

Returns the “default value” for a type. Read more

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
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

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

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

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.

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.
source§

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

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T