pub enum Error {
CborDecode,
BufferTooShort,
NoSuchComponent,
NoSuchMethod,
BadParameters,
QueueFull,
QueueEmpty,
BadDescriptor,
TooManyDescriptors,
Other,
Unknown,
}Expand description
The errors that a system call can return.
Variants§
CborDecode
A CBOR data item is invalid CBOR or encodes an unsupported type or value.
BufferTooShort
A buffer provided for the syscall to write into is too short.
NoSuchComponent
A component UUID refers to a component that does not exist or cannot be accessed.
NoSuchMethod
A method invocation refers to a method that does not exist.
BadParameters
The parameters are incorrect in a way that does not have a more specific error code.
QueueFull
A queue is full.
QueueEmpty
A queue is empty.
BadDescriptor
A descriptor is negative or not open.
TooManyDescriptors
There are too many open descriptors.
Other
The operation failed for an otherwise unspecified reason.
Unknown
A system call returned an error code that does not correspond to any known value.
It is likely that OC-Wasm has been updated to a version which adds new error codes, and OC-Wasm-Safe has not been updated to match.
Implementations§
Source§impl Error
impl Error
Sourcepub fn from_isize(value: isize) -> Result<usize>
pub fn from_isize(value: isize) -> Result<usize>
Checks a system call return value of type isize for an error value.
Returns a Result containing an Error if the value is negative, or the original value if
it was nonnegative.
§Errors
This function fails if the parameter is negative, decoding the represented error code.
§Panics
This function panics if the syscall error code is MemoryFault or StringDecode. These
syscall errors should be impossible in safe code because the type system prohibits them:
MemoryFault should be impossible because all memory regions are taken as slices which are
always valid, and StringDecode should be impossible because all strings are taken as
string-slices (&str) which are always valid UTF-8.
Sourcepub fn from_i32(value: i32) -> Result<u32>
pub fn from_i32(value: i32) -> Result<u32>
Checks a system call return value of type i32 for an error value.
Returns a Result containing an Error if the value is negative, or the original value if
it was nonnegative.
§Errors
This function fails if the parameter is negative, decoding the represented error code.
§Panics
This function panics if the syscall error code is MemoryFault or StringDecode. These
syscall errors should be impossible in safe code because the type system prohibits them:
MemoryFault should be impossible because all memory regions are taken as slices which are
always valid, and StringDecode should be impossible because all strings are taken as
string-slices (&str) which are always valid UTF-8.
Trait Implementations§
impl Copy for Error
impl Eq for Error
Source§impl Error for Error
Available on crate feature std only.
impl Error for Error
std only.1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()