# Class type Netstream.in_obj_stream

    class type in_obj_stream = object .. end

An `in_obj_stream` extends `in_obj_channel` by look-ahead methods

Inherits

- `Netchannels.in_obj_channel` The 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 : int

The block size of the stream

    method window : Netbuffer.t

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: `want block_size`

    method window_length : int

Returns the length of the window

    method window_at_eof : bool

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.