@ntrip/caster
Version:
NTRIP caster
74 lines (73 loc) • 2.36 kB
TypeScript
/// <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;
}