in lib/src/server/sse_handler.dart [129:144]
void _addIncomingMessage(int id, String message) {
_pendingMessages.add(_SseMessage(id, message));
while (_pendingMessages.isNotEmpty) {
var pendingMessage = _pendingMessages.first;
// Only process the next incremental message.
if (pendingMessage.id - _lastProcessedId <= 1) {
_incomingController.sink.add(pendingMessage.message);
_lastProcessedId = pendingMessage.id;
_pendingMessages.removeFirst();
} else {
// A message came out of order. Wait until we receive the previous
// messages to process.
break;
}
}
}