encodePayload static method

dynamic encodePayload(
  1. List packets, {
  2. required dynamic callback(
    1. dynamic _
    ),
})

Implementation

static encodePayload(List packets, {required callback(_)}) {
  final length = packets.length;
  final encodedPackets = []..length = length;
  var count = 0;
  var i = 0;
  packets.forEach((packet) {
    // force base64 encoding for binary packets
    encoder
        .encodePacket(encoder.Packet(packet['type'], packet['data']), false,
            (encodedPacket) {
      encodedPackets[i++] = encodedPacket;
      if (++count == length) {
        callback(encodedPackets.join(SEPARATOR));
      }
    });
  });
}