encodePayload static method

dynamic encodePayload(
  1. List packets, {
  2. bool supportsBinary = false,
  3. required dynamic callback(
    1. dynamic _
    ),
})

Implementation

static encodePayload(List packets,
    {bool supportsBinary = false, required callback(_)}) {
  if (supportsBinary && hasBinary(packets)) {
    return encodePayloadAsBinary(packets, callback);
  }

  if (packets.isEmpty) {
    return callback('0:');
  }

  var encodeOne = (packet, doneCallback(_)) {
    encodePacket(packet, supportsBinary: supportsBinary, utf8encode: false,
        callback: (message) {
      doneCallback(_setLengthHeader(message));
    });
  };

  map(packets, encodeOne, (results) {
    return callback(results.join(''));
  });
}