trait ByteWriter extends AnyRef
ByteWriters allow efficient encoding to a buffer. Concatenating
Bufs together is a common pattern for codecs (especially on the encode
path), but using the concat
method on Buf results in a suboptimal
representation. In many cases, a ByteWriter not only allows for a more
optimal representation (i.e., sequential accessible out regions), but also
allows for writes to avoid allocations. What this means in practice is that
builders are stateful. Assume that the builder implementations are ""not""
threadsafe unless otherwise noted.
- Alphabetic
- By Inheritance
- ByteWriter
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def writeByte(b: Int): ByteWriter.this.type
Write 8 bits of
b
.Write 8 bits of
b
. The remaining 24 bits are ignored. - abstract def writeBytes(buf: Buf): ByteWriter.this.type
Write all the bytes from
buf
into the running buffer. - abstract def writeBytes(bs: Array[Byte]): ByteWriter.this.type
Write all the bytes from
bs
into the running buffer. - abstract def writeDoubleBE(d: Double): ByteWriter.this.type
Write 64 bits from
d
in big-endian order. - abstract def writeDoubleLE(d: Double): ByteWriter.this.type
Write 64 bits from
d
in little-endian order. - abstract def writeFloatBE(f: Float): ByteWriter.this.type
Write 32 bits from
f
in big-endian order. - abstract def writeFloatLE(f: Float): ByteWriter.this.type
Write 32 bits from
f
in little-endian order. - abstract def writeIntBE(i: Long): ByteWriter.this.type
Write 32 bits from
i
in big-endian order. - abstract def writeIntLE(i: Long): ByteWriter.this.type
Write 32 bits from
i
in little-endian order. - abstract def writeLongBE(l: Long): ByteWriter.this.type
Write 64 bits from
l
in big-endian order. - abstract def writeLongLE(l: Long): ByteWriter.this.type
Write 64 bits from
l
in little-endian order. - abstract def writeMediumBE(m: Int): ByteWriter.this.type
Write 24 bits from
m
in big-endian order.Write 24 bits from
m
in big-endian order. The remaining 8 bits are ignored. - abstract def writeMediumLE(m: Int): ByteWriter.this.type
Write 24 bits from
m
in little-endian order.Write 24 bits from
m
in little-endian order. The remaining 8 bits are ignored. - abstract def writeShortBE(s: Int): ByteWriter.this.type
Write 16 bits from
s
in big-endian order.Write 16 bits from
s
in big-endian order. The remaining 16 bits are ignored. - abstract def writeShortLE(s: Int): ByteWriter.this.type
Write 16 bits from
s
in little-endian order.Write 16 bits from
s
in little-endian order. The remaining 16 bits are ignored. - abstract def writeString(string: CharSequence, charset: Charset): ByteWriter.this.type
Write the byte representation of
string
, encoded using the specifiedCharset
into the running buffer.
Concrete 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(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- 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(classOf[java.lang.InterruptedException])
- 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()