UNPKG

@darlean/core

Version:

Darlean core functionality for creating applications that define, expose and host actors

36 lines (35 loc) 1.92 kB
/// <reference types="node" /> import { ITransportFailure, ITransport, MessageHandler, ITransportSession } from './transport'; import { Msg, Subscription } from 'nats'; import { IDeSer } from '@darlean/utils'; import { ITracingTags, IRemoteCallTags, ITransportTags } from './wiretypes'; import { IActorCallRequest, IActorCallResponse } from '@darlean/base'; export declare const NATS_ERROR_NOT_CONNECTED = "NOT_CONNECTED"; export declare const NATS_ERROR_SEND_FAILED = "SEND_FAILED"; export declare const NATS_ERROR_SEND_NO_ACK = "NO_ACK"; export declare class NatsTransport implements ITransport { private deser; private seedUrls?; private ackTimeout; constructor(deser: IDeSer, seedUrls?: string[], ackTimeout?: number); connect(appId: string, onMessage: MessageHandler): Promise<ITransportSession>; } export declare class NatsTransportSession implements ITransportSession { private deser; private connection?; private subscription?; private appId?; private messageHandler?; private seedUrls?; private ackTimeout; private sendQueue; constructor(deser: IDeSer, seedUrls: string[] | undefined, ackTimeout: number); connect(appId: string, onMessage: MessageHandler): Promise<void>; send(tags: ITransportTags & IRemoteCallTags & ITracingTags, contents: IActorCallRequest | IActorCallResponse | ITransportFailure | undefined, failure?: ITransportFailure): void; finalize(): Promise<void>; protected sendImpl(receiver: string, msg: Buffer, onError: (error: unknown) => void): void; protected doSendBatch(receiver: string): void; protected handleMessage(_err: unknown, m: Msg, onMessage: MessageHandler): void; protected listen(sub: Subscription, onMessage: MessageHandler): Promise<void>; protected sendFailureMessage(originalTags: ITransportTags & IRemoteCallTags, code: string, msg: string): void; }