1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const utils_1 = require("../utils");
|
4 | const debug = (0, utils_1.Debug)("AbstractConnector");
|
5 | class 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;
|
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 | }
|
26 | exports.default = AbstractConnector;
|