Расширяемый эквивалент ByteBuffer, поддерживающий запись / чтение с прямым порядком байтов? - PullRequest
0 голосов
/ 16 сентября 2011

В настоящее время я использую ByteBuffer для хранения цепочки примитивов, прежде чем отправлять ее по всему телу. Я использую data.order(ByteOrder.LITTLE_ENDIAN);, потому что именно так должны отправляться данные.

Есть ли эквивалент ByteBuffer, который поддерживает putShort() ... с использованием байтов с прямым порядком байтов, и может быть расширен?

Я мог бы написать оболочку, которая проверяет limit() и position(), создавая новый и больший ByteBuffer, когда это необходимо, но я не могу поверить, что нет другого существующего класса, который мог бы сделать это.

1 Ответ

1 голос
/ 16 сентября 2011

Похоже, что у Apache Mina есть то, что вы хотите: http://mina.apache.org/report/1.1/apidocs/org/apache/mina/common/ByteBuffer.html

Я знаю, что Mina используется во многих производственных системах обмена сообщениями, так что это, вероятно, лучший выбор, чем другие результаты, полученные Google.И, как вы, кажется, пишете сетевой код, вы можете найти дополнительные части Mina полезными.

Тем не менее, я думаю, что было бы гораздо проще выделить гораздо больший, чем необходимый буфер JDK, с помощью простогопроверьте, чтобы убедиться, что вы не превышаете его.Если вы переполнены, запишите первый буфер, затем выделите замену.

...