encodeSelf method

  1. @override
void encodeSelf(
  1. RawWriter writer
)

Writes this object to the provided RawWriter.

Implementation

@override
void encodeSelf(RawWriter writer) {
  final start = writer.length;
  writer
    ..writeUint8(type)
    ..writeUint8(code)
    ..writeUint16(0)
    ..writeUint32(restOfHeader);
  payload.encodeSelf(writer);
  final checksum = Ip4Packet.calculateChecksum(
    writer.bufferAsByteData,
    start,
    writer.length,
  );
  writer.bufferAsByteData.setUint16(start + 2, checksum);
}