final class BlockingFileOps extends GatheringByteOps with ScatteringByteOps
- Alphabetic
- By Inheritance
- BlockingFileOps
- ScatteringByteOps
- GatheringByteOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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
channel: java.nio.channels.FileChannel
- Attributes
- protected[channels]
- Definition Classes
- BlockingFileOps → ScatteringByteOps → GatheringByteOps
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
force(metadata: Boolean)(implicit trace: ZTraceElement): IO[IOException, Unit]
Forces any updates to this channel's file to be written to the storage device that contains it.
Forces any updates to this channel's file to be written to the storage device that contains it.
- metadata
If true then this method is required to force changes to both the file's content and metadata to be written to storage; otherwise, it need only force content changes to be written
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
lock(position: Long = 0L, size: Long = Long.MaxValue, shared: Boolean = false)(implicit trace: ZTraceElement): IO[IOException, FileLock]
Acquires a lock on the given region of this channel's file.
Acquires a lock on the given region of this channel's file. An invocation of this method will block until the region can be locked, this channel is closed, or the invoking thread is interrupted, whichever comes first.
- position
The position at which the locked region is to start, must be >= 0
- size
The size of the locked region; must be >= 0, and the sum position + size must be >= 0
- shared
true to request a shared lock, in which case this channel must be open for reading (and possibly writing); false to request an exclusive lock, in which case this channel must be open for writing (and possibly reading)
-
def
map(mode: MapMode, position: Long, size: Long)(implicit trace: ZTraceElement): IO[IOException, MappedByteBuffer]
Maps a region of this channel's file directly into memory.
Maps a region of this channel's file directly into memory.
A region of a file may be mapped into memory in one of three modes:
- Read-only: Any attempt to modify the resulting buffer will cause a
ReadOnlyBufferExceptionto be thrown. (MapMode.READ_ONLY) - Read/write: Changes made to the resulting buffer will eventually be propagated to the file; they may or may
not be made visible to other programs that have mapped the same file. (
MapMode.READ_WRITE) - Private: Changes made to the resulting buffer will not be propagated to the file and will not be visible to
other programs that have mapped the same file; instead, they will cause private copies of the modified
portions of the buffer to be created. (
MapMode.PRIVATE)
- mode
Indicates if the file is to be mapped read-only, read/write, or private (copy on write).
- position
The position within the file at which the mapped region is to start, must be >= 0
- size
The size of the region to be mapped, must be >= 0 and <=
Int.MaxValue
- Read-only: Any attempt to modify the resulting buffer will cause a
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
read(dst: ByteBuffer, position: Long)(implicit trace: ZTraceElement): IO[IOException, Int]
Reads a sequence of bytes from this channel into the given buffer, starting at the given file position.
Reads a sequence of bytes from this channel into the given buffer, starting at the given file position. This method works in the same manner as the
read(ByteBuffer)method, except that bytes are read starting at the given file position rather than at the channel's current position. This method does not modify this channel's position. If the given position is greater than the file's current size then no bytes are read.- dst
The buffer to put the read bytes into
- position
The file position at which the transfer is to begin, must be >= 0
-
final
def
read(dst: ByteBuffer)(implicit trace: ZTraceElement): IO[IOException, Int]
Reads a sequence of bytes from this channel into the given buffer.
Reads a sequence of bytes from this channel into the given buffer.
Fails with
java.io.EOFExceptionif end-of-stream is reached.- returns
The number of bytes read, possibly 0
- Definition Classes
- ScatteringByteOps
-
final
def
read(dsts: Seq[ByteBuffer])(implicit trace: ZTraceElement): IO[IOException, Long]
Reads a sequence of bytes from this channel into the provided list of buffers, in order.
Reads a sequence of bytes from this channel into the provided list of buffers, in order.
Fails with
java.io.EOFExceptionif end-of-stream is reached.- returns
The number of bytes read in total, possibly 0
- Definition Classes
- ScatteringByteOps
-
final
def
readChunk(capacity: Int)(implicit trace: ZTraceElement): IO[IOException, Chunk[Byte]]
Reads a chunk of bytes.
Reads a chunk of bytes.
Fails with
java.io.EOFExceptionif end-of-stream is reached.- capacity
The maximum number of bytes to be read.
- returns
The bytes read, between 0 and
capacityin size, inclusive
- Definition Classes
- ScatteringByteOps
-
final
def
readChunks(capacities: Seq[Int])(implicit trace: ZTraceElement): IO[IOException, List[Chunk[Byte]]]
Reads a sequence of bytes grouped into multiple chunks.
Reads a sequence of bytes grouped into multiple chunks.
Fails with
java.io.EOFExceptionif end-of-stream is reached.- capacities
For each int in this sequence, a chunk of that size is produced, if there is enough data in the channel.
- returns
A list with one
Chunkper input size. Some chunks may be less than the requested size if the channel does not have enough data
- Definition Classes
- ScatteringByteOps
-
def
sink(bufferConstruct: UIO[ByteBuffer])(implicit trace: ZTraceElement): ZSink[Clock, IOException, Byte, Byte, Long]
A sink that will write all the bytes it receives to this channel.
A sink that will write all the bytes it receives to this channel. The sink's result is the number of bytes written. Note: This method does not work well with a channel in non-blocking mode, as it will busy-wait whenever the channel is not ready for writes. The returned sink should be run within the context of a
useBlockingcall for correct blocking and interruption support.- bufferConstruct
Optional, overrides how to construct the buffer used to transfer bytes received by the sink to this channel. By default a heap buffer is used, but a direct buffer will usually perform better.
- Definition Classes
- GatheringByteOps
-
def
sink()(implicit trace: ZTraceElement): ZSink[Clock, IOException, Byte, Byte, Long]
- Definition Classes
- GatheringByteOps
-
def
stream(bufferConstruct: UIO[ByteBuffer])(implicit trace: ZTraceElement): Stream[IOException, Byte]
A
ZStreamthat reads from this channel.A
ZStreamthat reads from this channel. Note: This method does not work well with a channel in non-blocking mode, as it will busy-wait whenever the channel is not ready for reads. The returned stream should be run within the context of auseBlockingcall for correct blocking and interruption support.The stream terminates without error if the channel reaches end-of-stream.
- bufferConstruct
Optional, overrides how to construct the buffer used to transfer bytes read from this channel into the stream. By default a heap buffer is used, but a direct buffer will usually perform better.
- Definition Classes
- ScatteringByteOps
-
def
stream()(implicit trace: ZTraceElement): Stream[IOException, Byte]
- Definition Classes
- ScatteringByteOps
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
transferFrom(src: ScatteringByteOps, position: Long, count: Long)(implicit trace: ZTraceElement): IO[IOException, Long]
Transfers bytes into this channel's file from the given readable byte channel.
Transfers bytes into this channel's file from the given readable byte channel.
- src
The source channel
- position
The position within the file at which the transfer is to begin, must be >= 0
- count
The maximum number of bytes to be transferred, must be >= 0
-
def
transferTo(position: Long, count: Long, target: GatheringByteOps)(implicit trace: ZTraceElement): IO[IOException, Long]
Transfers bytes from this channel's file to the given writable byte channel.
Transfers bytes from this channel's file to the given writable byte channel.
- position
The position within the file at which the transfer is to begin, must be >= 0
- count
The maximum number of bytes to be transferred, must be >= 0
- target
The target channel
-
def
truncate(size: Long)(implicit trace: ZTraceElement): IO[IOException, Unit]
Truncates this channel's file to the given size.
Truncates this channel's file to the given size. If the given size is less than the file's current size then the file is truncated, discarding any bytes beyond the new end of the file. If the given size is greater than or equal to the file's current size then the file is not modified. In either case, if this channel's file position is greater than the given size then it is set to that size.
- size
The new size, must be >= 0
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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()
-
def
write(src: ByteBuffer, position: Long)(implicit trace: ZTraceElement): IO[IOException, Int]
Writes a sequence of bytes to this channel from the given buffer, starting at the given file position.
Writes a sequence of bytes to this channel from the given buffer, starting at the given file position. This method works in the same manner as the
write(ByteBuffer)method, except that bytes are written starting at the given file position rather than at the channel's current position. This method does not modify this channel's position. If the given position is greater than the file's current size then the file will be grown to accommodate the new bytes; the values of any bytes between the previous end-of-file and the newly-written bytes are unspecified.- src
The buffer containing the bytes to write
- position
The file position at which the transfer is to begin, must be >= 0
-
final
def
write(src: ByteBuffer)(implicit trace: ZTraceElement): IO[IOException, Int]
- Definition Classes
- GatheringByteOps
-
final
def
write(srcs: List[ByteBuffer])(implicit trace: ZTraceElement): IO[IOException, Long]
- Definition Classes
- GatheringByteOps
-
final
def
writeChunk(src: Chunk[Byte])(implicit trace: ZTraceElement): IO[IOException, Unit]
Writes a chunk of bytes.
Writes a chunk of bytes.
Multiple writes may be performed to write the entire chunk.
- Definition Classes
- GatheringByteOps
-
final
def
writeChunks(srcs: List[Chunk[Byte]])(implicit trace: ZTraceElement): IO[IOException, Unit]
Writes a list of chunks, in order.
Writes a list of chunks, in order.
Multiple writes may be performed in order to write all the chunks.
- Definition Classes
- GatheringByteOps