MCPcopy Index your code
hub / github.com/socketio/socket.io / createPacketEncoderStream

Function createPacketEncoderStream

client-dist/socket.io.js:469–499  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

467 return packets;
468 };
469 function createPacketEncoderStream() {
470 return new TransformStream({
471 transform: function transform(packet, controller) {
472 encodePacketToBinary(packet, function (encodedPacket) {
473 var payloadLength = encodedPacket.length;
474 var header;
475 // inspired by the WebSocket format: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#decoding_payload_length
476 if (payloadLength < 126) {
477 header = new Uint8Array(1);
478 new DataView(header.buffer).setUint8(0, payloadLength);
479 } else if (payloadLength < 65536) {
480 header = new Uint8Array(3);
481 var view = new DataView(header.buffer);
482 view.setUint8(0, 126);
483 view.setUint16(1, payloadLength);
484 } else {
485 header = new Uint8Array(9);
486 var _view = new DataView(header.buffer);
487 _view.setUint8(0, 127);
488 _view.setBigUint64(1, BigInt(payloadLength));
489 }
490 // first bit indicates whether the payload is plain text (0) or binary (1)
491 if (packet.data && typeof packet.data !== "string") {
492 header[0] |= 0x80;
493 }
494 controller.enqueue(header);
495 controller.enqueue(encodedPacket);
496 });
497 }
498 });
499 }
500 var TEXT_DECODER;
501 function totalLength(chunks) {
502 return chunks.reduce(function (acc, chunk) {

Callers 1

socket.io.jsFile · 0.85

Calls 1

encodePacketToBinaryFunction · 0.85

Tested by

no test coverage detected