UNPKG

@foxglove/ros1

Version:

Standalone TypeScript implementation of the ROS 1 (Robot Operating System) protocol with a pluggable transport layer

46 lines 1.44 kB
import EventEmitter from "eventemitter3"; import { Client, ClientStats } from "./Client"; import { LoggerService } from "./LoggerService"; import { Publication } from "./Publication"; import { TcpSocket } from "./TcpTypes"; export type PublicationLookup = (topic: string) => Publication | undefined; type TcpClientOpts = { socket: TcpSocket; nodeName: string; getPublication: PublicationLookup; log?: LoggerService; }; export interface TcpClientEvents { close: () => void; subscribe: (topic: string, destinationCallerId: string) => void; error: (err: Error) => void; } export declare class TcpClient extends EventEmitter<TcpClientEvents> implements Client { private _socket; private _address?; private _port?; private _transportInfo; private _nodeName; private _connected; private _receivedHeader; private _stats; private _getPublication; private _log?; private _transformer; constructor({ socket, nodeName, getPublication, log }: TcpClientOpts); transportType(): string; connected(): boolean; stats(): ClientStats; write(data: Uint8Array): Promise<void>; close(): void; getTransportInfo(): string; toString(): string; private _updateTransportInfo; private _writeHeader; private _handleClose; private _handleError; private _handleData; private _handleMessage; } export {}; //# sourceMappingURL=TcpClient.d.ts.map