handleData method

void handleData(
  1. Uint8List data,
  2. EventSink<MongoResponseMessage> sink
)

Implementation

void handleData(
    /* List<int> */ Uint8List data, EventSink<MongoResponseMessage> sink) {
  converter.addPacket(data);
  while (!converter.messages.isEmpty) {
    var buffer = BsonBinary.from(converter.messages.removeFirst());
    var opcodeFromWire = MongoResponseMessage.extractOpcode(buffer);
    MongoResponseMessage reply;
    if (opcodeFromWire == MongoMessage.reply) {
      reply = MongoReplyMessage()..deserialize(buffer);
    } else {
      reply = MongoModernMessage.fromBuffer(buffer);
    }
    _log.fine(() => reply.toString());
    sink.add(reply);
  }
}