UNPKG

@node-lightning/wire

Version:
45 lines 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PeerServer = void 0; const noise_1 = require("@node-lightning/noise"); const events_1 = require("events"); const Peer_1 = require("./Peer"); class PeerServer extends events_1.EventEmitter { constructor(host, port, localSecret, localFeatures, localChains, logger) { super(); this.host = host; this.port = port; this.localSecret = localSecret; this.localFeatures = localFeatures; this.localChains = localChains; this.logger = logger; this._server = new noise_1.NoiseServer({ ls: localSecret }, this._onSocket.bind(this)); this._server.on("listening", () => this.emit("listening")); } /** * Starts the peer manager listening * @param host * @param port */ listen() { this._server.listen({ host: this.host, port: this.port }); } /** * Shuts down the server */ shutdown() { this._server.close(); } /** * Handles when a socket connects to us * @param socket */ _onSocket(socket) { this.logger.info("peer connected"); const peer = new Peer_1.Peer(this.localSecret, this.localFeatures, this.localChains, this.logger); peer.attach(socket); this.emit("peer", peer); } } exports.PeerServer = PeerServer; //# sourceMappingURL=PeerServer.js.map