Class MsgPackWriter

java.lang.Object
io.camunda.zeebe.msgpack.spec.MsgPackWriter

public final class MsgPackWriter extends Object
This class uses signed value semantics. That means, an integer 0xffff_ffff is treated as -1 instead of 2^33 - 1, etc.
  • Constructor Details

    • MsgPackWriter

      public MsgPackWriter()
  • Method Details

    • wrap

      public MsgPackWriter wrap(org.agrona.MutableDirectBuffer buffer, int offset)
    • writeArrayHeader

      public MsgPackWriter writeArrayHeader(int size)
    • writeMapHeader

      public MsgPackWriter writeMapHeader(int size)
    • reserveMapHeader

      public void reserveMapHeader()
      use this method if the map size is not known upfront. Record the offset before calling this method and then use writeReservedMapHeader(int, int) later.
    • writeReservedMapHeader

      public void writeReservedMapHeader(int offset, int size)
      does not change the writer's offset
    • writeRaw

      public MsgPackWriter writeRaw(org.agrona.DirectBuffer buffer)
    • writeRaw

      public MsgPackWriter writeRaw(org.agrona.DirectBuffer buff, int offset, int length)
    • writeString

      public MsgPackWriter writeString(org.agrona.DirectBuffer bytes)
    • writeString

      public MsgPackWriter writeString(org.agrona.DirectBuffer buff, int offset, int length)
    • writeInteger

      public MsgPackWriter writeInteger(long v)
      Integer is the term in the msgpack spec for all natural numbers
      Parameters:
      v - value to write
      Returns:
      this object
    • writeStringHeader

      public MsgPackWriter writeStringHeader(int len)
    • writeBinary

      public MsgPackWriter writeBinary(org.agrona.DirectBuffer data)
    • writeBinary

      public MsgPackWriter writeBinary(org.agrona.DirectBuffer data, int offset, int length)
    • writeBinaryHeader

      public MsgPackWriter writeBinaryHeader(int len)
    • writeBoolean

      public MsgPackWriter writeBoolean(boolean val)
    • writeNil

      public MsgPackWriter writeNil()
    • writeFloat

      public MsgPackWriter writeFloat(double value)
      Float is the term in the msgpack spec
      Parameters:
      value - to write
      Returns:
      this object
    • getOffset

      public int getOffset()
    • getEncodedMapHeaderLenght

      public static int getEncodedMapHeaderLenght(int size)
    • getEncodedArrayHeaderLenght

      public static int getEncodedArrayHeaderLenght(int size)
    • getEncodedStringHeaderLength

      public static int getEncodedStringHeaderLength(int len)
    • getEncodedStringLength

      public static int getEncodedStringLength(int len)
    • getEncodedLongValueLength

      public static int getEncodedLongValueLength(long v)
    • getEncodedBooleanValueLength

      public static int getEncodedBooleanValueLength()
    • getEncodedBinaryValueLength

      public static int getEncodedBinaryValueLength(int len)