receiveChunk method

void receiveChunk(
  1. Uint8List chunk
)

Implementation

void receiveChunk(Uint8List chunk) {
  if (this.chunkBuffer != null) {
    this.chunkBuffer = this.chunkBuffer! + chunk;
    var chunkDataLength = this.chunkBuffer!.length - 3;
    var bytes = this.chunkBuffer!.sublist(0, 3);
    var rsocketFrameLength = bytesToNumber(bytes)!;
    if (rsocketFrameLength <= chunkDataLength) {
      for (var frame in parseFrames(this.chunkBuffer!)) {
        receiveFrame(frame);
      }
      this.chunkBuffer = null;
    }
    return;
  }
  if (chunk.length > 3) {
    var chunkDataLength = chunk.length - 3;
    var bytes = chunk.sublist(0, 3);
    var rsocketFrameLength = bytesToNumber(bytes)!;
    if (rsocketFrameLength > chunkDataLength) {
      this.chunkBuffer = chunk;
      return;
    }
    for (var frame in parseFrames(chunk)) {
      receiveFrame(frame);
    }
  }
}