AbstractConnector.js 906 B

1234567891011121314151617181920212223242526
  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; // 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. }
  26. exports.default = AbstractConnector;