Eyeon.Binary11 (eyeon v0.3.2)

Copy Markdown View Source

Shared primitives for Ion 1.1 binary encoding.

Ion 1.1 uses little-endian byte order with self-delimiting variable-length encodings: FlexUInt, FlexInt, FlexSym, FixedUInt, FixedInt.

Summary

Functions

read_fixed_int(data, len)

@spec read_fixed_int(binary(), non_neg_integer()) :: {integer(), binary()}

read_fixed_uint(data, len)

@spec read_fixed_uint(binary(), non_neg_integer()) :: {non_neg_integer(), binary()}

read_flex_int(data)

@spec read_flex_int(nonempty_binary()) :: {integer(), binary()}

read_flex_sym(data)

@spec read_flex_sym(nonempty_binary()) ::
  {:sid, non_neg_integer(), binary()} | {:text, String.t(), binary()}

read_flex_uint(data)

@spec read_flex_uint(nonempty_binary()) :: {non_neg_integer(), binary()}