Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 293F51738F for ; Wed, 8 Apr 2015 01:52:24 +0000 (UTC) Received: (qmail 91534 invoked by uid 500); 8 Apr 2015 01:52:24 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 91506 invoked by uid 500); 8 Apr 2015 01:52:24 -0000 Mailing-List: contact commits-help@ignite.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.incubator.apache.org Delivered-To: mailing list commits@ignite.incubator.apache.org Received: (qmail 91497 invoked by uid 99); 8 Apr 2015 01:52:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Apr 2015 01:52:24 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 08 Apr 2015 01:52:22 +0000 Received: (qmail 91211 invoked by uid 99); 8 Apr 2015 01:52:02 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Apr 2015 01:52:02 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id F3DA7E108B; Wed, 8 Apr 2015 01:52:01 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: vkulichenko@apache.org To: commits@ignite.incubator.apache.org Date: Wed, 08 Apr 2015 01:52:06 -0000 Message-Id: <94fb5b31c8734058bf64e8c43644799d@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [06/50] [abbrv] incubator-ignite git commit: IGNITE-471 - Marshalling refactoring X-Virus-Checked: Checked by ClamAV on apache.org IGNITE-471 - Marshalling refactoring Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/5b00cdb8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/5b00cdb8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/5b00cdb8 Branch: refs/heads/ignite-471 Commit: 5b00cdb89cc71e81cbc674a1b6132ebed279ef17 Parents: bc4676a Author: Valentin Kulichenko Authored: Mon Apr 6 16:30:25 2015 -0700 Committer: Valentin Kulichenko Committed: Mon Apr 6 16:30:25 2015 -0700 ---------------------------------------------------------------------- .../internal/direct/DirectByteBufferStream.java | 13 ++++++++++--- .../processors/cache/GridCacheMapEntry.java | 1 - .../apache/ignite/internal/util/IgniteUtils.java | 19 +++++++++++++------ .../optimized/OptimizedMarshaller.java | 3 +-- 4 files changed, 24 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5b00cdb8/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectByteBufferStream.java ---------------------------------------------------------------------- diff --git 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 index efe57b5..64c895b 100644 --- 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 @@ -535,10 +535,17 @@ public class DirectByteBufferStream { */ public void writeByteBuffer(ByteBuffer val) { if (val != null) { - // TODO: IGNITE-471 - Support offheap? - assert val.hasArray(); + if (val.hasArray()) + writeByteArray(val.array(), val.position(), val.remaining()); + else { + val = val.duplicate(); - writeByteArray(val.array(), val.position(), val.remaining()); + byte[] arr = new byte[val.remaining()]; + + val.get(arr); + + writeByteArray(arr); + } } else writeInt(-1); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5b00cdb8/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index 5933c83..18ccfe5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -537,7 +537,6 @@ public abstract class GridCacheMapEntry implements GridCacheEntryEx { /** * @return Value bytes and flag indicating whether value is byte array. */ - // TODO: IGNITE-471 - Switch to other class here??? protected IgniteBiTuple valueBytes0() { assert Thread.holdsLock(this); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5b00cdb8/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java index 63e55f0..e233f8b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java @@ -2035,11 +2035,20 @@ public abstract class IgniteUtils { if (buf == null) out.writeInt(-1); else { - // TODO: IGNITE-471 - Support offheap? - assert buf.hasArray(); + if (buf.hasArray()) { + out.writeInt(buf.remaining()); + out.write(buf.array(), buf.position(), buf.remaining()); + } + else { + buf = buf.duplicate(); + + byte[] arr = new byte[buf.remaining()]; - out.writeInt(buf.remaining()); - out.write(buf.array(), buf.position(), buf.remaining()); + buf.get(arr); + + out.writeInt(arr.length); + out.write(arr); + } } } @@ -9026,8 +9035,6 @@ public abstract class IgniteUtils { } /** - * // TODO: IGNITE-471 - Remove method? - * * @param buf Byte buffer. * @return Byte array. */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5b00cdb8/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java index 35cf1ae..31b2879 100644 --- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java +++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java @@ -225,7 +225,7 @@ public class OptimizedMarshaller extends AbstractMarshaller { @SuppressWarnings("unchecked") @Override public T unmarshal(ByteBuffer buf, @Nullable ClassLoader clsLdr) throws IgniteCheckedException { assert buf != null; - assert buf.hasArray(); // TODO: IGNITE-471 - Support offheap? + assert buf.hasArray(); OptimizedObjectInputStream objIn = null; @@ -234,7 +234,6 @@ public class OptimizedMarshaller extends AbstractMarshaller { objIn.context(clsMap, ctx, mapper, clsLdr != null ? clsLdr : dfltClsLdr); - // TODO: IGNITE-471 - Position is not moved. objIn.in().bytes(buf.array(), buf.position(), buf.remaining()); return (T)objIn.readObject();