Protox.Types (Protox v1.2.2) View Source

This module describes types that define a protobuf message.

See https://developers.google.com/protocol-buffers/docs/encoding#structure.

Link to this section Summary

Types

This type give more details on how a field is encoded.

All types that can be used as a key in map field.

The wire type of a field: it tells how a field is encoded (scalar, repeated, etc.).

All types that can be stored in a protobuf message.

Link to this section Types

Specs

kind() :: {:default, any()} | :packed | :unpacked | :map | {:oneof, atom()}

This type give more details on how a field is encoded.

Specs

map_key_type() ::
  :int32
  | :int64
  | :uint32
  | :uint64
  | :sint32
  | :sint64
  | :fixed32
  | :fixed64
  | :sfixed32
  | :sfixed64
  | :bool
  | :string

All types that can be used as a key in map field.

Specs

The wire type of a field: it tells how a field is encoded (scalar, repeated, etc.).

Specs

type() ::
  :fixed32
  | :sfixed32
  | :float
  | :fixed64
  | :sfixed64
  | :double
  | :int32
  | :uint32
  | :sint32
  | :int64
  | :uint64
  | :sint64
  | :bool
  | :string
  | :bytes
  | {:enum, atom()}
  | {:message, atom()}
  | {map_key_type(), type()}

All types that can be stored in a protobuf message.

Specs

wire_32bits() :: 5

Specs

wire_64bits() :: 1

Specs

wire_delimited() :: 2

Specs

wire_varint() :: 0