Type Definition read_transform::TransformFn [−][src]
type TransformFn = Box<FnMut(&mut [u8], usize, bool) -> Option<(Vec<u8>, usize)>>;
transform function which takes buffer and returns Vec<u8>
and length of processed bytes
Params
buffer
- u8 slice to processposition
- position (total number of processed bytes)last_attempt
- will be true if EOF is reached, input buffer length is greater than zero, and previous call returnedNone
. Indicates that this is last attempt before throwing error.
Return
- function returns
Result
tuple with vector of processed bytes and length of bytes processed in input buffer. If function requires some more bytes to process succesfully it must returnNone
.
Note about size in the function return
Size in the function return related to the input buffer and not output vector. For example if our function filters even bytes in [1,2,3,4,5,6]
returned size must be 6
and not 3
.