abstract class Movie::Cluster::SplitBrainLease

Overview

A strongly consistent, process-external lease. Implementations must return at most one unexpired owner from acquire/current and must fence renew/release with the token version.

Direct Known Subclasses

Defined in:

movie/cluster/split_brain.cr

Instance Method Summary

Instance Method Detail

abstract def acquire(owner : String, duration : Time::Span) : SplitBrainLeaseToken | Nil #

[View source]
abstract def current : SplitBrainLeaseToken | Nil #

[View source]
abstract def name : String #

[View source]
abstract def release(token : SplitBrainLeaseToken) : Bool #

[View source]
abstract def renew(token : SplitBrainLeaseToken, duration : Time::Span) : SplitBrainLeaseToken | Nil #

[View source]