ExMaude. Backend. CNode
(ExMaude v0.4.0)
View Source
C-Node backend for ExMaude.
This backend communicates with Maude via a C-Node bridge process that uses Erlang distribution protocol for structured binary communication.
Features
- Full process isolation - C-Node crash doesn't affect the BEAM
- Ref-tagged Erlang distribution messages around Maude text commands
Trade-offs
- Requires compiled C code (maude_bridge binary)
- More complex deployment (native dependency)
- Requires Erlang distribution (epmd must be running)
Requirements
The C-Node bridge binary must be compiled:
cd c_src && makeOr it will be compiled automatically if elixir_make is configured.
Configuration
config :ex_maude,
backend: :cnode,
cnode_timeout: 30_000,
max_response_bytes: 16_777_216
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type t() :: %ExMaude.Backend.CNode{ cnode_name: atom() | nil, connected: boolean(), cookie: String.t(), maude_path: String.t() | nil, max_response_bytes: pos_integer(), os_pid: non_neg_integer() | nil, port: port() | nil }
Internal state for the C-Node backend GenServer.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.