A buffer representing an array of bytes.
A buffer representing the remaining bytes in the given ByteBuffer.
A buffer representing the remaining bytes in the given ByteBuffer. The given buffer will not be affected.
Modifications to the ByteBuffer's content will be visible to the resulting Buf. The ByteBuffer should be immutable in practice.
A Buf
which is composed of other Bufs
.
A Buf
which is composed of other Bufs
.
Buf.apply for creating new instances.
true
if the processor would like to continue processing
more bytes and false
otherwise.
this is not a Function1[Byte, Boolean]
despite very
much fitting that interface. This was done to avoiding boxing
of the Bytes
which was quite squirrely and had an impact on
performance.
A StringCoder for a given java.nio.charset.Charset provides an
encoder: String
to Buf
and an extractor: Buf to Option[String]
.
A StringCoder for a given java.nio.charset.Charset provides an
encoder: String
to Buf
and an extractor: Buf to Option[String]
.
Malformed and unmappable input is silently replaced see java.nio.charset.CodingErrorAction.REPLACE
Utf8 for UTF-8 encoding and decoding, and Bufs.UTF8
for
Java users. Constants exist for other standard charsets as well.
An empty buffer.
Create and deconstruct buffers encoded by the ISO Latin Alphabet No.
Create and deconstruct buffers encoded by the ISO Latin Alphabet No. 1 charset.
See com.twitter.io.Bufs.ISO_8859_1
for a Java-friendly API.
Malformed and unmappable input is silently replaced see java.nio.charset.CodingErrorAction.REPLACE
Create and deconstruct unsigned 32-bit big endian encoded buffers.
Create and deconstruct unsigned 32-bit big endian encoded buffers.
Deconstructing will return the value as well as the remaining buffer.
Create and deconstruct unsigned 32-bit little endian encoded buffers.
Create and deconstruct unsigned 32-bit little endian encoded buffers.
Deconstructing will return the value as well as the remaining buffer.
Create and deconstruct unsigned 64-bit big endian encoded buffers.
Create and deconstruct unsigned 64-bit big endian encoded buffers.
Deconstructing will return the value as well as the remaining buffer.
Create and deconstruct unsigned 64-bit little endian encoded buffers.
Create and deconstruct unsigned 64-bit little endian encoded buffers.
Deconstructing will return the value as well as the remaining buffer.
Create and deconstruct buffers encoded by the 7-bit ASCII, also known as ISO646-US or the Basic Latin block of the Unicode character set.
Create and deconstruct buffers encoded by the 7-bit ASCII, also known as ISO646-US or the Basic Latin block of the Unicode character set.
See com.twitter.io.Bufs.US_ASCII
for a Java-friendly API.
Malformed and unmappable input is silently replaced see java.nio.charset.CodingErrorAction.REPLACE
Create and deconstruct 16-bit UTF buffers.
Create and deconstruct 16-bit UTF buffers.
See com.twitter.io.Bufs.UTF_16
for a Java-friendly API.
Malformed and unmappable input is silently replaced see java.nio.charset.CodingErrorAction.REPLACE
Create and deconstruct buffers encoded by the 16-bit UTF charset with big-endian byte order.
Create and deconstruct buffers encoded by the 16-bit UTF charset with big-endian byte order.
See com.twitter.io.Bufs.UTF_16BE
for a Java-friendly API.
Malformed and unmappable input is silently replaced see java.nio.charset.CodingErrorAction.REPLACE
Create and deconstruct buffers encoded by the 16-bit UTF charset with little-endian byte order.
Create and deconstruct buffers encoded by the 16-bit UTF charset with little-endian byte order.
See com.twitter.io.Bufs.UTF_16LE
for a Java-friendly API.
Malformed and unmappable input is silently replaced see java.nio.charset.CodingErrorAction.REPLACE
Create and deconstruct Utf-8 encoded buffers.
Create and deconstruct Utf-8 encoded buffers.
See com.twitter.io.Bufs.UTF_8
for a Java-friendly API.
Malformed and unmappable input is silently replaced see java.nio.charset.CodingErrorAction.REPLACE
Create a Buf
out of the given Bufs
.
Helps Buf implementations validate the arguments to slicing functions.
Decode a Buf
using the specified Charset
Byte equality between two buffers.
The 32-bit FNV-1 of Buf
Return a string representing the buffer contents in hexadecimal.
Buf wrapper-types (like Buf.ByteArray and Buf.ByteBuffer) provide Shared and Owned APIs, each of which with construction & extraction utilities.
The Owned APIs may provide direct access to a Buf's underlying implementation; and so mutating the data structure invalidates a Buf's immutability constraint. Users must take care to handle this data immutably.
The Shared variants, on the other hand, ensure that the Buf shares no state with the caller (at the cost of additional allocation).
Note: There are Java-friendly APIs for this object at
com.twitter.io.Bufs
.