Ho uno o più ByteBuffer contenenti parti di un singolo messaggio. Ora voglio leggere questo messaggio ma non voglio copiare N ByteBuffer in uno solo. Il mio parser si aspetta un singolo ByteBuffer con il messaggio completo, ma il mio messaggio è diviso in N ByteBuffers.Esiste un'implementazione Java ByteBuffer che combina più supporti ByteBuffers sotto il cofano?
C'è un modo per combinare questi N ByteBuffers in uno solo senza copiare byte? Ho immaginato una sorta di implementazione intelligente della classe astratta ByteBuffer che è stata sottoposta a backup da questi ByteBuffer e basta regolare i puntatori e delegare al ByteBuffer corretto.
Nel caso si sia curiosi di sapere perché ne ho bisogno, controllare il protocollo di seguito da BM & F/Bovespa. Rompono un messaggio in blocchi e possono venire fuori ordine in pacchetti diversi, in altre parole, la stessa sequenza di messaggi può arrivare in più pacchetti, ognuno con un blocco di messaggi. Non riesco a scrivere in sequenza sullo stesso ByteBuffer perché questi blocchi possono essere fuori uso. :(
mi sto perdendo qualcosa più intelligente qui? Sembra che non v'è alcun modo di scrivere in sequenza sullo stesso ByteBuffer dato questo protocollo pezzo di sotto. :(
Se non si desidera combinare tutti in un singolo buffer, perché il parser si aspetta un ByteBuffer singolo? Sembra un problema di architettura del codice. – JLewkovich
@ JL Potresti avere ragione, ma io non la penso così. Controlla la mia modifica per includere il protocollo che sto tentando di implementare. –
Sicuramente forniscono un'API Java? Non dovresti fare tutto da solo. Le API FIX per Java sono certamente disponibili da altre fonti. – EJP