Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ManualServiceDiscovery<S>

Discovery implementation for manually adding or removing available services.

Type parameters

Hierarchy

Index

Constructors

constructor

Properties

Protected Readonly availableEvent

availableEvent: Event<ManualServiceDiscovery<S>, [service: S]>

Event used to emit when a service is available.

Protected Readonly debug

debug: Debugger

Debugger that can be used to output debug messages for the discovery.

Protected Readonly unavailableEvent

unavailableEvent: Event<ManualServiceDiscovery<S>, [service: S]>

Event used to emit when a service is no longer available.

Protected Readonly updateEvent

updateEvent: Event<ManualServiceDiscovery<S>, [service: S, previousService: S]>

Event used to emit when a service has been updated.

Accessors

destroyed

  • get destroyed(): boolean

onAvailable

  • get onAvailable(): Subscribable<this, [service: S]>

onDestroy

  • get onDestroy(): Subscribable<this, []>

onError

  • get onError(): Subscribable<this, [err: Error]>

onUnavailable

  • get onUnavailable(): Subscribable<this, [service: S]>
  • Event emitted whenever a service is detected to be unavailable.

    Returns Subscribable<this, [service: S]>

onUpdate

  • get onUpdate(): Subscribable<this, [service: S, previousService: S]>
  • Event emitted when a service is available and is updated.

    Returns Subscribable<this, [service: S, previousService: S]>

services

  • get services(): S[]

Methods

add

  • add(service: S): void

and

destroy

  • destroy(): Promise<void>

filter

find

findAll

get

  • get(id: string): null | S

Protected logAndEmitError

  • logAndEmitError(error: unknown, message?: string): void

map

remove

  • remove(service: string | S): void

Protected removeService

  • removeService(service: string | S): null | S

set

  • set(services: Iterable<S>): void

Protected setServices

  • setServices(available: Iterable<S>): void

Protected updateService

  • updateService(service: S): null | S
  • Add or update a service that has been found. This will register the service and emit suitable events. Services are identified internally using their identifier. Services will be treated as new if their id does is not currently tracked, and as updates if their id is currently tracked.

    Parameters

    • service: S
      • service to update

    Returns null | S

    previous service or null if not registered

Generated using TypeDoc