Die Pakete müssen ja bestimmte Sezifikationen/Kriterien erfüllen.
...
(DRY)
Das Paket ist genau Spezifiziert und wird als ein Array of Bytes übergeben.
Das Paket auf Gültigkeit zu prüfen ist sehr umfangreich. Das sind Maschinen Pakete. Jedes Paket beginnt mit ein Byte Paket-Identifier $44 also ein "D" danach folgen ein paar Bytes als Nutzdaten und danach ein paar Bytes für den FeldSelektor.
Darüber erfahre ich welche weitere Felder im Paket enthalten sind. Die Felder haben unterschiedliche jedoch definierte Längen, bis auf das letzte Feld welches eine nicht definierte Länge hat. Die Feldreihenfolge ist Fix. Ich muss mich also von oben nach unten durchhangeln. Wenn ein Feld laut FeldSelektor enthalten ist, dann kann ich es verarbeiten und den Positionsindex um die Feldlänge incrementieren.
Um diesen Misst vorher zu prüfen muss ich wirklich viel Arbeit investieren.
Deshalb verlasse ich mich einfach darauf dass das Paket in sich schlüssig
ist und greife ohne zu prüfen auf die Bytes zu.
Und wenn es mal Knallt, dann war das Paket doch nicht korrekt.
Laut Spezifikation werden ausschließlich korrekte Pakte versendet. Ich darf
mich also verlassen dass die Pakete in sich schlüssig sind. Nur im Falle
eines Kommunikation Konfliktes kann es defekte Pakete geben. Ein Langzeittest wird zeigen wie Wahrheitsgetreu die Aussage ist.
Gruß Kostas