toBytes method
Converts the frame to bytes
Implementation
Uint8List toBytes() {
// ADDED LOG: Log frame details before serialization
// print('YamuxFrame.toBytes: Serializing Frame - Type: $type, StreamID: $streamId, Flags: $flags, Length: $length, Data (first 10 bytes): ${data.take(10).toList()}');
final buffer = ByteData(12 + length);
// Write version
buffer.setUint8(0, version);
// Write type
buffer.setUint8(1, type.value);
// Write flags
buffer.setUint16(2, flags, Endian.big);
// Write stream ID
buffer.setUint32(4, streamId, Endian.big);
// Write length
buffer.setUint32(8, length, Endian.big);
// Write data
if (length > 0) {
buffer.buffer.asUint8List().setRange(12, 12 + length, data);
}
final resultBytes = buffer.buffer.asUint8List();
// ADDED LOG: Log the first few bytes of the serialized frame
// print('YamuxFrame.toBytes: Serialized Bytes (first 16): ${resultBytes.take(16).toList()}');
return resultBytes;
}