pub struct WorkItem {
pub service: ServiceId,
pub code_hash: CodeHash,
pub refine_gas_limit: UnsignedGas,
pub accumulate_gas_limit: UnsignedGas,
pub export_count: u16,
pub payload: WorkPayload,
pub import_segments: WorkItemImportsVec,
pub extrinsics: BoundedVec<ExtrinsicSpec, MaxExtrinsics>,
}Expand description
A definition of work to be done by the Refinement logic of a service and transformed into a WorkOutput for its Accumulation logic.
Fields§
§service: ServiceIdService identifier to which this work item relates.
code_hash: CodeHashThe service’s code hash at the time of reporting. This must be available in-core at the time of the lookup-anchor block.
refine_gas_limit: UnsignedGasGas limit with which to execute this work item’s Refine logic.
accumulate_gas_limit: UnsignedGasGas limit with which to execute this work item’s Accumulate logic.
export_count: u16Number of segments exported by this work item.
payload: WorkPayloadOpaque data passed in to the service’s Refinement logic to describe its workload.
import_segments: WorkItemImportsVecSequence of imported data segments.
extrinsics: BoundedVec<ExtrinsicSpec, MaxExtrinsics>Additional data available to the service’s Refinement logic while doing its workload.
Implementations§
Trait Implementations§
Source§impl Decode for WorkItem
impl Decode for WorkItem
Source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
Attempt to deserialise the value from input.
Source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
Source§impl Encode for WorkItem
impl Encode for WorkItem
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
Source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Convert self to a slice and append it to the destination.
Source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
Source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
Source§impl From<&WorkItem> for WorkItemSummary
impl From<&WorkItem> for WorkItemSummary
Source§impl MaxEncodedLen for WorkItem
impl MaxEncodedLen for WorkItem
Source§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
Upper bound, in bytes, of the maximum encoded size of this item.
impl EncodeLike for WorkItem
Auto Trait Implementations§
impl Freeze for WorkItem
impl RefUnwindSafe for WorkItem
impl Send for WorkItem
impl Sync for WorkItem
impl Unpin for WorkItem
impl UnwindSafe for WorkItem
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