UNPKG

@ntrip/caster

Version:
74 lines (73 loc) 2.36 kB
/// <reference types="node" /> import { Mountpoint } from './mountpoint'; import { Transport } from './transport'; import stream = require('stream'); import events = require('events'); import { RtcmDecodeTransformStream } from '@gnss/rtcm'; import { NmeaDecodeTransformStream } from '@gnss/nmea'; export interface ConnectionParameters { transport: Transport; source: string | object; token?: any; mountpoint: Mountpoint; input?: stream.Readable; output?: stream.Writable; stream?: stream.Duplex; } /** * Connection of a server/client to a single mountpoint */ export declare abstract class Connection extends events.EventEmitter { protected closed: boolean; readonly transport: Transport; readonly source: string | object; readonly mountpoint: Mountpoint; readonly input?: stream.Readable; readonly output?: stream.Writable; readonly token?: any; private _connectionTime; private _disconnectionTime?; get connectionTime(): Date; get disconnectionTime(): Date | undefined; /** Connection duration, in ms */ get duration(): number; abstract get type(): 'server' | 'client'; protected constructor(parameters: ConnectionParameters); private error; close(error?: Error): void; pipe(connection: Connection): void; unpipe(connection: Connection): void; } /** * Server connection to a single mountpoint for pushing data * * Servers must have an input stream, and can optionally have an output stream e.g. for VRS. */ export declare class Server extends Connection { private _str?; private _rtcm?; get type(): 'server'; constructor(parameters: ConnectionParameters & { input: stream.Readable; }); set str(str: string | undefined); get str(): string | undefined; get rtcm(): RtcmDecodeTransformStream; } /** * Client connection to a single mountpoint for receiving data * * Clients must have an output stream, and can optionally have an input stream e.g. for VRS. */ export declare class Client extends Connection { private _gga?; private _nmea?; get type(): 'client'; constructor(parameters: ConnectionParameters & { output: stream.Writable; }); set gga(gga: string | undefined); get gga(): string | undefined; get nmea(): NmeaDecodeTransformStream; private parseGga; }