[Mulgara-svn] r620 - trunk/src/jar/util-xa/java/org/mulgara/store/xa
isidhu at mulgara.org
isidhu at mulgara.org
Tue Jan 22 02:16:56 UTC 2008
Author: isidhu
Date: 2008-01-04 13:51:34 -0800 (Fri, 04 Jan 2008)
New Revision: 620
Modified:
trunk/src/jar/util-xa/java/org/mulgara/store/xa/Block.java
Log:
modified get(int, ByteBuffer) to do bulk copy between source and destination buffers
Modified: trunk/src/jar/util-xa/java/org/mulgara/store/xa/Block.java
===================================================================
--- trunk/src/jar/util-xa/java/org/mulgara/store/xa/Block.java 2007-12-14 14:03:55 UTC (rev 619)
+++ trunk/src/jar/util-xa/java/org/mulgara/store/xa/Block.java 2008-01-04 21:51:34 UTC (rev 620)
@@ -273,13 +273,13 @@
* @param offset The location of the required buffer within the data block.
* @param byteBuffer The buffer to fill.
*/
+
public void get(int offset, ByteBuffer byteBuffer) {
- assert offset + byteBuffer.remaining() <= blockSize;
-
- int start = byteOffset + offset;
- while (byteBuffer.hasRemaining()) {
- byteBuffer.put(bb.get(start++));
- }
+ ByteBuffer src = bb.asReadOnlyBuffer();
+ int start = byteOffset + offset;
+ src.position(start);
+ src.limit(Math.min(start + byteBuffer.limit() - byteBuffer.position(), src.limit()));
+ byteBuffer.put(src);
}
/**
More information about the Mulgara-svn
mailing list