Repository: incubator-ignite Updated Branches: refs/heads/ignite-51 4f1568d75 -> b93f7a3ce
#ignite-51-v2: GridPortableObjectImpl implements Message. Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/70c81315 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/70c81315 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/70c81315 Branch: refs/heads/ignite-51 Commit: 70c81315649b575159b5d0eac6393db2a1b10c06 Parents: 88bc98d Author: ivasilinets <ivasilin...@gridgain.com> Authored: Wed Mar 4 19:17:40 2015 +0300 Committer: ivasilinets <ivasilin...@gridgain.com> Committed: Wed Mar 4 19:17:40 2015 +0300 ---------------------------------------------------------------------- .../internal/direct/DirectByteBufferStream.java | 12 +++++ .../internal/direct/DirectMessageWriter.java | 7 +++ .../processors/cache/GridCacheMapEntry.java | 48 ++++---------------- .../extensions/communication/MessageWriter.java | 11 +++++ 4 files changed, 39 insertions(+), 39 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/70c81315/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 32a8d84..528de10 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 @@ -449,6 +449,18 @@ public class DirectByteBufferStream { } /** + * @param val Value. + * @param off Offset. + * @param len Length. + */ + public void writeByteArray(byte[] val, long off, int len) { + if (val != null) + lastFinished = writeArray(val, BYTE_ARR_OFF + off, len, len); + else + writeInt(-1); + } + + /** * @param val Value */ public void writeShortArray(short[] val) { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/70c81315/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageWriter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageWriter.java b/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageWriter.java index fa749d0..593f34f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageWriter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageWriter.java @@ -110,6 +110,13 @@ public class DirectMessageWriter implements MessageWriter { } /** {@inheritDoc} */ + @Override public boolean writeByteArray(String name, byte[] val, long off, int len) { + stream.writeByteArray(val, off, len); + + return stream.lastFinished(); + } + + /** {@inheritDoc} */ @Override public boolean writeShortArray(String name, @Nullable short[] val) { stream.writeShortArray(val); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/70c81315/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 52f9659..3e20030 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 @@ -78,8 +78,8 @@ public abstract class GridCacheMapEntry implements GridCacheEntryEx { * <li>Each nested object should be analyzed in the same way as above.</li> * </ul> */ - // TODO IGNITE-51. - private static final int SIZE_OVERHEAD = 87 /*entry*/ + 32 /* version */; + // 7 * 8 /*references*/ + 2 * 8 /*long*/ + 1 * 4 /*int*/ + 1 * 1 /*byte*/ = 77 + private static final int SIZE_OVERHEAD = 77 /*entry*/ + 32 /* version */; /** Static logger to avoid re-creation. Made static for test purpose. */ protected static final AtomicReference<IgniteLogger> logRef = new AtomicReference<>(); @@ -291,43 +291,13 @@ public abstract class GridCacheMapEntry implements GridCacheEntryEx { /** {@inheritDoc} */ @Override public int memorySize() throws IgniteCheckedException { -// TODO IGNITE-51 -// byte[] kb; -// GridCacheValueBytes vb; -// -// CacheObject v; -// -// int extrasSize; -// -// synchronized (this) { -// kb = keyBytes; -// vb = valueBytesUnlocked(); -// -// v = val; -// -// extrasSize = extrasSize(); -// } -// -// if (kb == null || (vb.isNull() && v != null)) { -// if (kb == null) -// kb = CU.marshal(cctx.shared(), key); -// -// if (vb.isNull()) -// vb = (v != null && v instanceof byte[]) ? GridCacheValueBytes.plain(v) : -// GridCacheValueBytes.marshaled(CU.marshal(cctx.shared(), v)); -// -// synchronized (this) { -// if (keyBytes == null) -// keyBytes = kb; -// -// // If value didn't change. -// if (!isOffHeapValuesOnly() && valBytes == null && val == v && cctx.config().isStoreValueBytes()) -// valBytes = vb.isPlain() ? null : vb.get(); -// } -// } -// -// return SIZE_OVERHEAD + extrasSize + kb.length + (vb.isNull() ? 0 : vb.get().length); - return 0; + int extrasSize; + + synchronized (this) { + extrasSize = extrasSize(); + } + + return SIZE_OVERHEAD + extrasSize; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/70c81315/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java index 19da9db..777f2e6 100644 --- a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java +++ b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java @@ -125,6 +125,17 @@ public interface MessageWriter { public boolean writeByteArray(String name, byte[] val); /** + * Writes {@code byte} array. + * + * @param name Field name. + * @param val {@code byte} array. + * @param off Offset. + * @param len Length. + * @return Whether array was fully written. + */ + public boolean writeByteArray(String name, byte[] val, long off, int len); + + /** * Writes {@code short} array. * * @param name Field name.