Undo reader supports unread(&u8)
Useful when you are doing serialization/deserialization where you
need to put data back (undo the read)
You can use UndoReader as if it is a normal AsyncRead
Additionally, UndoReader supports a limit as well. It would stop reading after limit is reached (EOF)
Example:
Observe a stream’s operation when user code is not involved.
For example: When you call EhRead.stream_to function, and you may want to calculate
the checksum (SHA1, SHA256 or MD5 along the way, you can observe the stream copy using the observer)