@foxglove/ros1
Version:
Standalone TypeScript implementation of the ROS 1 (Robot Operating System) protocol with a pluggable transport layer
62 lines • 1.69 kB
JavaScript
;
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