PacketHeader.fromBytes constructor
PacketHeader.fromBytes(
- Uint8List datagram
Implementation
factory PacketHeader.fromBytes(Uint8List datagram) {
final messageType = datagram[1];
// Validate the message type.
if (messageType > PacketType.values.length) {
throw const FormatException('Packet type is wrong!');
}
// Get the issuedAt and id from the datagram.
final buffer = datagram.buffer.asInt64List(0, 2);
// Create and return a new PacketHeader instance.
return PacketHeader(
forwardsCount: datagram[0],
messageType: PacketType.values[messageType],
issuedAt: buffer[0] >> 16,
id: buffer[1],
);
}