UNPKG

@foxglove/ros1

Version:

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

38 lines 1.37 kB
import { EventEmitter } from "eventemitter3"; import { Client } from "./Client"; import { LoggerService } from "./LoggerService"; import { Publication } from "./Publication"; import { Publisher } from "./Publisher"; import { PublicationLookup } from "./TcpClient"; import type { TcpAddress, TcpServer } from "./TcpTypes"; type TcpPublisherOpts = { server: TcpServer; nodeName: string; getConnectionId: () => number; getPublication: PublicationLookup; log?: LoggerService; }; interface TcpPublisherEvents { connection: (topic: string, connectionId: number, destinationCallerId: string, client: Client) => void; error: (err: Error) => void; } export declare class TcpPublisher extends EventEmitter<TcpPublisherEvents> implements Publisher { private _server; private _nodeName; private _getConnectionId; private _getPublication; private _pendingClients; private _shutdown; private _log?; constructor({ server, nodeName, getConnectionId, getPublication, log }: TcpPublisherOpts); address(): Promise<TcpAddress | undefined>; publish(publication: Publication, message: unknown): Promise<void>; transportType(): string; listening(): boolean; close(): void; private _handleConnection; private _handleClose; private _handleError; } export {}; //# sourceMappingURL=TcpPublisher.d.ts.map