t

io.github.vigoo.desert

BinaryOutput

trait BinaryOutput extends AnyRef

Interface for writing binary data

The low level write operations for primitive types must be implemented.

Also contains some higher level functions such as variable integer encoding and compression support, which have a default implementation based on the primitives.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BinaryOutput
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def writeByte(value: Byte): Unit

    Writes one byte

    Writes one byte

    value

    The value to write

  2. abstract def writeBytes(value: Array[Byte], start: Int, count: Int): Unit

    Writes a slice of an array of bytes (without writing any infomation about the number of bytes)

    Writes a slice of an array of bytes (without writing any infomation about the number of bytes)

    value

    The byte array

    start

    Index of the first byte to write

    count

    Number of bytes to write

  3. abstract def writeBytes(value: Array[Byte]): Unit

    Writes an array of bytes (without writing any information about the number of bytes)

    Writes an array of bytes (without writing any information about the number of bytes)

    value

    The bytes to write

  4. abstract def writeDouble(value: Double): Unit

    Writes one 64-bit floating point value

    Writes one 64-bit floating point value

    value

    The value to write

  5. abstract def writeFloat(value: Float): Unit

    Writes one 32-bit floating point value

    Writes one 32-bit floating point value

    value

    The value to write

  6. abstract def writeInt(value: Int): Unit

    Writes one 32-bit integer

    Writes one 32-bit integer

    value

    The value to write

  7. abstract def writeLong(value: Long): Unit

    Writes one 64-bit integer

    Writes one 64-bit integer

    value

    The value to write

  8. abstract def writeShort(value: Short): Unit

    Writes one 16-bit integer

    Writes one 16-bit integer

    value

    The value to write

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. def writeCompressedByteArray(uncompressedData: Array[Byte], level: Int = Deflater.BEST_SPEED): Unit

    Compress the given byte array with ZIP and write write the compressed data to the output

    Compress the given byte array with ZIP and write write the compressed data to the output

    The compressed data is prepended with the uncompressed and the compressed data sizes, encoded with variable-length integer encoding.

    Use the BinaryInput.readCompressedByteArray function to read it back.

    uncompressedData

    Uncompressed data

    level

    Compression level. Use constants from the Deflater class

  20. def writeVarInt(value: Int, optimizeForPositive: Boolean = false): Unit

    Writes a 32-bit integer with a variable-length encoding

    Writes a 32-bit integer with a variable-length encoding

    The number of encoded bytes is 1-5. Based on https://github.com/EsotericSoftware/kryo/blob/master/src/com/esotericsoftware/kryo/io/ByteBufferOutput.java#L290

    value

    The value to write

    optimizeForPositive

    If true the encoding is optimized for positive numbers

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped