pub enum Outcome {
Halt,
Panic,
PageFault {
page: PageNum,
num_pages: u32,
},
OutOfGas,
OutputLimitReached,
TimeLimitReached,
WaitingForInput(InputStreams),
InputLimitReached,
}Expand description
The result code returned by CoreVM service.
It is similar to jam_pvm_common::InvokeOutcome but does not include host-call
faults because they are automatically handled by CoreVM.
Variants§
Halt
Completed normally.
Panic
Completed with a panic.
PageFault
Completed with a page fault that couldn’t be handled by CoreVM.
Undhandled page fault might occur because either the max. no. of exports is reached or the corresponding page was not imported by the work package. In the former case the program needs to be resumed in the next work package without any further action from the builder. In the latter case the page with the specified address has to be imported on the next program run to continue.
OutOfGas
Completed by running out of gas.
OutputLimitReached
The inner VM has reached the max. no. of exports while appending new data to the output stream.
TimeLimitReached
The program produced one time-slot worth of video frames or audio samples.
If both streams are active, then both streams need to have one time-slot worth of data to trigger this outcome.
WaitingForInput(InputStreams)
The program is waiting for the specified input streams.
InputLimitReached
The inner VM has reached max. bundle size while reading input stream or host/inter-service message or on page fault.