@fraserdarwent/xapi-node
Version:
This project is made possible to get data from Forex market, execute market or limit order with NodeJS/JS through WebSocket connection
44 lines (43 loc) • 1.71 kB
TypeScript
import { AddTransaction, Transaction, Transactions } from '../interface/Interface';
import { Listener } from '../modules/Listener';
import { Time, Timer } from '..';
import { ConnectionStatus, TransactionType } from '../enum/Enum';
import { WebSocketWrapper } from '../modules/WebSocketWrapper';
export declare class Queue extends Listener {
private _status;
get status(): ConnectionStatus;
set status(status: ConnectionStatus);
transactions: Transactions;
lastReceivedMessage: Time | null;
private type;
private messageQueues;
private _transactionIdIncrement;
private messagesElapsedTime;
private messageSender;
private rateLimit;
protected openTimeout: Timer;
protected WebSocket: WebSocketWrapper;
private get queueSize();
constructor(rateLimit: number, type: TransactionType);
stopTimer(): void;
private addQueu;
private addElapsedTime;
private isRateLimitReached;
protected resetMessageTube(): void;
createTransactionId(): string;
protected addTransaction(newTransaction: AddTransaction): Transaction<null, null>;
rejectOldTransactions(): void;
removeOldTransactions(): {
removed: number;
};
private sendJSON;
protected resolveTransaction(returnData: any, time: Time, transaction: Transaction<any, any>): void;
protected rejectTransaction(json: {
code: string;
explain: string;
}, transaction: Transaction<any, any>, interrupted?: boolean, received?: Time): void;
protected sendMessage(transaction: Transaction<any, any>, addQueu: boolean): boolean;
private callCleanQueuTimeout;
private tryCleanQueue;
isQueueContains(command: string): boolean;
}