IrohBeam (iroh_beam v0.2.0)

View Source

Embedded, supervised Iroh transport for Elixir.

The default API is a general application transport. OTP 29 applications may additionally opt into IrohBeam.Distribution, which carries native Erlang distribution over Iroh without EPMD. The optional carrier preserves OTP cookies, RPC, links, monitors, and ticks but does not provide membership, topology management, or automatic reconnect. Each live endpoint or VM owns a distinct private identity.

Summary

Functions

Accepts one authenticated incoming connection on demand.

Dials an authenticated endpoint ID, address, or ticket with an application ALPN.

Runs a small operation on the managed native Tokio runtime.

Returns the versions built into the loaded native library.

Starts a supervised Iroh endpoint.

Functions

accept(endpoint, options \\ [])

Accepts one authenticated incoming connection on demand.

connect(endpoint, target, alpn, options \\ [])

Dials an authenticated endpoint ID, address, or ticket with an application ALPN.

native_smoke(options \\ [])

@spec native_smoke(keyword()) :: {:ok, :completed} | {:error, IrohBeam.Error.t()}

Runs a small operation on the managed native Tokio runtime.

native_versions()

@spec native_versions() :: {:ok, map()} | {:error, IrohBeam.Error.t()}

Returns the versions built into the loaded native library.

start_endpoint(options)

@spec start_endpoint(keyword()) :: GenServer.on_start()

Starts a supervised Iroh endpoint.