Jido.Signal.Serialization.ErlangTermSerializer (Jido Signal v1.0.0)

View Source

A serializer that uses Erlang's built-in term format.

This serializer is particularly useful for Erlang/Elixir clusters where data needs to be passed between nodes efficiently. The Erlang term format preserves the exact structure and types of Elixir/Erlang data.

Features

  • Preserves exact data types (atoms, tuples, etc.)
  • Efficient for inter-node communication
  • Compact binary representation
  • No intermediate transformations needed

Usage

# Configure as default serializer
config :jido, :default_serializer, Jido.Signal.Serialization.ErlangTermSerializer

# Or use explicitly
Signal.serialize(signal, serializer: Jido.Signal.Serialization.ErlangTermSerializer)

Summary

Functions

Deserialize given Erlang binary data back to the original term.

Serialize given term to Erlang binary format.

Checks if the given binary is a valid Erlang term.

Functions

deserialize(binary, config \\ [])

Deserialize given Erlang binary data back to the original term.

For Erlang terms, type conversion is handled automatically since the format preserves the original structure. However, if a specific type is requested, we can still convert it.

serialize(term, opts \\ [])

Serialize given term to Erlang binary format.

valid_erlang_term?(binary)

@spec valid_erlang_term?(binary()) :: boolean()

Checks if the given binary is a valid Erlang term.