int available = ds.available();
ByteBuffer[] data = ds.readByteBufferByLength(available);
INonBlockingConnection con = registry.retrieveTcpConnection(channelId, 1000);
IDataHandler dh = new IDataHandler() {
public boolean onData(INonBlockingConnection connection) throws IOException {
connection.resetToReadMark();
connection.markReadPosition();
int length = connection.readInt();
ByteBuffer[] data = connection.readByteBufferByLength(length);