On this page:

An editor-stream-in-base% object is used by an editor-stream-in% object to perform low-level reading of data.

The editor-stream-in-base% class is never instantiated directly, but the derived class editor-stream-in-bytes-base% can be instantiated. New derived classes must override all of the methods described in this section.

(send an-editor-stream-in-base bad?)  boolean?
Returns #t if there has been an error reading from the stream, #f otherwise.

(send an-editor-stream-in-base read data)
  data : (and/c vector? (not immutable?))
Like read-bytes, but fills a supplied vector with Latin-1 characters instead of filling a byte string. This method is implemented by default via read-bytes.

(send an-editor-stream-in-base read-bytes bstr)
  bstr : (and/c bytes? (not immutable?))
Reads bytes to fill the supplied byte string. The return value is the number of bytes read, which may be less than the number requested if the stream is emptied. If the stream is emptied, the next call to bad? must return #t.

(send an-editor-stream-in-base read-byte)  (or/c byte? #f)
Reads a single byte and return it, or returns #f if no more bytes are available. The default implementation of this method uses read-bytes.

(send an-editor-stream-in-base seek pos)  void?
  pos : exact-nonnegative-integer?
Moves to the specified absolute position in the stream.

(send an-editor-stream-in-base skip n)  void?
  n : exact-nonnegative-integer?
Skips past the next n characters in the stream.

(send an-editor-stream-in-base tell)
Returns the current stream position.