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;
| };
|
|