sendBody method
Break body into DATA frames and store them for streamId.
Implementation
Future<void> sendBody(int streamId, Uint8List body) async {
const chunkSize = 4096;
if (body.isEmpty) {
// Empty body still emits an EOF marker (empty DATA frame).
_pendingData.putIfAbsent(streamId, () => []).add(Http3DataFrame.empty());
return;
}
for (var offset = 0; offset < body.length; offset += chunkSize) {
final end =
(offset + chunkSize < body.length) ? offset + chunkSize : body.length;
final chunk = body.sublist(offset, end);
_pendingData
.putIfAbsent(streamId, () => [])
.add(Http3DataFrame(data: chunk));
}
}