@glue42/bbg-market-data
Version:
A high-level API that wraps existing Glue42 Bloomberg Bridge Market Data interop methods. The API is based on the jBloomberg open source wrapper.
47 lines (46 loc) • 2 kB
TypeScript
import { CallbackRegistry, UnsubscribeFunction } from "callback-registry";
import { RequestId } from "./types/request-id";
import { RequestConfig } from "../request-configs";
import { RequestStatus } from "../request-status";
import { BloombergError, EventHandler, EventMessageInner, RequestStatusChangedHandler } from "./types";
import { OperationArgs } from "./../bridge/types";
import { BaseRequestOpenOptions } from "./types/open-request-options";
import { SessionsManager } from "./../sessions/sessions-manager";
export declare type EventMessageProcessorResult = {
action: "close";
} | {
action: "continue";
} | {
action: "fail";
error: Error | BloombergError;
} | {
action: "complete";
};
export declare type EventMessageProcessorFn = (eventMessage: EventMessageInner) => Promise<EventMessageProcessorResult>;
/**
* Represents the lifecycle of a non-subscription request.
*/
export declare abstract class BaseRequest<TArgs> {
readonly sessionManager: SessionsManager;
readonly config: RequestConfig;
readonly operationArgs: OperationArgs<TArgs>;
protected readonly registry: CallbackRegistry;
protected requestId: RequestId;
protected _status: RequestStatus;
private sessionInstance;
constructor(sessionManager: SessionsManager, config: RequestConfig, operationArgs: OperationArgs<TArgs>);
protected openRequest(options: BaseRequestOpenOptions & {
messageProcessor: EventMessageProcessorFn;
}): Promise<void>;
protected onEvent(callback: EventHandler): UnsubscribeFunction;
protected closeRequest(): Promise<void>;
protected onRequestStatusChanged(callback: RequestStatusChangedHandler): UnsubscribeFunction;
private processEventMessage;
private requestDisposed;
private requestOpened;
private requestActivated;
private requestClosedSuccessfully;
private requestFailed;
private requestCompleted;
private raiseRequestStatusChanged;
}