jspurefix
Version:
pure node js fix engine
65 lines (64 loc) • 2.92 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { ElasticBuffer, MsgView } from '../../buffer';
import { IJsFixConfig, IJsFixLogger } from '../../config';
import { FixSessionState } from './fix-session-state';
import { MsgTransport } from '../factory';
import { ILooseObject } from '../../collections/collection';
import * as events from 'events';
import { SessionState } from './session-state';
export declare abstract class FixSession extends events.EventEmitter {
readonly config: IJsFixConfig;
logReceivedMsgs: boolean;
protected timer: NodeJS.Timeout | null;
protected transport: MsgTransport | null;
manageSession: boolean;
checkMsgIntegrity: boolean;
protected readonly me: string;
protected readonly initiator: boolean;
protected readonly acceptor: boolean;
protected readonly sessionState: FixSessionState;
protected readonly sessionLogger: IJsFixLogger;
protected requestLogoutType: string;
protected respondLogoutType: string;
protected requestLogonType: string;
protected constructor(config: IJsFixConfig);
stateStr(theState: SessionState): string;
assignState(newState: SessionState): void;
setState(state: SessionState): void;
getState(): SessionState;
lastSentSeqNum(): number;
lastPeerSeqNum(): number;
sendLogon(): void;
private waitPromise;
run(transport: MsgTransport): Promise<number>;
protected expectedEndState(): boolean;
protected rxOnEnd(): void;
protected rxOnMsg(msgType: string, view: MsgView): void;
protected rxOnDone(): void;
protected rxOnError(e: Error): void;
protected rxOnDecoded(msgType: string, data: ElasticBuffer, ptr: number): void;
protected txOnError(e: Error): void;
protected txOnEncoded(msgType: string, data: string, hdr: ILooseObject): void;
protected unsubscribe(): void;
protected subscribe(): void;
protected validStateApplicationMsg(): boolean;
protected stateString(): string;
protected checkForwardMsg(msgType: string, view: MsgView): void;
private stopTimer;
protected terminate(error: Error): void;
protected peerLogout(view: MsgView): void;
protected send(msgType: string, obj: ILooseObject): void;
protected sendLogout(msg: string): void;
protected sessionLogout(): void;
done(): void;
reset(resetSeqNum?: number | null): void;
protected stop(error?: Error | null): void;
protected abstract onMsg(msgType: string, view: MsgView): void;
protected abstract onDecoded(msgType: string, txt: string): void;
protected abstract onEncoded(msgType: string, txt: string): void;
protected abstract onApplicationMsg(msgType: string, view: MsgView): void;
protected abstract onReady(view: MsgView): void;
protected abstract onStopped(error?: Error): void;
protected abstract onLogon(view: MsgView, user: string, password: string): boolean;
}