View Source API Reference spawn v1.1.1
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.
An Elixir module representing a GenStage consumer responsible for handling
events initiated by CallerProducer
and interacting with actors in the system.
Actors.Actor.CallerProducer
This module defines a GenStage producer responsible for managing actor-related operations such as retrieving actor state, actor registration, actor spawning, and actor invocation.
Manages the lifecycle of the Host Actor through the Entity
module.
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.
Custom PubsubDispatcher dispatcher to send subscriber metadata with the message.
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.PersistentTermConfig
Implements the Config
behavior
to allow the retrieval of system variables
that will be included in the system configuration.
Error raised when the Actor already activated on another node.
Error raised when the Actor understands the request but refuses to authorize it.
Initializes the %K8s.Conn{} struct depending on the mix environment.
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
Acl
is a acces control list helper module
AclEvaluator
is responsible for evaluating whether a request can be accepted
or not based on the informed Access Control List policy.
This module must be used by initializing the container via initContainers
This module was copied and adapted from this project https://github.com/straw-hat-team/beam-monorepo
This is the cache for the primary storage.
Defines a distributed registry for all process
Node subscriber
Behavior for managing the state of clustered processes a.k.a lookups.
This handles state handoff in a cluster.
StateHandoffPersistentController
is a StateHandoff Controller basead on Statestore
mechanism.
This handles invocation scheduler stream
This handles state handoff in a cluster.
AnySerializer
is responsible for serializing the protobuf type Any to Elixir
structures and vice versa.