ReadCursor

fs2.io.file.ReadCursor
See theReadCursor companion object
final case class ReadCursor[F[_]](file: FileHandle[F], offset: Long)

Associates a FileHandle with an offset in to the file.

This encapsulates the pattern of incrementally reading bytes in from a file, a chunk at a time. Convenience methods are provided for working with pulls.

Attributes

Companion
object
Source
ReadCursor.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def read(chunkSize: Int)(implicit F: Functor[F]): F[Option[(ReadCursor[F], Chunk[Byte])]]

Reads a single chunk from the underlying file handle, returning the read chunk and a new cursor with an offset incremented by the chunk size.

Reads a single chunk from the underlying file handle, returning the read chunk and a new cursor with an offset incremented by the chunk size.

Attributes

Source
ReadCursor.scala
def readAll(chunkSize: Int): Pull[F, Byte, ReadCursor[F]]

Reads all chunks from the underlying file handle, returning a cursor with offset incremented by the total number of bytes read.

Reads all chunks from the underlying file handle, returning a cursor with offset incremented by the total number of bytes read.

Attributes

Source
ReadCursor.scala
def readPull(chunkSize: Int): Pull[F, Nothing, Option[(ReadCursor[F], Chunk[Byte])]]

Like read but returns a pull instead of an F[(ReadCursor[F], Option[Chunk[Byte]])].

Like read but returns a pull instead of an F[(ReadCursor[F], Option[Chunk[Byte]])].

Attributes

Source
ReadCursor.scala
def readUntil(chunkSize: Int, end: Long): Pull[F, Byte, ReadCursor[F]]

Reads chunks until the specified end position in the file.

Reads chunks until the specified end position in the file. Returns a pull that outputs the read chunks and completes with a cursor with offset incremented by the total number of bytes read.

Attributes

Source
ReadCursor.scala
def seek(position: Long): ReadCursor[F]

Returns a new cursor with the offset adjusted to the specified position.

Returns a new cursor with the offset adjusted to the specified position.

Attributes

Source
ReadCursor.scala
def tail(chunkSize: Int, pollDelay: FiniteDuration)(implicit t: Temporal[F]): Pull[F, Byte, ReadCursor[F]]

Returns an infinite stream that reads until the end of the file and then starts polling the file for additional writes.

Returns an infinite stream that reads until the end of the file and then starts polling the file for additional writes. Similar to the tail command line utility.

Value parameters

pollDelay

amount of time to wait upon reaching the end of the file before polling for updates

Attributes

Source
ReadCursor.scala

Inherited methods

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product