abstract class Movie::Cluster::ShardedEntityProvider

Direct Known Subclasses

Defined in:

movie/cluster/sharding/provider.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(name : String, message_type_name : String, settings : ShardingSettings, telemetry : ShardingTelemetry) #

[View source]

Instance Method Detail

abstract def activate(entity_id : String, shard_id : Int32) : Bool #

Returns true only when this request created a new local entity instance.


[View source]
abstract def authorize_shard(shard_id : Int32) : Nil #

[View source]
abstract def deliver(envelope : ShardingEnvelope, sender : Movie::ActorRefBase | Nil) : Nil #

[View source]
def handle_cluster_event(event : ClusterEvent) : Nil #

[View source]
abstract def local_entity_count : Int32 #

[View source]
def message_type_name : String #

[View source]
def name : String #

[View source]
abstract def passivate(entity_id : String) : Bool #

[View source]
abstract def passivate_idle(now : Time::Instant) : Int32 #

[View source]
abstract def passivate_shard(shard_id : Int32) : Nil #

[View source]
abstract def prepare_shard(shard_id : Int32) : Nil #

[View source]
abstract def retain_shards(shard_ids : Set(Int32)) : Nil #

[View source]
def settings : ShardingSettings #

[View source]
abstract def stop_all : Nil #

[View source]
abstract def suspend_ownership(release : Bool) : Nil #

[View source]