Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 8x 8x 13x 8x 86x 86x 120x 120x 4x 4x 3x 3x 5x 5x | // ── Semaphore ─────────────────────────────────────────────────────────────────
export class TryAcquireMissError extends Error {
constructor() {
super('Try-acquire miss: semaphore has no available tokens')
this.name = 'TryAcquireMissError'
}
}
export let isTryAcquireMiss = function isTryAcquireMiss(error: unknown): boolean {
return error instanceof TryAcquireMissError
}
export class LeaseReleasedError extends Error {
constructor() {
super('Semaphore lease released')
this.name = 'LeaseReleasedError'
}
}
// ── Session ───────────────────────────────────────────────────────────────────
export class SessionClosedError extends Error {
constructor(message = 'Session closed') {
super(message)
this.name = 'SessionClosedError'
}
}
export class SessionExpiredError extends Error {
constructor(message = 'Session expired') {
super(message)
this.name = 'SessionExpiredError'
}
}
// ── Election ──────────────────────────────────────────────────────────────────
export class LeaderChangedError extends Error {
constructor() {
super('Leader changed')
this.name = 'LeaderChangedError'
}
}
export class ObservationEndedError extends Error {
constructor() {
super('Election observation ended')
this.name = 'ObservationEndedError'
}
}
|