Enum oc_wasm_safe::error::Error
source · 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.