Crate edp_client

Crate edp_client 

Source
Expand description

Erlang Distribution Protocol (EDP) client implementation for Rust.

This crate provides a client implementation of the Erlang Distribution Protocol, targeting Erlang/OTP 26 and later versions. It enables Rust applications to communicate with Erlang nodes using the native distribution protocol.

§Features

  • Full protocol version 6 (OTP 23+) support
  • Mandatory OTP 26+ capability flags
  • EPMD (Erlang Port Mapper Daemon) client
  • Async I/O using Tokio
  • Type-safe message handling

§Security

The Erlang Distribution Protocol is not secure by itself. For production use:

  • Use TLS distribution with mutual authentication
  • Isolate distribution traffic on dedicated networks
  • Do not expose EPMD or distribution ports publicly

Re-exports§

pub use connection::Connection;
pub use connection::ConnectionConfig;
pub use errors::Error;
pub use errors::Result;
pub use flags::DistributionFlags;
pub use pid_allocator::PidAllocator;
pub use state_machine::ConnectionState;
pub use term_helpers::nil;
pub use types::Creation;
pub use types::SequenceId;

Modules§

connection
Distribution protocol connection orchestration.
control
Distribution protocol control messages.
digest
MD5 digest computation for distribution protocol handshake.
epmd_client
An EPMD (Erlang Port Mapper Daemon) protocol client.
errors
flags
Distribution protocol capability flags for Erlang/OTP 26+.
fragmentation
framing
handshake
Distribution protocol handshake messages and state machine.
pid_allocator
Process ID (PID) allocation for local processes.
state_machine
term_helpers
transport
types

Structs§

OwnedReadHalf
Owned read half of a TcpStream, created by into_split.