pub struct InstallCodeBuilder<'agent, 'canister: 'agent> { /* private fields */ }
Expand description
A builder for an install_code
call.
Implementations§
source§impl<'agent, 'canister: 'agent> InstallCodeBuilder<'agent, 'canister>
impl<'agent, 'canister: 'agent> InstallCodeBuilder<'agent, 'canister>
sourcepub fn builder(
canister: &'canister Canister<'agent>,
canister_id: &Principal,
wasm: &'canister [u8]
) -> Self
pub fn builder( canister: &'canister Canister<'agent>, canister_id: &Principal, wasm: &'canister [u8] ) -> Self
Create an InstallCode builder, which is also an AsyncCall implementation.
sourcepub fn with_arg<Argument: CandidType>(
self,
arg: Argument
) -> InstallCodeBuilder<'agent, 'canister>
pub fn with_arg<Argument: CandidType>( self, arg: Argument ) -> InstallCodeBuilder<'agent, 'canister>
Set the argument to the installation, which will be passed to the init method of the canister. Can be called at most once.
sourcepub fn with_args(self, tuple: impl ArgumentEncoder) -> Self
pub fn with_args(self, tuple: impl ArgumentEncoder) -> Self
Set the argument with multiple arguments as tuple to the installation, which will be passed to the init method of the canister. Can be called at most once.
sourcepub fn with_raw_arg(self, arg: Vec<u8>) -> InstallCodeBuilder<'agent, 'canister>
pub fn with_raw_arg(self, arg: Vec<u8>) -> InstallCodeBuilder<'agent, 'canister>
Set the argument passed in to the canister with raw bytes. Can be called at most once.
sourcepub fn with_mode(self, mode: InstallMode) -> Self
pub fn with_mode(self, mode: InstallMode) -> Self
Pass in the InstallMode.
sourcepub fn build(self) -> Result<impl 'agent + AsyncCall<()>, AgentError>
pub fn build(self) -> Result<impl 'agent + AsyncCall<()>, AgentError>
Create an AsyncCall implementation that, when called, will install the canister.
sourcepub async fn call(self) -> Result<RequestId, AgentError>
pub async fn call(self) -> Result<RequestId, AgentError>
Make a call. This is equivalent to the AsyncCall::call.
sourcepub async fn call_and_wait(self) -> Result<(), AgentError>
pub async fn call_and_wait(self) -> Result<(), AgentError>
Make a call. This is equivalent to the AsyncCall::call_and_wait.
Trait Implementations§
source§impl<'agent, 'canister: 'agent> AsyncCall<()> for InstallCodeBuilder<'agent, 'canister>
impl<'agent, 'canister: 'agent> AsyncCall<()> for InstallCodeBuilder<'agent, 'canister>
source§fn call<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<RequestId, AgentError>> + Send + 'async_trait>>where
Self: 'async_trait,
fn call<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<RequestId, AgentError>> + Send + 'async_trait>>where
Self: 'async_trait,
Execute the call, but returns the RequestId. Waiting on the request Id must be
managed by the caller using the Agent directly. Read more
source§fn call_and_wait<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<(), AgentError>> + Send + 'async_trait>>where
Self: 'async_trait,
fn call_and_wait<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<(), AgentError>> + Send + 'async_trait>>where
Self: 'async_trait,
Execute the call, and wait for an answer using an exponential-backoff strategy. The return
type is encoded in the trait.
source§fn and_then<Out2, R, AndThen>(
self,
and_then: AndThen
) -> AndThenAsyncCaller<Out, Out2, Self, R, AndThen>where
Self: Sized + Send,
Out2: for<'de> ArgumentDecoder<'de> + Send,
R: Future<Output = Result<Out2, AgentError>> + Send,
AndThen: Send + Fn(Out) -> R,
fn and_then<Out2, R, AndThen>(
self,
and_then: AndThen
) -> AndThenAsyncCaller<Out, Out2, Self, R, AndThen>where
Self: Sized + Send,
Out2: for<'de> ArgumentDecoder<'de> + Send,
R: Future<Output = Result<Out2, AgentError>> + Send,
AndThen: Send + Fn(Out) -> R,
Apply a transformation function after the call has been successful. The transformation
is applied with the result. Read more
source§fn map<Out2, Map>(self, map: Map) -> MappedAsyncCaller<Out, Out2, Self, Map>
fn map<Out2, Map>(self, map: Map) -> MappedAsyncCaller<Out, Out2, Self, Map>
Apply a transformation function after the call has been successful. Equivalent to
.and_then(|x| async { map(x) })
.Auto Trait Implementations§
impl<'agent, 'canister> Freeze for InstallCodeBuilder<'agent, 'canister>
impl<'agent, 'canister> !RefUnwindSafe for InstallCodeBuilder<'agent, 'canister>
impl<'agent, 'canister> Send for InstallCodeBuilder<'agent, 'canister>
impl<'agent, 'canister> Sync for InstallCodeBuilder<'agent, 'canister>
impl<'agent, 'canister> Unpin for InstallCodeBuilder<'agent, 'canister>
impl<'agent, 'canister> !UnwindSafe for InstallCodeBuilder<'agent, 'canister>
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