UNPKG

rxpoweredup

Version:

A Typescript RxJS-based library for controlling LEGO Powered UP hubs & peripherals.

25 lines (24 loc) 1.11 kB
import { Observable } from 'rxjs'; import type { GenericErrorInboundMessage, IDisposable, ILogger } from '../../../types'; import { IQueueTask } from './i-queue-task'; import { IChannel } from '../i-channel'; import { ITaskVisitor } from './i-task-visitor'; export declare class TaskQueue implements IDisposable { private readonly channel; private readonly messageSendTimeout; private readonly maxMessageSendAttempts; private readonly initialMessageSendRetryDelay; private readonly logger; private readonly genericErrorsStream; private readonly taskVisitor; private isDisposed; private readonly queue; constructor(channel: IChannel, messageSendTimeout: number, maxMessageSendAttempts: number, initialMessageSendRetryDelay: number, logger: ILogger, genericErrorsStream: Observable<GenericErrorInboundMessage>, taskVisitor: ITaskVisitor); enqueueTask(task: IQueueTask<unknown>): void; dispose(): void; private executeTask; private removeTaskFromQueue; private createRetryConfig; private logTimeoutError; private logMaxRetriesReachedError; }