API Reference spawn v0.5.4

modules

Modules

Actors It's the client API for the Spawn actors. Through this module we interact with the actors by creating, invoking or configuring them.

Entity controls the entire lifecycle of the Host Actor.

EntityState Represents the internal state of an Actor.

Handles Invocation functions for Actor Entity All the public functions here assumes they are executing inside a GenServer

Handles lifecycle functions for Actor Entity All the public functions here assumes they are executing inside a GenServer

Entity.Supervisor is the Supervisor of all Host Actors in the system. This in turn is Partitioned using a PartitionSupervisor. We use a hash function based on each Actor's child_spec to partition the actors so that the entire Supervisor is not overloaded and lessening the possibility of cascading failures.

Invoker is responsible for making calls to the Host Function

Http is responsible for the communication between the Proxy and the Host application when using the HTTP protocol.

InvocationScheduler is a global process for the cluster that controls all Actions of type Schedule. This process is global to allow that even after restarts of a process or restart of an application we will still be able to perform invocations to actors, without the need for persistent storage such as a database.

This module provides functions for creating actor host pools for pooled actors.

StateManager Implements behavior that allows an Actor's state to be saved to persistent storage using database drivers.

StateManager.Behaviour Defines behavior that allows an Actor's state to be saved to persistent storage using database drivers.

Config defines methods that allow recovery of system settings

Config.Vapor Implements the Config behavior to allow the retrieval of system variables that will be included in the system configuration.

Tesla adapter using erqwest http client library

Node.Client Uses the HTTP interface to communicate with the application that owns the ActorHosts.

The ActorRegistry module provides a registry for actor entities.

HostActor Defines the type of Actor that will be registered in ActorRegistry.

Random implements the Actors.Registry.LoadBalance.Strategy behavior by searching the actors randomly, that is, if you have registered the same actor in N nodes and try to invoke it, the Registry can, if configured, use the random strategy to locate one of them in any of the nodes in a random way, as the name suggests.

RoundRobin implements the Actors.Registry.LoadBalance.Strategy behavior by searching the actors using a RoundRobin strategy, that is, it will try to distribute the load equally among the nodes.

LoadBalance.Strategy Define an interface to allow the search of actors in the Distributed Registry.

LoadBalance to call hosts

Documentation for Sidecar.

This module was copied and adapted from this project https://github.com/straw-hat-team/beam-monorepo

Actor Mesh Serverless Platform

Defines a distributed registry for all process

This handles state handoff in a cluster.

AnySerializer is responsible for serializing the protobuf type Any to Elixir structures and vice versa.