Function rmp::decode::read_i32_loosely
[−]
[src]
pub fn read_i32_loosely<R>(rd: &mut R) -> Result<i32, ValueReadError> where R: Read
Attempts to read up to 5 bytes from the given reader and to decode them as i32
value.
Unlike the read_i32
, this function weakens type restrictions, allowing you to safely decode
packed values even if you aren't sure about the actual type.
Note, that trying to decode unsigned integers will result in TypeMismatch
error even if the
value fits in i32
.
Errors
This function will return ValueReadError
on any I/O error while reading either the marker or
the data, except the EINTR, which is handled internally.
It also returns ValueReadError::TypeMismatch
if the actual type is not equal with the
expected one, indicating you with the actual type.
Note
This function will silently retry on every EINTR received from the underlying Read
until
successful read.