UNPKG

906 BJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const utils_1 = require("../utils");
4const debug = (0, utils_1.Debug)("AbstractConnector");
5class AbstractConnector {
6 constructor(disconnectTimeout) {
7 this.connecting = false;
8 this.disconnectTimeout = disconnectTimeout;
9 }
10 check(info) {
11 return true;
12 }
13 disconnect() {
14 this.connecting = false;
15 if (this.stream) {
16 const stream = this.stream; // Make sure callbacks refer to the same instance
17 const timeout = setTimeout(() => {
18 debug("stream %s:%s still open, destroying it", stream.remoteAddress, stream.remotePort);
19 stream.destroy();
20 }, this.disconnectTimeout);
21 stream.on("close", () => clearTimeout(timeout));
22 stream.end();
23 }
24 }
25}
26exports.default = AbstractConnector;