Anoma.Node.Transport.Proxy.Engine (Anoma v0.34.0)

I am an engine proxy. I proxy messages for a remote engine. I am a child of the Node proxy.

I am, for all intents and purposes, an engine. If a node sends a message to, e.g., a mempool, I will receive these as if I were a mempool. It is my job to proxy these via the proper transport to a remote node.

I exist because I will only receive messages for a specific engine and can therefore make it easier to know which messages are meant for which engine.

Summary

Types

t()

I am the state of Anoma.Node.Transport.Proxy.Engine.

Functions

Returns a specification to start this module under a supervisor.

Types

t()

@type t() :: %Anoma.Node.Transport.Proxy.Engine{
  engine: atom(),
  node_id: String.t(),
  remote_node_id: String.t()
}

I am the state of Anoma.Node.Transport.Proxy.Engine.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

init(args)

@spec init(startup_options()) ::
  {:ok, t()}
  | {:ok, t(), timeout() | :hibernate | {:continue, continue_arg :: term()}}
  | :ignore
  | {:stop, reason :: term()}

start_link(args \\ [])

@spec start_link(startup_options()) :: GenServer.on_start()