UNPKG

@foxglove/ros1

Version:

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

52 lines 2 kB
import { MessageDefinition } from "@foxglove/message-definition"; import { MessageReader } from "@foxglove/rosmsg-serialization"; import { EventEmitter } from "eventemitter3"; import { Connection, ConnectionStats } from "./Connection"; import { LoggerService } from "./LoggerService"; import { TcpAddress, TcpSocket } from "./TcpTypes"; export interface TcpConnectionEvents { header: (header: Map<string, string>, messageDefinition: MessageDefinition[], messageReader: MessageReader) => void; message: (msg: unknown, msgData: Uint8Array) => void; error: (err: Error) => void; } export declare class TcpConnection extends EventEmitter<TcpConnectionEvents> implements Connection { retries: number; private _socket; private _address; private _port; private _connected; private _shutdown; private _transportInfo; private _readingHeader; private _requestHeader; private _header; private _stats; private _transformer; private _msgDefinition; private _msgReader; private _log?; constructor(socket: TcpSocket, address: string, port: number, requestHeader: Map<string, string>, log?: LoggerService); transportType(): string; remoteAddress(): Promise<TcpAddress | undefined>; connect(): Promise<void>; private _retryConnection; connected(): boolean; header(): Map<string, string>; stats(): ConnectionStats; messageDefinition(): MessageDefinition[]; messageReader(): MessageReader | undefined; close(): void; writeHeader(): Promise<void>; getTransportInfo(): string; toString(): string; private _getTransportInfo; private _handleConnect; private _handleClose; private _handleError; private _handleData; private _handleMessage; static Uri(address: string, port: number): string; static SerializeHeader(header: Map<string, string>): Uint8Array; static ParseHeader(data: Uint8Array): Map<string, string>; } //# sourceMappingURL=TcpConnection.d.ts.map