This documentation lists the functions generated with each Elixir structure associated to a protobuf message or enum.
@spec encode(struct() :: {:ok, iodata()} | {:error, any()}
encode(msg)
Encode msg
into an iodata
suitable for files or sockets.
Returns {:ok, iodata}
when the encoding was successful and {:error, description}
in case of an encoding error.
@spec encode!(struct() :: iodata() | no_return()
encode!(msg)
Throwing version of encode/1
.
@spec decode(binary() :: {:ok, struct()} | {:error, any()}
decode(data)
Decode binary data
into an structure with the type of the module on which this function is called.
Returns {:ok, msg}
when the decoding was successful and {:error, description}
in case of an decoding error.
@spec decode!(binary() :: struct() | no_return()
decode!(data)
Throwing version of decode/1
.
@spec default(atom() :: {:ok, boolean() | integer() | String.t() | binary() | float()} | {:error, atom()}
default(field_name)
Get the default value of a message field. Note that for Protobuf 3, the default value is mandated by the Google reference documentation.
@spec clear_unknown_fields(struct() :: struct()
clear_unknown_fields(msg)
Returns a copy of msg
with all unknown fields removed.
@spec unknown_fields(struct() :: [{non_neg_integer(), Protox.Types.tag(), binary()}]
unknown_fields(msg)
Get the unknown fields that may have been encountered when decoding data.
See Types section to get a description of Protox.Types.tag
.
@spec unknown_fields_name() :: atom()
unknown_fields_name(msg)
Get the name of the field that stores unknown fields.
@spec schema() :: Protox.MessageSchema.t()
schema()
Return the underlying definition of a message, which contains information such as:
- syntax (protobuf 2 or 3)
- required fields
- types of fields
@spec default() :: atom()
default()
Get the default value of an enum.
@spec encode(atom() :: integer() | atom()
encode(enum_entry)
Get the integer value of an enum entry. If enum_entry
does not exist in the enum, it is returned as is.
@spec decode(integer() :: atom() | integer()
decode(value)
Get the enum entry of an integer value. If value
does not correpond to any entry in the enum, it is returned as is.
@spec constants() :: [{integer(), atom()}]
constants()
Get the list of all the constants of the enum that correponds to the module on which this function has been called.