Blame view

node_modules/killable/index.js 518 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  module.exports = function makeKillable(server) {
    var sockets = [];
  
    server.on('connection', function (socket) {
      //add socket to list
      sockets.push(socket);
  
      socket.once('close', function () {
        //remove socket from list
        sockets.splice(sockets.indexOf(socket), 1);
      });
    });
  
    server.kill = function (cb) {
      server.close(cb);
      sockets.forEach(function (socket) {
        socket.destroy();
      });
      // reset so the server can be restarted
      sockets = [];
    };
  
    return server;
  };