OioDatagramWorker now honors buffer factory's default byte order

This commit is contained in:
Trustin Lee 2009-06-11 07:16:10 +00:00
parent 8f4e0b524c
commit e9d07c3c2e

View File

@ -28,6 +28,7 @@ import java.io.InterruptedIOException;
import java.net.DatagramPacket; import java.net.DatagramPacket;
import java.net.MulticastSocket; import java.net.MulticastSocket;
import java.net.SocketAddress; import java.net.SocketAddress;
import java.nio.ByteOrder;
import org.jboss.netty.buffer.ChannelBuffer; import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.buffer.ChannelBuffers; import org.jboss.netty.buffer.ChannelBuffers;
@ -89,11 +90,12 @@ class OioDatagramWorker implements Runnable {
} }
ChannelBuffer buffer; ChannelBuffer buffer;
ByteOrder endianness = channel.getConfig().getBufferFactory().getDefaultOrder();
int readBytes = packet.getLength(); int readBytes = packet.getLength();
if (readBytes == buf.length) { if (readBytes == buf.length) {
buffer = ChannelBuffers.wrappedBuffer(buf); buffer = ChannelBuffers.wrappedBuffer(endianness, buf);
} else { } else {
buffer = ChannelBuffers.wrappedBuffer(buf, 0, readBytes); buffer = ChannelBuffers.wrappedBuffer(endianness, buf, 0, readBytes);
} }
fireMessageReceived(channel, buffer, packet.getSocketAddress()); fireMessageReceived(channel, buffer, packet.getSocketAddress());