pub struct AgentBuilder { /* private fields */ }
Expand description
A builder for an Agent
.
Implementations§
source§impl AgentBuilder
impl AgentBuilder
sourcepub fn build(self) -> Result<Agent, AgentError>
pub fn build(self) -> Result<Agent, AgentError>
Create an instance of Agent with the information from this builder.
sourcepub fn with_transport<T: 'static + Transport>(self, transport: T) -> Self
pub fn with_transport<T: 'static + Transport>(self, transport: T) -> Self
Set a Replica transport to talk to serve as the replica interface.
sourcepub fn with_arc_transport(self, transport: Arc<dyn Transport>) -> Self
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.
sourcepub fn with_nonce_factory(self, nonce_factory: NonceFactory) -> AgentBuilder
pub fn with_nonce_factory(self, nonce_factory: NonceFactory) -> AgentBuilder
Add a NonceFactory to this Agent. By default, no nonce is produced.
sourcepub fn with_nonce_generator<N: 'static + NonceGenerator>(
self,
nonce_factory: N,
) -> AgentBuilder
pub fn with_nonce_generator<N: 'static + NonceGenerator>( self, nonce_factory: N, ) -> AgentBuilder
Same as Self::with_nonce_factory, but for any NonceGenerator
type
sourcepub fn with_arc_nonce_generator(
self,
nonce_factory: Arc<dyn NonceGenerator>,
) -> AgentBuilder
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.
sourcepub fn with_identity<I>(self, identity: I) -> Selfwhere
I: 'static + Identity,
pub fn with_identity<I>(self, identity: I) -> Selfwhere
I: 'static + Identity,
Add an identity provider for signing messages. This is required.
sourcepub fn with_boxed_identity(self, identity: Box<dyn Identity>) -> Self
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.
sourcepub fn with_arc_identity(self, identity: Arc<dyn Identity>) -> Self
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.
sourcepub fn with_ingress_expiry(self, ingress_expiry: Option<Duration>) -> Self
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.
sourcepub fn with_verify_query_signatures(self, verify_query_signatures: bool) -> Self
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.
sourcepub fn with_max_concurrent_requests(
self,
max_concurrent_requests: usize,
) -> Self
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.