Ich habe einen oder mehrere ByteBuffers, die Teile einer einzelnen Nachricht enthalten. Jetzt möchte ich diese Nachricht lesen, aber ich möchte N ByteBuffer nicht in einen einzigen kopieren. Mein Parser erwartet einen einzelnen ByteBuffer mit der vollständigen Nachricht, aber meine Nachricht ist in N ByteBuffers unterteilt.Gibt es eine Java ByteBuffer-Implementierung, die mehrere Backing-ByteBuffers unter der Haube kombiniert?
Gibt es eine Möglichkeit, diese N ByteBuffers zu einem einzigen zu kombinieren, ohne Byte zu kopieren? Ich stellte mir eine Art intelligente Implementierung der ByteBuffer-abstrakten Klasse vor, die von diesen ByteBuffer unter der Haube gesichert wird und nur die Zeiger und Delegaten auf den richtigen ByteBuffer einstellt.
Wenn Sie neugierig sind, warum ich das brauche, überprüfen Sie das Protokoll unten von BM & F/Bovespa. Sie zerlegen eine Nachricht in Stücke und sie können in verschiedenen Paketen aus der Reihenfolge kommen, mit anderen Worten, die gleiche Nachrichtensequenz kann in mehreren Paketen kommen, jedes mit einem Nachrichtenstück. Ich kann nicht sequentiell auf den gleichen ByteBuffer schreiben, weil diese Blöcke nicht in der richtigen Reihenfolge sein können. :(
Fehle ich etwas schlauer hier? Es sieht aus wie es keine Möglichkeit gibt sequentiell den gleichen ByteBuffer dieses Chunk Protokoll weiter unten zu schreiben. :(
Wenn Sie nicht alle zu einem einzigen Puffer kombinieren möchten, warum erwartet Ihr Parser einen einzelnen ByteBuffer? Klingt wie ein Code-Architektur-Problem. – JLewkovich
@JL Sie könnten Recht haben, aber ich denke nicht. Überprüfen Sie meine Bearbeitung, um das Protokoll, das ich implementieren möchte, einzuschließen. –
Sicher bieten sie eine Java API? Du solltest das alles nicht selbst machen müssen. FIX-APIs für Java sind sicherlich aus anderen Quellen verfügbar. – EJP