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
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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
-
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( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val file: FileHandle[F]
-
final
def
getClass(): Class[_]
- 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
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 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
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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated