Options
All
  • Public
  • Public/Protected
  • All
Menu

An implementation of an expiring lock which defines the expiration logic.

ExpiringLock used by a ExpiringResourceLocker for non-atomic operations. Emits an "expired" event when internal timer runs out and calls release function when this happen.

Hierarchy

  • EventEmitter
    • WrappedExpiringLock

Implements

Index

Constructors

constructor

Properties

Protected Readonly expiration

expiration: number

Protected Readonly innerLock

innerLock: Lock

Protected Readonly logger

logger: Logger = ...

Protected Optional timeoutHandle

timeoutHandle: NodeJS.Timeout

Static defaultMaxListeners

defaultMaxListeners: number

Readonly Static errorMonitor

errorMonitor: unique symbol

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.

Methods

addListener

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns WrappedExpiringLock

Private clearTimeout

  • clearTimeout(): void

emit

  • emit(event: string | symbol, ...args: any[]): boolean
  • Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

eventNames

  • eventNames(): (string | symbol)[]
  • Returns (string | symbol)[]

Private expire

  • expire(): Promise<void>

getMaxListeners

  • getMaxListeners(): number

listenerCount

  • listenerCount(event: string | symbol): number
  • Parameters

    • event: string | symbol

    Returns number

listeners

  • listeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

off

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns WrappedExpiringLock

on

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns WrappedExpiringLock

once

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns WrappedExpiringLock

prependListener

  • prependListener(event: string | symbol, listener: (...args: any[]) => void): WrappedExpiringLock
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns WrappedExpiringLock

prependOnceListener

  • prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): WrappedExpiringLock
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns WrappedExpiringLock

rawListeners

  • rawListeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

release

  • release(): Promise<void>

removeAllListeners

removeListener

  • removeListener(event: string | symbol, listener: (...args: any[]) => void): WrappedExpiringLock
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns WrappedExpiringLock

renew

  • renew(): void

Private scheduleTimeout

  • scheduleTimeout(): void

setMaxListeners

Static listenerCount

  • listenerCount(emitter: EventEmitter, event: string | symbol): number
  • deprecated

    since v4.0.0

    Parameters

    • emitter: EventEmitter
    • event: string | symbol

    Returns number