git-documentdb
Version:
Offline-first database that syncs with Git
112 lines • 2.27 kB
TypeScript
/**
* 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<boolean>;
private _pullTargetTask;
/**
* checkTaskQueue
* @internal
*/
private _checkTaskQueue;
/**
* execTask
* @internal
*/
private _execTask;
}
//# sourceMappingURL=task_queue.d.ts.map