class ByteBuffer extends Buffer[Byte]
A mutable buffer of bytes.
- Alphabetic
- By Inheritance
- ByteBuffer
- Buffer
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
ByteBuffer(buffer: java.nio.ByteBuffer)
- Attributes
- protected[nio]
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
array(implicit trace: ZTraceElement): UIO[Array[Byte]]
- Attributes
- protected[nio]
- Definition Classes
- ByteBuffer → Buffer
- final def asCharBuffer(implicit trace: ZTraceElement): UIO[CharBuffer]
- final def asDoubleBuffer(implicit trace: ZTraceElement): UIO[DoubleBuffer]
- final def asFloatBuffer(implicit trace: ZTraceElement): UIO[FloatBuffer]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def asIntBuffer(implicit trace: ZTraceElement): UIO[IntBuffer]
- final def asLongBuffer(implicit trace: ZTraceElement): UIO[LongBuffer]
-
final
def
asReadOnlyBuffer(implicit trace: ZTraceElement): UIO[ByteBuffer]
Creates a read-only view of this buffer.
Creates a read-only view of this buffer.
- Definition Classes
- ByteBuffer → Buffer
- final def asShortBuffer(implicit trace: ZTraceElement): UIO[ShortBuffer]
-
val
buffer: java.nio.ByteBuffer
- Attributes
- protected[nio]
- Definition Classes
- ByteBuffer → Buffer
-
final
def
capacity: Int
Returns this buffer's capacity.
Returns this buffer's capacity.
- Definition Classes
- Buffer
-
final
def
clear(implicit trace: ZTraceElement): UIO[Unit]
Clears this buffer.
Clears this buffer. The position is set to zero, the limit is set to the capacity, and the mark is discarded. No values in the buffer are actually cleared, but this is typically used before putting new values into a buffer, after all its contents have been processed.
If the buffer's current values have not been completely processed, then the
compactmethod may be more appropriate.- Definition Classes
- Buffer
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
compact(implicit trace: ZTraceElement): UIO[Unit]
Compacts this buffer (optional operation).
Compacts this buffer (optional operation). The bytes between the buffer's current position and its limit, if any, are copied to the beginning of the buffer. That is, the byte at index
p = position()is copied to index0, the byte at indexp + 1is copied to index1, and so forth until the byte at indexlimit() - 1is copied to indexn = limit() - 1 - p. The buffer's position is then set ton+1and its limit is set to its capacity. The mark, if defined, is discarded.The buffer's position is set to the number of bytes copied, rather than to zero, so that an invocation of this method can be followed immediately by an invocation of another relative put method.
Invoke this method after writing data from a buffer in case the write was incomplete.
Dies with
ReadOnlyBufferExceptionif this buffer is read-only.- Definition Classes
- ByteBuffer → Buffer
-
final
def
duplicate(implicit trace: ZTraceElement): UIO[ByteBuffer]
Creates a new buffer that shares this buffer's content.
Creates a new buffer that shares this buffer's content. The content of the new buffer will be that of this buffer. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.
The new buffer's capacity, limit, position, and mark values will be identical to those of this buffer.
- Definition Classes
- ByteBuffer → Buffer
-
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] )
-
final
def
flip(implicit trace: ZTraceElement): UIO[Unit]
Flips this buffer.
Flips this buffer. The limit is set to the current position and then the position is set to zero. If the mark is defined then it is discarded. After a sequence of channel-read or put operations, invoke this method to prepare for a sequence of channel-write or relative get operations.
This method is often used in conjunction with the
compactmethod when transferring data from one place to another.- Definition Classes
- Buffer
-
final
def
get(i: Int)(implicit trace: ZTraceElement): UIO[Byte]
Absolute get of a single element.
Absolute get of a single element. Reads the element at the given index. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit.- Definition Classes
- ByteBuffer → Buffer
-
final
def
get(implicit trace: ZTraceElement): UIO[Byte]
Relative get of a single element.
Relative get of a single element. Reads the element at the position and increments the position.
Dies with
BufferUnderflowExceptionIf there are no elements remaining.- Definition Classes
- ByteBuffer → Buffer
-
final
def
getChar(index: Int)(implicit trace: ZTraceElement): UIO[Char]
Absolute get of a single character.
Absolute get of a single character. Reads the character at the given index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-1. -
final
def
getChar(implicit trace: ZTraceElement): UIO[Char]
Relative get of a single character.
Relative get of a single character. Reads the character at the position using the current byte order and increments the position by 2.
Dies with
BufferUnderflowExceptionIf there are fewer than 2 bytes remaining. -
final
def
getChunk(maxLength: Int = Int.MaxValue)(implicit trace: ZTraceElement): UIO[Chunk[Byte]]
Reads bytes from the current position and returns them in a
Chunk.Reads bytes from the current position and returns them in a
Chunk.- maxLength
Defaults to
Int.MaxValue, meaning all remaining elements will be read.
- Definition Classes
- ByteBuffer → Buffer
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
getDouble(index: Int)(implicit trace: ZTraceElement): UIO[Double]
Absolute get of a single double.
Absolute get of a single double. Reads the double at the given index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-7. -
final
def
getDouble(implicit trace: ZTraceElement): UIO[Double]
Relative get of a single double.
Relative get of a single double. Reads the double at the position using the current byte order and increments the position by 8.
Dies with
BufferUnderflowExceptionIf there are fewer than 8 bytes remaining. -
final
def
getFloat(index: Int)(implicit trace: ZTraceElement): UIO[Float]
Absolute get of a single float.
Absolute get of a single float. Reads the float at the given index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-3. -
final
def
getFloat(implicit trace: ZTraceElement): UIO[Float]
Relative get of a single float.
Relative get of a single float. Reads the float at the position using the current byte order and increments the position by 4.
Dies with
BufferUnderflowExceptionIf there are fewer than 4 bytes remaining. -
final
def
getInt(index: Int)(implicit trace: ZTraceElement): UIO[Int]
Absolute get of a single int.
Absolute get of a single int. Reads the int at the given index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-3. -
final
def
getInt(implicit trace: ZTraceElement): UIO[Int]
Relative get of a single int.
Relative get of a single int. Reads the int at the position using the current byte order and increments the position by 4.
Dies with
BufferUnderflowExceptionIf there are fewer than 4 bytes remaining. -
final
def
getLong(index: Int)(implicit trace: ZTraceElement): UIO[Long]
Absolute get of a single long.
Absolute get of a single long. Reads the long at the given index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-7. -
final
def
getLong(implicit trace: ZTraceElement): UIO[Long]
Relative get of a single long.
Relative get of a single long. Reads the long at the position using the current byte order and increments the position by 8.
Dies with
BufferUnderflowExceptionIf there are fewer than 8 bytes remaining. -
final
def
getShort(index: Int)(implicit trace: ZTraceElement): UIO[Short]
Absolute get of a single short.
Absolute get of a single short. Reads the short at the given index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-1. -
final
def
getShort(implicit trace: ZTraceElement): UIO[Short]
Relative get of a single short.
Relative get of a single short. Reads the short at the position using the current byte order and increments the position by 2.
Dies with
BufferUnderflowExceptionIf there are fewer than 2 bytes remaining. -
final
def
hasArray: Boolean
Indicates if this buffer is backed by an array on the heap.
Indicates if this buffer is backed by an array on the heap.
The underlying array can be used in a safe way via the
withArraymethod.- Definition Classes
- Buffer
-
final
def
hasRemaining(implicit trace: ZTraceElement): UIO[Boolean]
Indicates whether there are any elements between this buffer's position and its limit.
Indicates whether there are any elements between this buffer's position and its limit.
- Definition Classes
- Buffer
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isDirect: Boolean
Indicates if this buffer was directly allocated.
Indicates if this buffer was directly allocated.
Returns true for directly allocated
ByteBuffers and view buffers created from them.- Definition Classes
- Buffer
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
isReadOnly: Boolean
Indicates if this buffer is read-only.
Indicates if this buffer is read-only.
Calling any put methods on a read-only buffer with throw
ReadOnlyBufferException.- Definition Classes
- Buffer
-
final
def
limit(newLimit: Int)(implicit trace: ZTraceElement): UIO[Unit]
Sets this buffer's limit.
Sets this buffer's limit.
Dies with
IllegalArgumentExceptionif the new limit is outside the bounds.- newLimit
Must be >= 0 and <= this buffer's capacity.
- Definition Classes
- Buffer
-
final
def
limit(implicit trace: ZTraceElement): UIO[Int]
Returns this buffer's limit.
Returns this buffer's limit.
- Definition Classes
- Buffer
-
final
def
mark(implicit trace: ZTraceElement): UIO[Unit]
Sets this buffer's mark to the current position.
Sets this buffer's mark to the current position.
- Definition Classes
- Buffer
-
final
def
moveLimit(delta: Int)(implicit trace: ZTraceElement): UIO[Int]
Moves this buffer's limit forward or backwards by a delta.
Moves this buffer's limit forward or backwards by a delta.
- delta
The number of elements to move, negative to move backwards.
- returns
The new limit.
- Definition Classes
- Buffer
-
final
def
movePosition(delta: Int)(implicit trace: ZTraceElement): UIO[Int]
Moves this buffer's position forward or backwards by a delta.
Moves this buffer's position forward or backwards by a delta.
- delta
The number of elements to move, negative to move backwards.
- returns
The new position.
- Definition Classes
- Buffer
-
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
order(o: ByteOrder)(implicit trace: ZTraceElement): UIO[Unit]
Changes the byte order used by this buffer for multi-byte reads and view buffers.
-
final
def
order(implicit trace: ZTraceElement): UIO[ByteOrder]
The byte order used for reading multiple byte values.
The byte order used for reading multiple byte values.
Also the byte order used any view buffers created from this buffer.
- Definition Classes
- ByteBuffer → Buffer
-
final
def
position(newPosition: Int)(implicit trace: ZTraceElement): UIO[Unit]
Sets this buffer's position.
Sets this buffer's position.
Dies with
IllegalArgumentExceptionif the new position is outside the bounds.- newPosition
Must be >= 0 and <= the current limit.
- Definition Classes
- Buffer
-
final
def
position(implicit trace: ZTraceElement): UIO[Int]
Returns this buffer's position.
Returns this buffer's position.
- Definition Classes
- Buffer
-
final
def
put(index: Int, element: Byte)(implicit trace: ZTraceElement): UIO[Unit]
Absolute put of a single element.
Absolute put of a single element. Writes the element at the specified index. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit. Dies withReadOnlyBufferExceptionif this is a read-only buffer.- Definition Classes
- ByteBuffer → Buffer
-
final
def
put(element: Byte)(implicit trace: ZTraceElement): UIO[Unit]
Relative put of a single element.
Relative put of a single element. Writes the element at the position and increments the position.
Dies with
BufferOverflowExceptionif there are no elements remaining. Dies withReadOnlyBufferExceptionif this is a read-only buffer.- Definition Classes
- ByteBuffer → Buffer
- def putByteBuffer(source: ByteBuffer)(implicit trace: ZTraceElement): UIO[Unit]
-
final
def
putChar(index: Int, value: Char)(implicit trace: ZTraceElement): UIO[Unit]
Absolute put of a single character.
Absolute put of a single character. Writes the character at the specified index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-1. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putChar(value: Char)(implicit trace: ZTraceElement): UIO[Unit]
Relative put of a single character.
Relative put of a single character. Writes the character at the position using the current byte order and increments the position by 2.
Dies with
BufferOverflowExceptionif there are fewer than 2 bytes remaining. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putChunk(chunk: Chunk[Byte])(implicit trace: ZTraceElement): UIO[Chunk[Byte]]
Relative put of multiple elements.
Relative put of multiple elements. Writes as many elements as can fit in remaining buffer space, returning any elements that did not fit.
- returns
The remaining elements that could not fit in this buffer, if any.
- Definition Classes
- Buffer
-
final
def
putChunkAll(chunk: Chunk[Byte])(implicit trace: ZTraceElement): UIO[Unit]
Tries to put an entire chunk in this buffer, possibly overflowing.
Tries to put an entire chunk in this buffer, possibly overflowing.
putChunkis a safe public variant of this that won't overflow.- Attributes
- protected
- Definition Classes
- ByteBuffer → Buffer
-
final
def
putDouble(index: Int, value: Double)(implicit trace: ZTraceElement): UIO[Unit]
Absolute put of a single double.
Absolute put of a single double. Writes the double at the specified index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-7. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putDouble(value: Double)(implicit trace: ZTraceElement): UIO[Unit]
Relative put of a single double.
Relative put of a single double. Writes the double at the position using the current byte order and increments the position by 8.
Dies with
BufferOverflowExceptionif there are fewer than 8 bytes remaining. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putFloat(index: Int, value: Float)(implicit trace: ZTraceElement): UIO[Unit]
Absolute put of a single float.
Absolute put of a single float. Writes the float at the specified index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-3. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putFloat(value: Float)(implicit trace: ZTraceElement): UIO[Unit]
Relative put of a single float.
Relative put of a single float. Writes the float at the position using the current byte order and increments the position by 4.
Dies with
BufferOverflowExceptionif there are fewer than 4 bytes remaining. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putInt(index: Int, value: Int)(implicit trace: ZTraceElement): UIO[Unit]
Absolute put of a single int.
Absolute put of a single int. Writes the int at the specified index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-3. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putInt(value: Int)(implicit trace: ZTraceElement): UIO[Unit]
Relative put of a single int.
Relative put of a single int. Writes the int at the position using the current byte order and increments the position by 4.
Dies with
BufferOverflowExceptionif there are fewer than 4 bytes remaining. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putLong(index: Int, value: Long)(implicit trace: ZTraceElement): UIO[Unit]
Absolute put of a single long.
Absolute put of a single long. Writes the long at the specified index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-7. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putLong(value: Long)(implicit trace: ZTraceElement): UIO[Unit]
Relative put of a single long.
Relative put of a single long. Writes the long at the position using the current byte order and increments the position by 8.
Dies with
BufferOverflowExceptionif there are fewer than 8 bytes remaining. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putShort(index: Int, value: Short)(implicit trace: ZTraceElement): UIO[Unit]
Absolute put of a single short.
Absolute put of a single short. Writes the short at the specified index using the current byte order. The position does not change.
Dies with
IndexOutOfBoundsExceptionif the index is negative or not smaller than the limit-1. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
putShort(value: Short)(implicit trace: ZTraceElement): UIO[Unit]
Relative put of a single short.
Relative put of a single short. Writes the short at the position using the current byte order and increments the position by 2.
Dies with
BufferOverflowExceptionif there are fewer than 2 bytes remaining. Dies withReadOnlyBufferExceptionif this is a read-only buffer. -
final
def
remaining(implicit trace: ZTraceElement): UIO[Int]
Returns the number of elements between this buffer's position and its limit.
Returns the number of elements between this buffer's position and its limit.
- Definition Classes
- Buffer
-
final
def
reset(implicit trace: ZTraceElement): UIO[Unit]
Resets the position to the previously set mark.
Resets the position to the previously set mark. A mark must be set before calling this.
Dies with
InvalidMarkExceptionif a mark has not previously been set.- Definition Classes
- Buffer
-
final
def
rewind(implicit trace: ZTraceElement): UIO[Unit]
Rewinds this buffer.
Rewinds this buffer. The position is set to zero and the mark is discarded. Invoke this method before a sequence of channel-write or get operations, assuming that the limit has already been set appropriately.
- Definition Classes
- Buffer
-
final
def
slice(implicit trace: ZTraceElement): UIO[ByteBuffer]
Creates a new buffer whose content is a shared subsequence of this buffer's content.
Creates a new buffer whose content is a shared subsequence of this buffer's content. The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.
The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer.
- Definition Classes
- ByteBuffer → Buffer
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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()
-
final
def
withArray[R, E, B](noArray: ZIO[R, E, B], hasArray: (Array[Byte], Int) ⇒ ZIO[R, E, B])(implicit trace: ZTraceElement): ZIO[R, E, B]
Perform effects using this buffer's underlying array directly.
Perform effects using this buffer's underlying array directly. Because only some buffers are backed by arrays, two cases must be handled. Ideally, the same result is produced in each case, with the
hasArrayvariant just being more efficient.For the
hasArraycase, the function is provided the backing array itself and an offset within that array which contains the first element of this buffer. Elements in the array before the offset are not contained in this buffer.- noArray
The effect to perform if this buffer is not backed by an array.
- hasArray
The effect to perform if this buffer is backed by an array.
- Definition Classes
- Buffer
-
def
withJavaBuffer[R, E, A](f: (java.nio.ByteBuffer) ⇒ ZIO[R, E, A])(implicit trace: ZTraceElement): ZIO[R, E, A]
Provides the underlying Java byte buffer for use in an effect.
Provides the underlying Java byte buffer for use in an effect.
This is useful when using Java APIs that require a Java byte buffer to be provided.
- returns
The effect value constructed by
fusing the underlying buffer.