class type in_obj_stream =
in_obj_channel by look-ahead methods
Netchannels.in_obj_channelThe normal input operations work as usual. The window is moved after every read sequence of bytes by exactly the number of bytes, and if the window length becomes smaller than the block size, it will be ensured that the window will be enlarged to the block size (or to the rest of the stream until EOF, whatever is smaller).
method block_size :
The block size of the stream
method window :
The look-ahead window. The first byte of the window is the byte that
would be read next by
input_char. The length of the window is returned
by the method
window_length. This length may be smaller than the
current length of the netbuffer, i.e. the netbuffer may contain
additional data that must be ignored.
method want :
int -> unit
Increases the length of the window such that the length is at least the passed number of bytes or that the window reaches EOF (whatever happens first).
method want_another_block :
unit -> unit
The same as:
method window_length :
Returns the length of the window
method window_at_eof :
Whether the window is at eof
method skip :
int -> unit
Skip the n bytes of the stream. It is not an error to skip more bytes than available in the remaining stream.