Gio.Seekable

const Gio = imports.gi.Gio;

let seekable = new Gio.Seekable();
  

Gio.Seekable is implemented by streams (implementations of Gio.InputStream or Gio.OutputStream) that support seeking.

Seekable streams largely fall into two categories: resizable and fixed-size.

Gio.Seekable on fixed-sized streams is approximately the same as POSIX lseek() on a block device (for example: attmepting to seek past the end of the device is an error). Fixed streams typically cannot be truncated.

Gio.Seekable on resizable streams is approximately the same as POSIX lseek() on a normal file. Seeking past the end and writing data will usually cause the stream to resize by introducing zero bytes.

Prerequisites

Seekable requires GObject.Object

Known Implementations

Seekable is implemented by BufferedInputStream, BufferedOutputStream, DataInputStream, DataOutputStream, FileIOStream, FileInputStream, FileOutputStream, MemoryInputStream and MemoryOutputStream