free-fx
Version:
74 lines (73 loc) • 3.51 kB
TypeScript
/// <reference types="node" />
import { Server, Socket } from 'net';
import Websocket from 'ws';
import { Field } from './fields/Field';
import * as Constants from './fieldtypes';
import { FIXParser } from './FIXParser';
import { ConnectionType, Options as FIXParserOptions, Protocol } from './FIXParserBase';
import { IFIXParser } from './IFIXParser';
import { Message } from './message/Message';
import { MessageBuffer } from './util/MessageBuffer';
import { Parser, Version } from './util/util';
type Options = Pick<FIXParserOptions, 'host' | 'port' | 'protocol' | 'sender' | 'target' | 'heartbeatIntervalSeconds' | 'fixVersion' | 'logging' | 'onMessage' | 'onOpen' | 'onError' | 'onClose' | 'onReady'>;
declare class FIXServer implements IFIXParser {
static version: Version;
parserName: Parser;
fixParser: FIXParser;
host: string;
port: number;
protocol: Protocol;
server: Server | Websocket.Server | null;
connected: boolean;
sender: string;
target: string;
heartBeatInterval: number;
fixVersion: string;
nextNumIn: number;
messageCounter: number;
heartBeatIntervalId: ReturnType<typeof setInterval> | null;
messageBufferIn: MessageBuffer;
messageBufferOut: MessageBuffer;
socket: WebSocket | Socket | null;
isLoggedIn: boolean;
connectionType: ConnectionType;
private static onMessageCallback;
private static onOpenCallback;
private static onErrorCallback;
private static onCloseCallback;
private static onReadyCallback;
createServer({ host, port, protocol, sender, target, heartbeatIntervalSeconds, fixVersion, logging, onMessage, onOpen, onError, onClose, onReady, }?: Options): void;
private initialize;
getNextTargetMsgSeqNum(): number;
setNextTargetMsgSeqNum(nextMsgSeqNum: number): number;
getTimestamp(dateObject?: Date): string;
createMessage(...fields: Field[]): Message;
parse(data: string): Message[];
send(message: Message): void;
isConnected(): boolean;
private resetSession;
close(): void;
destroy(): void;
stopHeartbeat(): void;
startHeartbeat(heartBeatInterval?: number): void;
}
export { AllocPositionEffectEnum as AllocPositionEffect } from './fieldtypes/AllocPositionEffectEnum';
export { EncryptMethodEnum as EncryptMethod } from './fieldtypes/EncryptMethodEnum';
export { ExecTypeEnum as ExecType } from './fieldtypes/ExecTypeEnum';
export { FieldEnum as Fields } from './fieldtypes/FieldEnum';
export { HandlInstEnum as HandlInst } from './fieldtypes/HandlInstEnum';
export { MarketDepthEnum as MarketDepth } from './fieldtypes/MarketDepthEnum';
export { MDEntryTypeEnum as MDEntryType } from './fieldtypes/MDEntryTypeEnum';
export { MDUpdateTypeEnum as MDUpdateType } from './fieldtypes/MDUpdateTypeEnum';
export { MessageEnum as Messages } from './fieldtypes/MessageEnum';
export { OrderStatusEnum as OrderStatus } from './fieldtypes/OrderStatusEnum';
export { OrderTypesEnum as OrderTypes } from './fieldtypes/OrderTypesEnum';
export { SideEnum as Side } from './fieldtypes/SideEnum';
export { SubscriptionRequestTypeEnum as SubscriptionRequestType } from './fieldtypes/SubscriptionRequestTypeEnum';
export { TimeInForceEnum as TimeInForce } from './fieldtypes/TimeInForceEnum';
export { Protocol } from './FIXParserBase';
export { Options } from './FIXParserBase';
export { Constants };
export { Field };
export { Message };
export { FIXServer };