class
Movie::Cluster::ClusterExtension
- Movie::Cluster::ClusterExtension
- Movie::Extension
- Reference
- Object
Defined in:
movie/cluster/extension.crConstant Summary
-
DAEMON_NAME =
CLUSTER_DAEMON_NAME -
Log =
::Log.for(self) -
PROTOCOL_TAG =
"movie.cluster.protocol.v1"
Constructors
Instance Method Summary
- #await_removed(timeout_span : Time::Span = 10.seconds) : Nil
- #await_up(timeout_span : Time::Span = 10.seconds) : Nil
- #converged? : Bool
-
#down(target : UniqueAddress) : Bool
Manual downing never runs from reachability alone.
-
#handle_protocol(message : ProtocolMessage, sender_path : Movie::ActorPath | Nil, remote_address : Movie::Address | Nil, remote_node_uid : String | Nil) : Nil
Internal actor entrypoint.
-
#join(seed : Movie::Address) : Nil
Adds a seed dynamically and sends an idempotent join immediately.
-
#leave : Bool
Graceful leave is coordinated by the current reachable leader and is terminal for this process incarnation.
-
#register_departure_guard(name : String, &guard : UniqueAddress -> Bool) : Nil
Registers an advanced extension-level barrier for graceful departure.
- #self_member : Member
- #self_unique_address : UniqueAddress
- #settings : ClusterSettings
- #snapshot : ClusterSnapshot
-
#start : Bool
Called when the extension is registered with the system.
- #stats : ClusterStats
-
#stop : Nil
Called when the system is shutting down.
- #subscribe(subscriber : Movie::ActorRef(ClusterEvent), replay_state : Bool = true) : Nil
-
#unregister_departure_guard(name : String) : Nil
Removes a previously registered graceful-departure barrier.
- #unsubscribe(subscriber : Movie::ActorRef(ClusterEvent)) : Nil
- #up? : Bool
Constructor Detail
Instance Method Detail
Manual downing never runs from reachability alone. The operator chooses the exact process incarnation after resolving any partition ambiguity.
Internal actor entrypoint. Remote protocol traffic must carry both the actor address and process incarnation authenticated by remoting.
Adds a seed dynamically and sends an idempotent join immediately.
Graceful leave is coordinated by the current reachable leader and is terminal for this process incarnation.
Registers an advanced extension-level barrier for graceful departure.
The callback must be non-blocking and return true only when member may
advance from Leaving to Exiting. Exceptions fail closed for that round.
Called when the extension is registered with the system. Override to perform initialization.
Called when the system is shutting down. Override to cleanup resources (close connections, stop services, etc.)
Removes a previously registered graceful-departure barrier.