{DefaultSeekableBufferedInputStream-of t:Type} (class)
public DefaultSeekableBufferedInputStream-of {inherits {DefaultBufferedInputStream-of t}, {InputStreamBufferSeekable-of t}, {SeekableBufferedInputStream-of t}}
Package: CURL.IO.STREAM
Direct Known Subclasses: DefaultSeekableTextInputStream

This is a generic full implementation of a SeekableBufferedInputStream-of that takes an unbuffered SeekableInputStream-of and buffers calls to it.


Constructors
default:
constructor public {DefaultSeekableBufferedInputStream-of.default
    stream:{SeekableInputStream-of t},
    close-stream-on-close?:bool = true,
    buffer-size:int = {calculate-instances-per-memory-size default-buffer-memory-size, t },
    unread-size:int = {max {min 4, buffer-size div 4}, 1}
}
Properties
input-seekable:Returns the underlying Seekable.
accessor protected DefaultSeekableBufferedInputStream-of.input-seekable:Seekable
seek-input-stream-buffer:Returns the underlying InputStreamBuffer-of.
accessor protected DefaultSeekableBufferedInputStream-of.seek-input-stream-buffer:{InputStreamBuffer-of t}
Properties inherited from DefaultBufferedInputStream-of: fill-data-allow-short-read-supported?, fill-data-non-blocking-supported?, open?, origin-url, underlying-input-stream, when-last-modified
Properties inherited from InputStreamBuffer-of: _buffer-valid-end, _seen-eof?, non-blocking-supported?, read-buffer-data-size, read-buffer-empty?, read-buffer-size, unread-size
Properties inherited from StreamBuffer-of: _buffer, _buffer-location, _buffer-valid-start, _seek-location
Properties inherited from PeekableInputStream-of: end-of-stream?
Methods
Methods inherited from DefaultBufferedInputStream-of: close, fill-data
Methods inherited from InputStreamBufferSeekable-of: clear-stream-buffer, seek, seek-style-supported?, tell
Methods inherited from InputStreamBuffer-of: async-read, clear-buffer, do-buffer-fill-data, read, read-one, resize-buffer, set-unread-size, unread-one
Methods inherited from BufferedInputStream-of: peek-one, peek-one-any, unread-one-any
Methods inherited from InputStream-of: copy-out, read-anys, read-one-any, to-Iterator
Methods inherited from Stream-of: verify-open
Methods inherited from Object: object-describe, object-describe-for-debugging, object-serialize

Constructor Details
default (constructor)
public {DefaultSeekableBufferedInputStream-of.default
    stream:{SeekableInputStream-of t},
    close-stream-on-close?:bool = true,
    buffer-size:int = {calculate-instances-per-memory-size default-buffer-memory-size, t },
    unread-size:int = {max {min 4, buffer-size div 4}, 1}
}
stream: SeekableInputStream-of to be wrapped by buffering.
close-stream-on-close?: specifies whether this class's close method should invoke close on the underlying stream.
buffer-size: Approximately how many items the main buffer should hold. Must be greater than 0.
unread-size: Approximately how many items should be able to be held for successive unread-one operations.

Notes

The amount of space available for unreading can grow dynamically, but such growth is expensive. Unread space is never used for other purposes. The main buffer will not grow.


Property Details
input-seekable (accessor)
accessor protected DefaultSeekableBufferedInputStream-of.input-seekable:Seekable

Returns the underlying Seekable.

Overriding

Must be provided by a subclass.


seek-input-stream-buffer (accessor)
accessor protected DefaultSeekableBufferedInputStream-of.seek-input-stream-buffer:{InputStreamBuffer-of t}

Returns the underlying InputStreamBuffer-of.

Overriding

Must be provided by a subclass.


Method Details