/** * GitDocumentDB * Copyright (c) Hidekazu Kubota * * This source code is licensed under the Mozilla Public License Version 2.0 * found in the LICENSE file in the root directory of this source tree. */ import { ColoredLogger, Task, TaskStatistics } from './types'; /** * TaskQueue * * @public */ export declare class TaskQueue { private _ulid; private _lock; private _logger; private _taskQueue; private _isTaskQueueWorking; /** * Task Statistics * * (Just for test purposes) */ private _statistics; private _currentTask; private _checkTimer; private _checkTimerInterval; /** * Constructor * * @remarks * Must call start() after new TaskQueue() * * @public */ constructor(logger: ColoredLogger); /** * Set logger * * @internal */ setLogger(logger: ColoredLogger): void; /** * Get current task ID * * @public */ currentTaskId(): string | undefined; /** * Get default task ID * * @remarks ID monotonically increases. It does not ensures the task order in _taskQueue. * * @internal */ newTaskId(): string; /** * Get enqueue time * * @remarks It ensures the task order in _taskQueue. * * @public */ getEnqueueTime(): string; /** * Push task to TaskQueue * * @internal */ pushToTaskQueue(task: Task): void; /** * Start TaskQueue * * @public */ start(): void; /** * Stop TaskQueue * * @public */ stop(): void; /** * Get length of TaskQueue * * @public */ length(): number; /** * Get current statistics * * @public */ currentStatistics(): TaskStatistics; /** * @internal */ waitCompletion(timeoutMsec: number): Promise; private _pullTargetTask; /** * checkTaskQueue * @internal */ private _checkTaskQueue; /** * execTask * @internal */ private _execTask; } //# sourceMappingURL=task_queue.d.ts.map