Initial commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
// internal dependencies
|
||||
const connections = require('./connections.js');
|
||||
|
||||
// This will hold a reference to the running WebSocket server
|
||||
let serverInstance = null;
|
||||
|
||||
/*
|
||||
* Stop the WebSocket service
|
||||
* - Stops heartbeat
|
||||
* - Closes all active connections
|
||||
* - Closes the WebSocket server
|
||||
*/
|
||||
async function stopService () {
|
||||
try {
|
||||
if (!serverInstance) return { online: false };
|
||||
|
||||
// Stop heartbeat system
|
||||
connections.stopHeartbeat();
|
||||
|
||||
// Terminate all active connections
|
||||
connections.clearAll();
|
||||
|
||||
// Close WebSocket server
|
||||
await new Promise((resolve, reject) => {
|
||||
serverInstance.close((err) => {
|
||||
if (err) return reject(err);
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
|
||||
serverInstance = null;
|
||||
|
||||
console.log('WebSocket server stopped successfully');
|
||||
|
||||
return { online: false };
|
||||
} catch (err) {
|
||||
console.error('Error stopping WebSocket server:', err);
|
||||
return { online: true, error: err };
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = stopService;
|
||||
Reference in New Issue
Block a user