cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
43 lines • 1.68 kB
TypeScript
/**
* Менеджер транзакций для CSElement
* Управляет жизненным циклом транзакций и координирует операции
*/
import { EventEmitter } from 'eventemitter3';
import { TransactionManager, Transaction, TransactionConfig, TransactionResult, LockManager } from '../types/transaction-interfaces';
/**
* Реализация менеджера транзакций
*/
export declare class TransactionManagerImpl extends EventEmitter implements TransactionManager {
private transactions;
private currentTransaction;
private lockManager;
private stats;
constructor(lockManager?: LockManager);
begin(config?: TransactionConfig): Promise<Transaction>;
getCurrentTransaction(): Transaction | null;
getTransaction(id: string): Transaction | null;
getActiveTransactions(): Transaction[];
withTransaction<T>(callback: (transaction: Transaction) => Promise<T>, config?: TransactionConfig): Promise<T>;
forceComplete(transactionId: string, commit: boolean): Promise<TransactionResult>;
cleanup(olderThan?: number): Promise<number>;
getStats(): {
averageDuration: number;
active: number;
committed: number;
rolledBack: number;
failed: number;
totalOperations: number;
totalDuration: number;
};
private handleTransactionEvent;
private generateTransactionId;
/**
* Получение менеджера блокировок
*/
getLockManager(): LockManager;
/**
* Очистка ресурсов
*/
destroy(): void;
}
//# sourceMappingURL=TransactionManagerImpl.d.ts.map