Ich versuche zu ersetzen, was ich normalerweise als Ringpuffer + implementieren würde. Die Funktion der Warteschlange besteht darin, ankommende Bytes (z. B. vom seriellen Port oder einem anderen Datenstrom) zu puffern, während ein Parser Bytes in der Warteschlange untersucht und Nachrichtenpakete erkennt und extrahiert.Effiziente C# -Byte-Warteschlange zum Parsing von Bytestreams für binäre Nachrichtenpakete
Kriterien:
- wachsen kann (dh nicht feste Größe)
-
= 1 Byte einer Warteschlange eingereiht
-
= 1 Byte sein kann, zu einer Zeit sein kann zu einer Zeit aus der Warteschlange
- effiziente
Ich bin nur
zu verwenden versuchtSystem.Collections.Generic.Queue<byte>
... aber ich bin nicht sicher, ob dies die effizienteste Art zu verwenden ist. Irgendwelche Vorschläge?
Gibt es intelligentere Möglichkeiten, das zu tun, was ich versuche? (ZB. Interessante Vorschläge here)
Danke für Ihre Vorschläge & Eingabe.
Prembo.
Generell Menschen markieren nicht ihre Antworten als Community Wiki. Wenn es sich bei der Frage um ein Community-Wiki handelt, werden die Antworten auch Community-Wiki sein. –
Ich glaube, ich verstehe nicht, was Gemeinschaft Wiki ist. – Dani