UNPKG

@foxglove/ros1

Version:

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

62 lines 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MockTcpServer = exports.MockTcpSocket = void 0; exports.TcpListen = TcpListen; exports.TcpSocketConnect = TcpSocketConnect; const eventemitter3_1 = require("eventemitter3"); class MockTcpSocket extends eventemitter3_1.EventEmitter { constructor() { super(...arguments); this._connected = true; } async remoteAddress() { return { address: "192.168.1.2", port: 40000, family: this._connected ? "IPv4" : undefined, }; } async localAddress() { return this._connected ? { address: "127.0.0.1", port: 30000, family: "IPv4" } : undefined; } async fd() { return 1; } async connected() { return this._connected; } async connect() { // no-op } async close() { this._connected = false; } async write(_data) { // no-op } // eslint-disable-next-line @foxglove/no-boolean-parameters async setNoDelay(_noDelay) { // no-op } } exports.MockTcpSocket = MockTcpSocket; class MockTcpServer extends eventemitter3_1.EventEmitter { constructor() { super(...arguments); this.listening = true; } async address() { return this.listening ? { address: "192.168.1.1", port: 20000, family: "IPv4" } : undefined; } close() { this.listening = false; } } exports.MockTcpServer = MockTcpServer; async function TcpListen(_options) { return new MockTcpServer(); } async function TcpSocketConnect(_options) { return new MockTcpSocket(); } //# sourceMappingURL=MockTcp.js.map