class
Movie::Cluster::PersistentEntityProvider(T)
Overview
Persistence integration lives outside the core sharding extension so ordinary clustered actors do not acquire a database/link-time dependency.
Defined in:
movie/persistence/sharding.crConstant Summary
-
Log =
::Log.for(self)
Constructors
Instance Method Summary
-
#activate(entity_id : String, shard_id : Int32) : Bool
Returns true only when this request created a new local entity instance.
- #authorize_shard(shard_id : Int32) : Nil
- #deliver(envelope : ShardingEnvelope, sender : Movie::ActorRefBase | Nil) : Nil
- #local_entity_count : Int32
- #passivate(entity_id : String) : Bool
- #passivate_idle(now : Time::Instant) : Int32
- #passivate_shard(shard_id : Int32) : Nil
- #prepare_shard(shard_id : Int32) : Nil
- #retain_shards(shard_ids : Set(Int32)) : Nil
- #stop_all : Nil
- #suspend_ownership(release : Bool) : Nil
Instance methods inherited from class Movie::Cluster::ShardedEntityProvider
activate(entity_id : String, shard_id : Int32) : Bool
activate,
authorize_shard(shard_id : Int32) : Nil
authorize_shard,
deliver(envelope : ShardingEnvelope, sender : Movie::ActorRefBase | Nil) : Nil
deliver,
handle_cluster_event(event : ClusterEvent) : Nil
handle_cluster_event,
local_entity_count : Int32
local_entity_count,
message_type_name : String
message_type_name,
name : String
name,
passivate(entity_id : String) : Bool
passivate,
passivate_idle(now : Time::Instant) : Int32
passivate_idle,
passivate_shard(shard_id : Int32) : Nil
passivate_shard,
prepare_shard(shard_id : Int32) : Nil
prepare_shard,
retain_shards(shard_ids : Set(Int32)) : Nil
retain_shards,
settings : ShardingSettings
settings,
stop_all : Nil
stop_all,
suspend_ownership(release : Bool) : Nil
suspend_ownership
Constructor methods inherited from class Movie::Cluster::ShardedEntityProvider
new(name : String, message_type_name : String, settings : ShardingSettings, telemetry : ShardingTelemetry)
new
Constructor Detail
def self.new(name : String, settings : ShardingSettings, system : Movie::AbstractActorSystem, cluster : Movie::Cluster::ClusterExtension, database : Movie::DatabaseExtension, telemetry : ShardingTelemetry, &resolver : String, Movie::Persistence::ShardLeaseToken -> Movie::ActorRef(T))
#
Instance Method Detail
def activate(entity_id : String, shard_id : Int32) : Bool
#
Description copied from class Movie::Cluster::ShardedEntityProvider
Returns true only when this request created a new local entity instance.