Anoma.Node.Transport.EngineProxy (Anoma v0.25.0)

I am an engine proxy and I serve as the single point of contact to a remote node.

I handle the outgoing messages for the node I proxy. For any given message I receive, I look for a connection to the remote node to send the message. These connections can be TCP connection, websockets, or any other connection type.

The incoming messages are sent to the right engine directly by the connection.

Summary

Types

t()

I am the state of the proxy engine.

Functions

Returns a specification to start this module under a supervisor.

I am the init function for an engine proxy. I register this process as a proxy engine in the registry for the given remote node id.

Types

@type t() :: %Anoma.Node.Transport.EngineProxy{
  async_queue: [term()],
  node_id: String.t() | nil,
  remote_node_id: String.t() | nil,
  sync_queue: [term()],
  type: atom() | nil
}

I am the state of the proxy engine.

My fields contain information to facilitate the connection with a remote engine.

Fields

  • :remote_id - the id of the remote engine.
  • :type - the type of the connection (e.g., :router, :mempool, ..)

Functions

Link to this function

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

I am the init function for an engine proxy. I register this process as a proxy engine in the registry for the given remote node id.

Link to this function

start_link(args)