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

Function onMessage

packages/socket.io-cluster-engine/lib/engine.ts:179–344  ·  packages/socket.io-cluster-engine/lib/engine.ts::onMessage
(message: Message)

Source from the content-addressed store, hash-verified

177 }
178
179 protected onMessage(message: Message) {
180 if (message.senderId === this._nodeId) {
181 return;
182 }
183 debug(class="st">"received: %j", message);
184
185 switch (message.type) {
186 case MessageType.ACQUIRE_LOCK: {
187 const sid = message.data.sid;
188 const client = this.clients[sid];
189 if (!client) {
190 return;
191 }
192
193 const transportName = message.data.transportName;
194 const success = isClientLockable(
195 client,
196 transportName,
197 message.data.type,
198 );
199
200 this.publishMessage({
201 requestId: message.requestId,
202 senderId: this._nodeId,
203 recipientId: message.senderId,
204 type: MessageType.ACQUIRE_LOCK_RESPONSE,
205 data: {
206 success,
207 },
208 });
209
210 switch (transportName) {
211 case class="st">"polling": {
212 if (message.data.type === class="st">"read") {
213 this._forwardFlushWhenPolling(client, sid, message.senderId);
214 }
215 break;
216 }
217 case class="st">"websocket":
218 case class="st">"webtransport": {
219 client.upgrading = true;
220 client[kNoopTimer] = setTimeout(() => {
221 debug(class="st">"writing a noop packet to polling for fast upgrade");
222 class="cm">// @ts-expect-error sendPacket() is private
223 client.sendPacket(class="st">"noop");
224 }, this._opts.noopUpgradeInterval);
225 }
226 }
227 break;
228 }
229
230 case MessageType.ACQUIRE_LOCK_RESPONSE: {
231 const requestId = message.requestId;
232 const request = this._requests.get(requestId);
233 if (!request) {
234 return;
235 }
236 this._requests.delete(requestId);

Callers

nothing calls this directly

Calls 11

debugFunction · 0.85
isClientLockableFunction · 0.85
sendPacketMethod · 0.80
_doConnectMethod · 0.80
emitMethod · 0.65
publishMessageMethod · 0.45
onErrorMethod · 0.45
sendMethod · 0.45
onPacketMethod · 0.45
closeMethod · 0.45
onCloseMethod · 0.45

Tested by

no test coverage detected