class Movie::Cluster::ClusterRouterRef(T)

Overview

A typed logical reference that follows a receptionist service key.

Defined in:

movie/cluster/router/ref.cr

Constant Summary

Log = ::Log.for(self)

Constructors

Instance Method Summary

Instance methods inherited from class Movie::Cluster::ClusterRouterRefBase

close : Bool close, pool_owned? : Bool pool_owned?, routee_count : Int32 routee_count

Constructor methods inherited from class Movie::Cluster::ClusterRouterRefBase

new new

Instance methods inherited from class Movie::ActorRefBase

id : Int32 id, path : ActorPath | Nil path, path=(path : ActorPath | Nil) path=, remote_peer_address : Address | Nil remote_peer_address, remote_peer_node_uid : String | Nil remote_peer_node_uid, send_system(message : SystemMessage) send_system

Constructor methods inherited from class Movie::ActorRefBase

new(id : Int32, path : ActorPath | Nil = nil) new

Constructor Detail

def self.new(system : Movie::AbstractActorSystem, owner : Movie::ClusterRoutersExtension, cluster : Movie::Cluster::ClusterExtension, receptionist : Movie::ClusterReceptionistExtension, key : ServiceKey(T), settings : ClusterRouterSettings, routing_key : Proc(T, String) | Nil, pool_owned : Bool) #

[View source]

Instance Method Detail

def <<(message : T) : Nil #

[View source]
def ask(message : T, response_type : R.class, timeout : Time::Span = 30.seconds) : Movie::Future(R) forall R #

[View source]
def close : Bool #
Description copied from class Movie::Cluster::ClusterRouterRefBase

Concrete entrypoints are required for virtual dispatch across generic subclasses in Crystal. Every runtime instance overrides both methods.


[View source]
def key : ServiceKey(T) #

[View source]
def pool_owned? : Bool #

[View source]
def routee_count : Int32 #

[View source]
def routee_paths : Array(Movie::ActorPath) #

[View source]
def send_system(message : Movie::SystemMessage) : Nil #

[View source]
def settings : ClusterRouterSettings #

[View source]
def start(subscriber : Movie::ActorRef(ReceptionistListing(T))) : Nil #

[View source]
def tell_from(sender : Movie::ActorRefBase | Nil, message : T) : Nil #

[View source]
def update_listing(listing : ReceptionistListing(T)) : Nil #

Internal listing observer entrypoint.


[View source]