webssh2-server
Version:
A Websocket to SSH2 gateway using xterm.js, socket.io, ssh2
24 lines (23 loc) • 1.01 kB
JavaScript
/**
* Event-driven Socket.IO initialization using event bus architecture
*/
import { EventSocketAdapter } from './socket/adapters/event-socket-adapter.js';
import { createNamespacedDebug } from './logger.js';
const debug = createNamespacedDebug('socket:v3');
/**
* Initialize Socket.IO with event-driven architecture
*/
export default function init(io, config, services, store, eventBus) {
debug('Initializing event-driven socket handler');
io.on('connection', (socket) => {
debug(`New connection: ${socket.id}`);
// Create event-driven adapter for this socket
const adapter = new EventSocketAdapter(socket, config, eventBus, store);
debug(`Created event adapter for session ${adapter.getSessionId()}`);
// Socket lifecycle is managed by the adapter
socket.on('disconnect', () => {
debug(`Socket ${socket.id} disconnected, session ${adapter.getSessionId()}`);
});
});
debug('Event-driven socket handler initialized');
}