pub struct Client<Env: Environment> { /* private fields */ }
Expand description
A builder that creates ChainClient
s which share the cache and notifiers.
Implementations§
Source§impl<Env: Environment> Client<Env>
impl<Env: Environment> Client<Env>
Sourcepub fn new(
environment: Env,
admin_id: ChainId,
long_lived_services: bool,
tracked_chains: impl IntoIterator<Item = ChainId>,
name: impl Into<String>,
chain_worker_ttl: Duration,
sender_chain_worker_ttl: Duration,
options: ChainClientOptions,
) -> Self
pub fn new( environment: Env, admin_id: ChainId, long_lived_services: bool, tracked_chains: impl IntoIterator<Item = ChainId>, name: impl Into<String>, chain_worker_ttl: Duration, sender_chain_worker_ttl: Duration, options: ChainClientOptions, ) -> Self
Creates a new Client
with a new cache and notifiers.
Sourcepub fn storage_client(&self) -> &Env::Storage
pub fn storage_client(&self) -> &Env::Storage
Returns the storage client used by this client’s local node.
pub fn validator_node_provider(&self) -> &Env::Network
Sourcepub fn track_chain(&self, chain_id: ChainId)
pub fn track_chain(&self, chain_id: ChainId)
Adds a chain to the set of chains tracked by the local node.
Sourcepub fn create_chain_client(
self: &Arc<Self>,
chain_id: ChainId,
block_hash: Option<CryptoHash>,
next_block_height: BlockHeight,
pending_proposal: Option<PendingProposal>,
preferred_owner: Option<AccountOwner>,
timing_sender: Option<UnboundedSender<(u64, TimingType)>>,
) -> ChainClient<Env>
pub fn create_chain_client( self: &Arc<Self>, chain_id: ChainId, block_hash: Option<CryptoHash>, next_block_height: BlockHeight, pending_proposal: Option<PendingProposal>, preferred_owner: Option<AccountOwner>, timing_sender: Option<UnboundedSender<(u64, TimingType)>>, ) -> ChainClient<Env>
Creates a new ChainClient
.
Sourcepub async fn admin_committee(
&self,
) -> Result<(Epoch, Committee), LocalNodeError>
pub async fn admin_committee( &self, ) -> Result<(Epoch, Committee), LocalNodeError>
Obtains the committee for the latest epoch on the admin chain.
Sourcepub async fn get_chain_description(
&self,
chain_id: ChainId,
) -> Result<ChainDescription, ChainClientError>
pub async fn get_chain_description( &self, chain_id: ChainId, ) -> Result<ChainDescription, ChainClientError>
Ensures that the client has the ChainDescription
blob corresponding to this
client’s ChainId
.
Sourcepub async fn synchronize_chain_state_from_committee(
&self,
chain_id: ChainId,
committee: Committee,
) -> Result<Box<ChainInfo>, ChainClientError>
pub async fn synchronize_chain_state_from_committee( &self, chain_id: ChainId, committee: Committee, ) -> Result<Box<ChainInfo>, ChainClientError>
Downloads and processes any certificates we are missing for the given chain, from the given committee.
Auto Trait Implementations§
impl<Env> !Freeze for Client<Env>
impl<Env> RefUnwindSafe for Client<Env>
impl<Env> Send for Client<Env>
impl<Env> Sync for Client<Env>
impl<Env> Unpin for Client<Env>where
Env: Unpin,
impl<Env> !UnwindSafe for Client<Env>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
Source§impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
Source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length
bytes from memory from the provided location
.
Source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes
to memory at the provided location
.