Struct ic_agent::agent::UpdateBuilder [−][src]
pub struct UpdateBuilder<'agent> { pub effective_canister_id: Principal, pub canister_id: Principal, pub method_name: String, pub arg: Vec<u8>, pub ingress_expiry_datetime: Option<u64>, // some fields omitted }
Expand description
An Update Request Builder.
This makes it easier to do update calls without actually passing all arguments or specifying if you want to wait or not.
Fields
effective_canister_id: Principal
canister_id: Principal
method_name: String
arg: Vec<u8>
ingress_expiry_datetime: Option<u64>
Implementations
Takes a SystemTime converts it to a Duration by calling duration_since(UNIX_EPOCH) to learn about where in time this SystemTime lies. The Duration is converted to nanoseconds and stored in ingress_expiry_datetime
Takes a Duration (i.e. 30 sec/5 min 30 sec/1 h 30 min, etc.) and adds it to the Duration of the current SystemTime since the UNIX_EPOCH Subtracts a permitted drift from the sum to account for using system time and not block time. Converts the difference to nanoseconds and stores in ingress_expiry_datetime
Make an update call. This will call request_status on the RequestId in a loop and return the response as a byte vector.
pub fn call(&self) -> UpdateCall<'_>ⓘNotable traits for UpdateCall<'_>
impl Future for UpdateCall<'_> type Output = Result<RequestId, AgentError>;
pub fn call(&self) -> UpdateCall<'_>ⓘNotable traits for UpdateCall<'_>
impl Future for UpdateCall<'_> type Output = Result<RequestId, AgentError>;
Make an update call. This will return a RequestId. The RequestId should then be used for request_status (most likely in a loop).
Sign a update call. This will return a signed::SignedUpdate
which contains all fields of the update and the signed update in CBOR encoding
Auto Trait Implementations
impl<'agent> !RefUnwindSafe for UpdateBuilder<'agent>
impl<'agent> Send for UpdateBuilder<'agent>
impl<'agent> Sync for UpdateBuilder<'agent>
impl<'agent> Unpin for UpdateBuilder<'agent>
impl<'agent> !UnwindSafe for UpdateBuilder<'agent>