final case class ReadCursor[F[_]](file: FileHandle[F], offset: Long) extends Product with Serializable
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.
- Source
- ReadCursor.scala
- Alphabetic
- By Inheritance
- ReadCursor
- Serializable
- Product
- Equals
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ReadCursor(file: FileHandle[F], offset: Long)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from ReadCursor[F] toany2stringadd[ReadCursor[F]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (ReadCursor[F], B)
- Implicit
- This member is added by an implicit conversion from ReadCursor[F] toArrowAssoc[ReadCursor[F]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def ensuring(cond: (ReadCursor[F]) => Boolean, msg: => Any): ReadCursor[F]
- Implicit
- This member is added by an implicit conversion from ReadCursor[F] toEnsuring[ReadCursor[F]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (ReadCursor[F]) => Boolean): ReadCursor[F]
- Implicit
- This member is added by an implicit conversion from ReadCursor[F] toEnsuring[ReadCursor[F]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): ReadCursor[F]
- Implicit
- This member is added by an implicit conversion from ReadCursor[F] toEnsuring[ReadCursor[F]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): ReadCursor[F]
- Implicit
- This member is added by an implicit conversion from ReadCursor[F] toEnsuring[ReadCursor[F]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val file: FileHandle[F]
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from ReadCursor[F] toStringFormat[ReadCursor[F]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val offset: Long
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- 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.
- 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.
- def readPull(chunkSize: Int): Pull[F, Nothing, Option[(ReadCursor[F], Chunk[Byte])]]
Like
readbut returns a pull instead of anF[(ReadCursor[F], Option[Chunk[Byte]])]. - 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.
- def seek(position: Long): ReadCursor[F]
Returns a new cursor with the offset adjusted to the specified position.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tail(chunkSize: Int, pollDelay: FiniteDuration)(implicit timer: Timer[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
tailcommand line utility.- pollDelay
amount of time to wait upon reaching the end of the file before polling for updates
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.
- def →[B](y: B): (ReadCursor[F], B)
- Implicit
- This member is added by an implicit conversion from ReadCursor[F] toArrowAssoc[ReadCursor[F]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.