MCPcopy
hub / github.com/socketio/socket.io / onResponse

Function onResponse

packages/socket.io-adapter/lib/cluster-adapter.ts:360–425  ·  view source on GitHub ↗

* Called when receiving a response from another member of the cluster. * * @param response * @protected

(response: ClusterResponse)

Source from the content-addressed store, hash-verified

358 * @protected
359 */
360 protected onResponse(response: ClusterResponse) {
361 const requestId = response.data.requestId;
362
363 debug(
364 "[%s] received response %s to request %s",
365 this.uid,
366 response.type,
367 requestId,
368 );
369
370 switch (response.type) {
371 case MessageType.BROADCAST_CLIENT_COUNT: {
372 this.ackRequests
373 .get(requestId)
374 ?.clientCountCallback(response.data.clientCount);
375 break;
376 }
377
378 case MessageType.BROADCAST_ACK: {
379 this.ackRequests.get(requestId)?.ack(response.data.packet);
380 break;
381 }
382
383 case MessageType.FETCH_SOCKETS_RESPONSE: {
384 const request = this.requests.get(requestId);
385
386 if (!request) {
387 return;
388 }
389
390 request.current++;
391 response.data.sockets.forEach((socket) =>
392 request.responses.push(socket),
393 );
394
395 if (request.current === request.expected) {
396 clearTimeout(request.timeout);
397 request.resolve(request.responses);
398 this.requests.delete(requestId);
399 }
400 break;
401 }
402
403 case MessageType.SERVER_SIDE_EMIT_RESPONSE: {
404 const request = this.requests.get(requestId);
405
406 if (!request) {
407 return;
408 }
409
410 request.current++;
411 request.responses.push(response.data.packet);
412
413 if (request.current === request.expected) {
414 clearTimeout(request.timeout);
415 request.resolve(null, request.responses);
416 this.requests.delete(requestId);
417 }

Callers

nothing calls this directly

Calls 2

debugFunction · 0.85
ackMethod · 0.45

Tested by

no test coverage detected