UNPKG

@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
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; }