class

Movie::Remote::RemoteExtension

Inherits Movie::Extension < Reference < Object

RemoteExtension is the main coordinator for the remoting system. It manages the server, connections, and provides methods for remote communication.

Usage: extension = system.enable_remoting("127.0.0.1", 9000)

or

Movie::Remote::Remoting.get(system)

Constants

Log = ::Log.for(self)

Constructors

new(system : Movie::AbstractActorSystem, bind_host : String, bind_port : Int32, stripe_count : Int32 = StripedConnectionPool::DEFAULT_STRIPE_COUNT)
Source

Instance methods

actor_ref(path : ActorPath, type : T.class) : RemoteActorRef(T) forall T

Creates a remote actor reference for the given path and type. Uses the striped connection pool for parallel sending.

Source
actor_ref(path_str : String, type : T.class) : RemoteActorRef(T) forall T

Creates a remote actor reference from a path string.

Source
address
Source
connect(address : Address) : Connection

Legacy: single connection interface (uses first stripe)

Source
connection_for(address : Address) : Connection | Nil

Legacy: single connection getter

Source
local_port

Returns the actual bound port.

Source
path_for_actor(name : String) : ActorPath

Generates a path for a new actor under the user guardian.

Source
path_registry

Delegate to system's path registry for unified actor lookup

Source
pool_for(address : Address) : StripedConnectionPool

Gets or creates a connection pool to the given address.

Source
pool_stats

Returns statistics for all connection pools.

Source
register_actor(ref : Movie::ActorRefBase, path : ActorPath)

Registers a local actor with its path for remote access.

Source
start

Starts the remote extension (server).

Source
stop

Stops the remote extension.

Source
stripe_count
Source
unregister_actor(ref : Movie::ActorRefBase)

Unregisters a local actor.

Source