InMemoryLeaseStore

class InMemoryLeaseStore(clock: Clock = Clock.systemUTC()) : LeaseStore

A LeaseStore in memory, for tests and single-process samples; its time comes from clock. One lock serializes every operation. A released lease is kept with expiry 0, so the next acquisition continues its epoch.

Constructors

Link copied to clipboard
constructor(clock: Clock = Clock.systemUTC())

Functions

Link copied to clipboard
open suspend override fun acquire(group: String, partition: Int, owner: String, ttl: Duration): Lease?
Link copied to clipboard
open suspend override fun heartbeat(service: String, node: String, address: String, ttl: Duration, groups: Set<String>): Member
Link copied to clipboard
open suspend override fun leave(service: String, node: String)
Link copied to clipboard
open suspend override fun members(service: String): List<Member>
Link copied to clipboard
open suspend override fun owners(group: String): List<Lease>
Link copied to clipboard
open suspend override fun release(group: String, partition: Int, owner: String): Boolean
Link copied to clipboard
open suspend override fun renew(group: String, partitions: Collection<Int>, owner: String, ttl: Duration): List<Lease>