Перемещение модуля

This commit is contained in:
Book Pauk
2022-10-31 13:11:58 +07:00
parent c6080fa423
commit ea5cf4e3bd
2 changed files with 2 additions and 2 deletions

View File

@@ -35,7 +35,7 @@ import vueComponent from '../vueComponent.js';
import wsc from './webSocketConnection';
import * as utils from '../../share/utils';
import * as cryptoUtils from '../../share/cryptoUtils';
import LockQueue from '../../share/LockQueue';
import LockQueue from '../../../server/core/LockQueue';
import packageJson from '../../../package.json';
const rotor = '|/-\\';

View File

@@ -1,53 +0,0 @@
class LockQueue {
constructor(queueSize = 100) {
this.queueSize = queueSize;
this.freed = true;
this.waitingQueue = [];
}
//async
get(take = true) {
return new Promise((resolve, reject) => {
if (this.freed) {
if (take)
this.freed = false;
resolve();
return;
}
if (this.waitingQueue.length < this.queueSize) {
this.waitingQueue.push({resolve, reject});
} else {
reject(new Error('Lock queue is too long'));
}
});
}
ret() {
if (this.waitingQueue.length) {
this.waitingQueue.shift().resolve();
} else {
this.freed = true;
}
}
//async
wait() {
return this.get(false);
}
retAll() {
while (this.waitingQueue.length) {
this.waitingQueue.shift().resolve();
}
}
errAll(error = 'rejected') {
while (this.waitingQueue.length) {
this.waitingQueue.shift().reject(new Error(error));
}
}
}
export default LockQueue;