Class NotificationsManager

Hierarchy

  • CreateDestroyStartStop
    • NotificationsManager

Constructors

  • Parameters

    • __namedParameters: {
          acl: ACL;
          db: DB;
          keyRing: KeyRing;
          logger: Logger;
          messageCap: number;
          nodeManager: NodeManager;
          sendNotificationRetries: number;
          sendNotificationRetryIntervalTimeMax: number;
          sendNotificationRetryIntervalTimeMin: number;
          taskManager: TaskManager;
      }
      • acl: ACL
      • db: DB
      • keyRing: KeyRing
      • logger: Logger
      • messageCap: number
      • nodeManager: NodeManager
      • sendNotificationRetries: number
      • sendNotificationRetryIntervalTimeMax: number
      • sendNotificationRetryIntervalTimeMin: number
      • taskManager: TaskManager

    Returns NotificationsManager

Properties

[initLock]: RWLockWriter
acl: ACL
db: DB
inboxNotificationIdGenerator: (() => NotificationId)

Type declaration

keyRing: KeyRing
logger: Logger
messageCap: number
nodeManager: NodeManager
notificationsManagerDbPath: readonly (string | Buffer)[] = ...
notificationsManagerInboxDbPath: readonly (string | Buffer)[] = ...

Inbox Notifications NotificationsManager/inbox/{NotificationId} -> {NotificationDB}

notificationsManagerOutboxDbPath: readonly (string | Buffer)[] = ...

Outbox Notifications NotificationsManager/outbox/{NotificationId} -> {NotificationDB}

outboxNotificationIdGenerator: (() => NotificationId)

Type declaration

sendNotificationHandler: TaskHandler = ...
sendNotificationHandlerId: TaskHandlerId = ...
sendNotificationRetries: number
sendNotificationRetryIntervalTimeMax: number
sendNotificationRetryIntervalTimeMin: number
taskManager: TaskManager

Accessors

  • get [destroyed](): boolean
  • Returns boolean

  • get [eventHandled](): ReadonlyWeakSet<Event>
  • Returns ReadonlyWeakSet<Event>

  • get [eventHandlers](): ReadonlyMap<string, Set<EventHandlerInfo>>
  • Returns ReadonlyMap<string, Set<EventHandlerInfo>>

  • get [eventTarget](): EventTarget
  • Returns EventTarget

  • get [handleEventError](): ((evt) => void)
  • Returns ((evt) => void)

      • (evt): void
      • Parameters

        • evt: EventError

        Returns void

  • get [running](): boolean
  • Returns boolean

  • get [statusP](): Promise<Status>
  • Returns Promise<Status>

  • get [status](): Status
  • Returns Status

Methods

  • Parameters

    • type: string
    • callback: null | EventListenerOrEventListenerObject
    • Optional options: boolean | AddEventListenerOptions

    Returns void

  • Parameters

    • event: Event

    Returns boolean

  • Read a notification

    Parameters

    • __namedParameters: {
          limit?: number;
          order?: "asc" | "desc";
          seek?: number | Date | NotificationId;
          seekEnd?: number | Date | NotificationId;
          tran?: DBTransaction;
          unread?: boolean;
      } = {}
      • Optional limit?: number
      • Optional order?: "asc" | "desc"
      • Optional seek?: number | Date | NotificationId
      • Optional seekEnd?: number | Date | NotificationId
      • Optional tran?: DBTransaction
      • Optional unread?: boolean

    Returns AsyncGenerator<Notification, any, unknown>

  • Read pending notifications in the outbox.

    Parameters

    • __namedParameters: {
          limit?: number;
          order?: "asc" | "desc";
          seek?: number | Date | NotificationId;
          seekEnd?: number | Date | NotificationId;
          tran?: DBTransaction;
      } = {}
      • Optional limit?: number
      • Optional order?: "asc" | "desc"
      • Optional seek?: number | Date | NotificationId
      • Optional seekEnd?: number | Date | NotificationId
      • Optional tran?: DBTransaction

    Returns AsyncGenerator<Notification, any, unknown>

  • Parameters

    • type: string
    • callback: null | EventListenerOrEventListenerObject
    • Optional options: boolean | EventListenerOptions

    Returns void

  • Send a notification to another node The data parameter must match one of the NotificationData types outlined in ./types

    Parameters

    • __namedParameters: {
          data: NotificationData;
          nodeId: NodeId;
          retries?: number;
          retryIntervalTimeMax?: number;
          retryIntervalTimeMin?: number;
      }
      • data: NotificationData
      • nodeId: NodeId
      • Optional retries?: number
      • Optional retryIntervalTimeMax?: number
      • Optional retryIntervalTimeMin?: number
    • Optional tran: DBTransaction

    Returns Promise<{
        notificationId: NotificationId;
        sendP: Promise<void>;
    }>

  • Parameters

    • __namedParameters: {
          fresh?: boolean;
      } = {}
      • Optional fresh?: boolean

    Returns Promise<void>

  • Parameters

    • __namedParameters: {
          acl: ACL;
          db: DB;
          fresh?: boolean;
          keyRing: KeyRing;
          logger?: Logger;
          messageCap?: number;
          nodeManager: NodeManager;
          sendNotificationRetries?: number;
          sendNotificationRetryIntervalTimeMax?: number;
          sendNotificationRetryIntervalTimeMin?: number;
          taskManager: TaskManager;
      }
      • acl: ACL
      • db: DB
      • Optional fresh?: boolean
      • keyRing: KeyRing
      • Optional logger?: Logger
      • Optional messageCap?: number
      • nodeManager: NodeManager
      • Optional sendNotificationRetries?: number
      • Optional sendNotificationRetryIntervalTimeMax?: number
      • Optional sendNotificationRetryIntervalTimeMin?: number
      • taskManager: TaskManager

    Returns Promise<NotificationsManager>

Generated using TypeDoc