MCPcopy Create free account
hub / github.com/agent-tower/core / initializeSocket

Function initializeSocket

packages/server/src/socket/index.ts:24–66  ·  view source on GitHub ↗
(fastify: FastifyInstance)

Source from the content-addressed store, hash-verified

22 * 初始化 Socket.IO 服务
23 */
24export async function initializeSocket(fastify: FastifyInstance): Promise<Server> {
25 const socketStartedAt = Date.now()
26 const elapsed = () => `${Date.now() - socketStartedAt}ms`
27
28 fastify.log.info(`[startup:socket] initializeSocket enter elapsed=${elapsed()}`)
29 // Clean up previous instance to prevent listener accumulation during dev hot-reload
30 socketGateway?.destroy()
31 socketGateway = null
32 fastify.log.info(`[startup:socket] previous gateway cleanup done elapsed=${elapsed()}`)
33
34 io = new Server(fastify.server, {
35 cors: {
36 origin: process.env.CORS_ORIGIN || '*',
37 methods: ['GET', 'POST'],
38 credentials: true,
39 },
40 pingTimeout: 300000,
41 pingInterval: 25000,
42 })
43 fastify.log.info(`[startup:socket] socket.io server created elapsed=${elapsed()}`)
44
45 const nsp = io.of(NAMESPACE)
46 nsp.use(authMiddleware)
47 fastify.log.info(`[startup:socket] namespace middleware registered elapsed=${elapsed()}`)
48
49 fastify.log.info(`[startup:socket] getTerminalManager start elapsed=${elapsed()}`)
50 const tm = await getTerminalManager()
51 fastify.log.info(`[startup:socket] getTerminalManager done elapsed=${elapsed()}`)
52 fastify.log.info(`[startup:socket] getNotificationService start elapsed=${elapsed()}`)
53 getNotificationService()
54 fastify.log.info(`[startup:socket] getNotificationService done elapsed=${elapsed()}`)
55 socketGateway = new SocketGateway(nsp, getEventBus(), getSessionManager(), tm)
56 fastify.log.info(`[startup:socket] SocketGateway created elapsed=${elapsed()}`)
57 nsp.on('connection', (socket) => {
58 console.log(`[Socket] Connected: ${socket.id}`)
59 socketGateway?.register(socket)
60 })
61
62 console.log('[Socket.IO] Initialized namespace:', NAMESPACE)
63 fastify.log.info(`[startup:socket] initializeSocket complete elapsed=${elapsed()}`)
64
65 return io
66}
67
68/**
69 * 关闭 Socket.IO 服务

Callers 1

buildAppFunction · 0.85

Calls 8

getTerminalManagerFunction · 0.85
getNotificationServiceFunction · 0.85
getEventBusFunction · 0.85
getSessionManagerFunction · 0.85
registerMethod · 0.80
elapsedFunction · 0.70
destroyMethod · 0.45
onMethod · 0.45

Tested by

no test coverage detected