@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.
59 lines (58 loc) • 2.33 kB
TypeScript
import { Glue42Core } from "@glue42/core";
import { UnsubscribeFunction } from "callback-registry";
import { RequestId } from "../core/types/request-id";
import { BloombergEvent } from "../core/types";
import { ConnectionStatusSubscriber, CreateRequestArgs, CreateSubscriptionRequestArgs } from "./types";
import { Logger } from "../logger/types";
import { ProtocolMethods } from "../bbg-market-data-api";
export interface EventsCallback {
(args: {
requestCorrelationId: RequestId;
msg: BloombergEvent<any>;
}): void;
}
/**
* MDF API facade.
*/
export declare class MdfBridge {
private readonly interop;
private readonly apiId;
private readonly apiVersion;
private readonly protocolMethods;
private readonly logger?;
private readonly eventsCallbackMethodName;
private readonly registry;
private readonly registerEventsCallbackPW;
constructor(interop: Glue42Core.Interop.API, apiId: string, apiVersion: string, protocolMethods: ProtocolMethods, logger?: Logger | undefined);
get eventsCallbackMethod(): string;
/**
* Returns a promise which either resolves when the callback method was registered successfully or rejects when registration failed.
*/
ready(): Promise<void>;
/**
* Subscribe to receive events for a particular request.
*/
onEvent(requestId: RequestId, handler: (event: BloombergEvent<any>) => void): UnsubscribeFunction;
/**
* Invokes the MDF API to create a non-subscription request.
*/
createRequest(args: CreateRequestArgs): Promise<void>;
/**
* Invokes the MDF API to create a subscription request.
*/
createSubscriptionRequest(args: CreateSubscriptionRequestArgs): Promise<void>;
/**
* Invokes the MDF API to cancel a request.
*/
closeRequest(requestId: RequestId, reason: string): Promise<void>;
/**
* Invokes the MDF API to close a session.
*/
closeSession(sessionName: string): Promise<void>;
/**
* Subscribes to MDF API Interop stream that streams Bloomberg Heartbeat.
*/
subscribeForConnectionStatus(retryPeriodMsecs: number, subscriber: ConnectionStatusSubscriber): Promise<void>;
private registerEventsCallbackMethod;
private invokeCreateRequest;
}