Merge branch 'ignite-direct-marsh' into ignite-direct-marsh-opt Conflicts: modules/core/src/main/java/org/apache/ignite/internal/direct/DirectByteBufferStream.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d8096be1 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d8096be1 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d8096be1 Branch: refs/heads/ignite-direct-marsh-opt Commit: d8096be16f32e3158f1bd40485f07feaab20d083 Parents: 393b630 d7747d8 Author: Valentin Kulichenko <valentin.kuliche...@gmail.com> Authored: Tue Nov 17 17:37:25 2015 -0800 Committer: Valentin Kulichenko <valentin.kuliche...@gmail.com> Committed: Tue Nov 17 17:37:25 2015 -0800 ---------------------------------------------------------------------- .../internal/direct/DirectByteBufferStream.java | 52 ++++---- .../internal/direct/DirectMessageReader.java | 92 ++++++++++--- .../direct/DirectMessageReaderState.java | 128 +++++++++++++++++++ .../internal/direct/DirectMessageWriter.java | 2 +- .../managers/communication/GridIoManager.java | 45 ++++--- .../internal/util/nio/GridDirectParser.java | 27 ++-- .../extensions/communication/MessageReader.java | 19 ++- .../apache/ignite/stream/StreamTransformer.java | 9 +- .../testframework/GridSpiTestContext.java | 4 +- .../testsuites/IgniteCacheTestSuite3.java | 2 + 10 files changed, 297 insertions(+), 83 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/d8096be1/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectByteBufferStream.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/direct/DirectByteBufferStream.java index e05e20d,ef9168c..45a0f4b --- a/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectByteBufferStream.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectByteBufferStream.java @@@ -290,25 -285,7 +286,25 @@@ public class DirectByteBufferStream private long prim; /** */ + private int primShift; + + /** */ + private int uuidState; + + /** */ + private long uuidMost; + + /** */ + private long uuidLeast; + + /** */ + private long uuidLocId; + + /** */ + private boolean lastFinished; + + /** */ - private MessageReader reader; + private boolean lastFinished; /** * @param msgFactory Message factory. @@@ -381,17 -356,17 +375,19 @@@ * @param val Value. */ public void writeInt(int val) { - if (val == Integer.MAX_VALUE) - val = Integer.MIN_VALUE; - else - val++; + lastFinished = buf.remaining() >= 5; + lastFinished = buf.remaining() >= 5; + if (lastFinished) { + if (val == Integer.MAX_VALUE) + val = Integer.MIN_VALUE; + else + val++; + int pos = buf.position(); - while ((val & 0xFFFFFF80) != 0) { + while ((val & 0xFFFF_FF80) != 0) { byte b = (byte)(val | 0x80); UNSAFE.putByte(heapArr, baseOff + pos++, b); http://git-wip-us.apache.org/repos/asf/ignite/blob/d8096be1/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageWriter.java ----------------------------------------------------------------------