You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/11/12 09:04:09 UTC

[14/28] ignite git commit: IGNITE-1845: Adopted new binary API in .Net.

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryHandleImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryHandleImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryHandleImpl.cs
index f7dd6e1..fef904b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryHandleImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryHandleImpl.cs
@@ -24,8 +24,8 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
     using Apache.Ignite.Core.Cache.Event;
     using Apache.Ignite.Core.Cache.Query;
     using Apache.Ignite.Core.Cache.Query.Continuous;
-    using Apache.Ignite.Core.Impl.Portable;
-    using Apache.Ignite.Core.Impl.Portable.IO;
+    using Apache.Ignite.Core.Impl.Binary;
+    using Apache.Ignite.Core.Impl.Binary.IO;
     using Apache.Ignite.Core.Impl.Resource;
     using Apache.Ignite.Core.Impl.Unmanaged;
     using UU = Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils;
@@ -41,7 +41,7 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
         /// </summary>
         /// <param name="stream">Stream.</param>
         /// <returns>Result.</returns>
-        void Apply(IPortableStream stream);
+        void Apply(IBinaryStream stream);
     }
 
     /// <summary>
@@ -51,10 +51,10 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
         IContinuousQueryHandle<ICacheEntry<TK, TV>>
     {
         /** Marshaller. */
-        private readonly PortableMarshaller _marsh;
+        private readonly Marshaller _marsh;
 
-        /** Keep portable flag. */
-        private readonly bool _keepPortable;
+        /** Keep binary flag. */
+        private readonly bool _keepBinary;
 
         /** Real listener. */
         private readonly ICacheEntryEventListener<TK, TV> _lsnr;
@@ -79,11 +79,11 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
         /// </summary>
         /// <param name="qry">Query.</param>
         /// <param name="marsh">Marshaller.</param>
-        /// <param name="keepPortable">Keep portable flag.</param>
-        public ContinuousQueryHandleImpl(ContinuousQuery<TK, TV> qry, PortableMarshaller marsh, bool keepPortable)
+        /// <param name="keepBinary">Keep binary flag.</param>
+        public ContinuousQueryHandleImpl(ContinuousQuery<TK, TV> qry, Marshaller marsh, bool keepBinary)
         {
             _marsh = marsh;
-            _keepPortable = keepPortable;
+            _keepBinary = keepBinary;
 
             _lsnr = qry.Listener;
             _filter = qry.Filter;
@@ -96,7 +96,7 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
         /// <param name="writer">Writer.</param>
         /// <param name="cb">Callback invoked when all necessary data is written to stream.</param>
         /// <param name="qry">Query.</param>
-        public void Start(Ignite grid, PortableWriterImpl writer, Func<IUnmanagedTarget> cb, 
+        public void Start(Ignite grid, BinaryWriter writer, Func<IUnmanagedTarget> cb, 
             ContinuousQuery<TK, TV> qry)
         {
             // 1. Inject resources.
@@ -112,7 +112,7 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
             writer.WriteBoolean(_filter != null);
 
             var filterHolder = _filter == null || qry.Local ? null :
-                new ContinuousQueryFilterHolder(_filter, _keepPortable);
+                new ContinuousQueryFilterHolder(_filter, _keepBinary);
 
             writer.WriteObject(filterHolder);
 
@@ -127,23 +127,23 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
             var nativeInitialQryCur = UU.ContinuousQueryGetInitialQueryCursor(_nativeQry);
             _initialQueryCursor = nativeInitialQryCur == null
                 ? null
-                : new QueryCursor<TK, TV>(nativeInitialQryCur, _marsh, _keepPortable);
+                : new QueryCursor<TK, TV>(nativeInitialQryCur, _marsh, _keepBinary);
         }
 
         /** <inheritdoc /> */
-        public void Apply(IPortableStream stream)
+        public void Apply(IBinaryStream stream)
         {
-            ICacheEntryEvent<TK, TV>[] evts = CQU.ReadEvents<TK, TV>(stream, _marsh, _keepPortable);
+            ICacheEntryEvent<TK, TV>[] evts = CQU.ReadEvents<TK, TV>(stream, _marsh, _keepBinary);
 
             _lsnr.OnEvent(evts); 
         }
 
         /** <inheritdoc /> */
-        public bool Evaluate(IPortableStream stream)
+        public bool Evaluate(IBinaryStream stream)
         {
             Debug.Assert(_filter != null, "Evaluate should not be called if filter is not set.");
 
-            ICacheEntryEvent<TK, TV> evt = CQU.ReadEvent<TK, TV>(stream, _marsh, _keepPortable);
+            ICacheEntryEvent<TK, TV> evt = CQU.ReadEvent<TK, TV>(stream, _marsh, _keepBinary);
 
             return _filter.Evaluate(evt);
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryUtils.cs
index 86c8300..96fd621 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryUtils.cs
@@ -20,26 +20,26 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
     using System.Diagnostics;
     using System.Diagnostics.CodeAnalysis;
     using Apache.Ignite.Core.Cache.Event;
+    using Apache.Ignite.Core.Impl.Binary;
+    using Apache.Ignite.Core.Impl.Binary.IO;
     using Apache.Ignite.Core.Impl.Cache.Event;
-    using Apache.Ignite.Core.Impl.Portable;
-    using Apache.Ignite.Core.Impl.Portable.IO;
 
     /// <summary>
     /// Utility methods for continuous queries.
     /// </summary>
-    static class ContinuousQueryUtils
+    internal static class ContinuousQueryUtils
     {
         /// <summary>
         /// Read single event.
         /// </summary>
         /// <param name="stream">Stream to read data from.</param>
         /// <param name="marsh">Marshaller.</param>
-        /// <param name="keepPortable">Keep portable flag.</param>
+        /// <param name="keepBinary">Keep binary flag.</param>
         /// <returns>Event.</returns>
-        public static ICacheEntryEvent<TK, TV> ReadEvent<TK, TV>(IPortableStream stream, 
-            PortableMarshaller marsh, bool keepPortable)
+        public static ICacheEntryEvent<TK, TV> ReadEvent<TK, TV>(IBinaryStream stream, 
+            Marshaller marsh, bool keepBinary)
         {
-            var reader = marsh.StartUnmarshal(stream, keepPortable);
+            var reader = marsh.StartUnmarshal(stream, keepBinary);
 
             return ReadEvent0<TK, TV>(reader);
         }
@@ -49,13 +49,13 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
         /// </summary>
         /// <param name="stream">Stream.</param>
         /// <param name="marsh">Marshaller.</param>
-        /// <param name="keepPortable">Keep portable flag.</param>
+        /// <param name="keepBinary">Keep binary flag.</param>
         /// <returns>Events.</returns>
         [SuppressMessage("ReSharper", "PossibleNullReferenceException")]
-        public static ICacheEntryEvent<TK, TV>[] ReadEvents<TK, TV>(IPortableStream stream,
-            PortableMarshaller marsh, bool keepPortable)
+        public static ICacheEntryEvent<TK, TV>[] ReadEvents<TK, TV>(IBinaryStream stream,
+            Marshaller marsh, bool keepBinary)
         {
-            var reader = marsh.StartUnmarshal(stream, keepPortable);
+            var reader = marsh.StartUnmarshal(stream, keepBinary);
 
             int cnt = reader.ReadInt();
 
@@ -72,7 +72,7 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
         /// </summary>
         /// <param name="reader">Reader.</param>
         /// <returns>Event.</returns>
-        private static ICacheEntryEvent<TK, TV> ReadEvent0<TK, TV>(PortableReaderImpl reader)
+        private static ICacheEntryEvent<TK, TV> ReadEvent0<TK, TV>(BinaryReader reader)
         {
             reader.DetachNext();
             TK key = reader.ReadObject<TK>();

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/FieldsQueryCursor.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/FieldsQueryCursor.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/FieldsQueryCursor.cs
index f38346c..6d45ecd 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/FieldsQueryCursor.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/FieldsQueryCursor.cs
@@ -18,7 +18,7 @@
 namespace Apache.Ignite.Core.Impl.Cache.Query
 {
     using System.Collections;
-    using Apache.Ignite.Core.Impl.Portable;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Unmanaged;
 
     /// <summary>
@@ -31,15 +31,15 @@ namespace Apache.Ignite.Core.Impl.Cache.Query
         /// </summary>
         /// <param name="target">Target.</param>
         /// <param name="marsh">Marshaler.</param>
-        /// <param name="keepPortable">Keep poratble flag.</param>
-        public FieldsQueryCursor(IUnmanagedTarget target, PortableMarshaller marsh, bool keepPortable)
-            : base(target, marsh, keepPortable)
+        /// <param name="keepBinary">Keep poratble flag.</param>
+        public FieldsQueryCursor(IUnmanagedTarget target, Marshaller marsh, bool keepBinary)
+            : base(target, marsh, keepBinary)
         {
             // No-op.
         }
 
         /** <inheritdoc /> */
-        protected override IList Read(PortableReaderImpl reader)
+        protected override IList Read(BinaryReader reader)
         {
             int cnt = reader.ReadInt();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/QueryCursor.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/QueryCursor.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/QueryCursor.cs
index 0b113f5..6670ae6 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/QueryCursor.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/QueryCursor.cs
@@ -18,7 +18,7 @@
 namespace Apache.Ignite.Core.Impl.Cache.Query
 {
     using Apache.Ignite.Core.Cache;
-    using Apache.Ignite.Core.Impl.Portable;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Unmanaged;
 
     /// <summary>
@@ -31,15 +31,15 @@ namespace Apache.Ignite.Core.Impl.Cache.Query
         /// </summary>
         /// <param name="target">Target.</param>
         /// <param name="marsh">Marshaler.</param>
-        /// <param name="keepPortable">Keep poratble flag.</param>
-        public QueryCursor(IUnmanagedTarget target, PortableMarshaller marsh,
-            bool keepPortable) : base(target, marsh, keepPortable)
+        /// <param name="keepBinary">Keep poratble flag.</param>
+        public QueryCursor(IUnmanagedTarget target, Marshaller marsh,
+            bool keepBinary) : base(target, marsh, keepBinary)
         {
             // No-op.
         }
 
         /** <inheritdoc /> */
-        protected override ICacheEntry<TK, TV> Read(PortableReaderImpl reader)
+        protected override ICacheEntry<TK, TV> Read(BinaryReader reader)
         {
             TK key = reader.ReadObject<TK>();
             TV val = reader.ReadObject<TV>();

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Store/CacheStore.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Store/CacheStore.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Store/CacheStore.cs
index 59f2264..c66eb5e 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Store/CacheStore.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Store/CacheStore.cs
@@ -19,14 +19,14 @@ namespace Apache.Ignite.Core.Impl.Cache.Store
 {
     using System.Collections;
     using System.Diagnostics;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Cache.Store;
     using Apache.Ignite.Core.Common;
+    using Apache.Ignite.Core.Impl.Binary;
+    using Apache.Ignite.Core.Impl.Binary.IO;
     using Apache.Ignite.Core.Impl.Handle;
-    using Apache.Ignite.Core.Impl.Portable;
-    using Apache.Ignite.Core.Impl.Portable.IO;
     using Apache.Ignite.Core.Impl.Resource;
     using Apache.Ignite.Core.Impl.Unmanaged;
-    using Apache.Ignite.Core.Portable;
 
     /// <summary>
     /// Interop cache store.
@@ -58,7 +58,7 @@ namespace Apache.Ignite.Core.Impl.Cache.Store
         private const byte OpSesEnd = 7;
         
         /** */
-        private readonly bool _convertPortable;
+        private readonly bool _convertBinary;
 
         /** Store. */
         private readonly ICacheStore _store;
@@ -73,14 +73,14 @@ namespace Apache.Ignite.Core.Impl.Cache.Store
         /// Initializes a new instance of the <see cref="CacheStore" /> class.
         /// </summary>
         /// <param name="store">Store.</param>
-        /// <param name="convertPortable">Whether to convert portable objects.</param>
+        /// <param name="convertBinary">Whether to convert binary objects.</param>
         /// <param name="registry">The handle registry.</param>
-        private CacheStore(ICacheStore store, bool convertPortable, HandleRegistry registry)
+        private CacheStore(ICacheStore store, bool convertBinary, HandleRegistry registry)
         {
             Debug.Assert(store != null);
 
             _store = store;
-            _convertPortable = convertPortable;
+            _convertBinary = convertBinary;
 
             _sesProxy = new CacheStoreSessionProxy();
 
@@ -101,17 +101,17 @@ namespace Apache.Ignite.Core.Impl.Cache.Store
         {
             using (var stream = IgniteManager.Memory.Get(memPtr).GetStream())
             {
-                var reader = PortableUtils.Marshaller.StartUnmarshal(stream, PortableMode.KeepPortable);
+                var reader = BinaryUtils.Marshaller.StartUnmarshal(stream, BinaryMode.KeepBinary);
 
                 var className = reader.ReadString();
-                var convertPortable = reader.ReadBoolean();
+                var convertBinary = reader.ReadBoolean();
                 var propertyMap = reader.ReadDictionaryAsGeneric<string, object>();
 
                 var store = IgniteUtils.CreateInstance<ICacheStore>(className);
 
                 IgniteUtils.SetProperties(store, propertyMap);
 
-                return new CacheStore(store, convertPortable, registry);
+                return new CacheStore(store, convertBinary, registry);
             }
         }
 
@@ -140,12 +140,12 @@ namespace Apache.Ignite.Core.Impl.Cache.Store
         /// <param name="grid">Grid.</param>
         /// <returns>Invocation result.</returns>
         /// <exception cref="IgniteException">Invalid operation type:  + opType</exception>
-        public int Invoke(IPortableStream input, IUnmanagedTarget cb, Ignite grid)
+        public int Invoke(IBinaryStream input, IUnmanagedTarget cb, Ignite grid)
         {
-            IPortableReader reader = grid.Marshaller.StartUnmarshal(input,
-                _convertPortable ? PortableMode.Deserialize : PortableMode.ForcePortable);
+            IBinaryReader reader = grid.Marshaller.StartUnmarshal(input,
+                _convertBinary ? BinaryMode.Deserialize : BinaryMode.ForceBinary);
             
-            IPortableRawReader rawReader = reader.GetRawReader();
+            IBinaryRawReader rawReader = reader.GetRawReader();
 
             int opType = rawReader.ReadByte();
 
@@ -235,7 +235,7 @@ namespace Apache.Ignite.Core.Impl.Cache.Store
         {
             using (var stream = IgniteManager.Memory.Allocate().GetStream())
             {
-                PortableWriterImpl writer = grid.Marshaller.StartMarshal(stream);
+                BinaryWriter writer = grid.Marshaller.StartMarshal(stream);
 
                 try
                 {

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterGroupImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterGroupImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterGroupImpl.cs
index 85762e3..fc673a6 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterGroupImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterGroupImpl.cs
@@ -23,20 +23,20 @@ namespace Apache.Ignite.Core.Impl.Cluster
     using System.Diagnostics.CodeAnalysis;
     using System.Linq;
     using System.Threading;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Cluster;
     using Apache.Ignite.Core.Common;
     using Apache.Ignite.Core.Compute;
     using Apache.Ignite.Core.Events;
+    using Apache.Ignite.Core.Impl.Binary;
+    using Apache.Ignite.Core.Impl.Binary.Metadata;
     using Apache.Ignite.Core.Impl.Common;
     using Apache.Ignite.Core.Impl.Compute;
     using Apache.Ignite.Core.Impl.Events;
     using Apache.Ignite.Core.Impl.Messaging;
-    using Apache.Ignite.Core.Impl.Portable;
-    using Apache.Ignite.Core.Impl.Portable.Metadata;
     using Apache.Ignite.Core.Impl.Services;
     using Apache.Ignite.Core.Impl.Unmanaged;
     using Apache.Ignite.Core.Messaging;
-    using Apache.Ignite.Core.Portable;
     using Apache.Ignite.Core.Services;
     using UU = Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils;
 
@@ -132,7 +132,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
         /// <param name="ignite">Grid.</param>
         /// <param name="pred">Predicate.</param>
         [SuppressMessage("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")]
-        public ClusterGroupImpl(IUnmanagedTarget proc, IUnmanagedTarget target, PortableMarshaller marsh,
+        public ClusterGroupImpl(IUnmanagedTarget proc, IUnmanagedTarget target, Marshaller marsh,
             Ignite ignite, Func<IClusterNode, bool> pred)
             : base(target, marsh)
         {
@@ -339,7 +339,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
             {
                 return DoInOp(OpMetrics, stream =>
                 {
-                    IPortableRawReader reader = Marshaller.StartUnmarshal(stream, false);
+                    IBinaryRawReader reader = Marshaller.StartUnmarshal(stream, false);
 
                     return reader.ReadBoolean() ? new ClusterMetricsImpl(reader) : null;
                 });
@@ -349,7 +349,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
                 WriteEnumerable(writer, GetNodes().Select(node => node.Id));
             }, stream =>
             {
-                IPortableRawReader reader = Marshaller.StartUnmarshal(stream, false);
+                IBinaryRawReader reader = Marshaller.StartUnmarshal(stream, false);
 
                 return reader.ReadBoolean() ? new ClusterMetricsImpl(reader) : null;
             });
@@ -405,7 +405,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
                     writer.WriteLong(lastUpdateTime);
                 }, stream =>
                 {
-                    IPortableRawReader reader = Marshaller.StartUnmarshal(stream, false);
+                    IBinaryRawReader reader = Marshaller.StartUnmarshal(stream, false);
 
                     return reader.ReadBoolean() ? new ClusterMetricsImpl(reader) : null;
                 }
@@ -495,7 +495,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
                 writer.WriteLong(oldTopVer);
             }, input =>
             {
-                PortableReaderImpl reader = Marshaller.StartUnmarshal(input);
+                BinaryReader reader = Marshaller.StartUnmarshal(input);
 
                 if (reader.ReadBoolean())
                 {
@@ -523,7 +523,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
         /// <param name="type">Operation type.</param>
         /// <param name="action">Action.</param>
         /// <returns>Native projection.</returns>
-        private IUnmanagedTarget DoProjetionOutOp(int type, Action<PortableWriterImpl> action)
+        private IUnmanagedTarget DoProjetionOutOp(int type, Action<BinaryWriter> action)
         {
             using (var stream = IgniteManager.Memory.Allocate().GetStream())
             {
@@ -538,15 +538,15 @@ namespace Apache.Ignite.Core.Impl.Cluster
         }
         
         /** <inheritDoc /> */
-        public IPortableMetadata GetMetadata(int typeId)
+        public IBinaryType GetBinaryType(int typeId)
         {
-            return DoOutInOp<IPortableMetadata>(OpMetadata, 
+            return DoOutInOp<IBinaryType>(OpMetadata, 
                 writer => writer.WriteInt(typeId),
                 stream =>
                 {
                     var reader = Marshaller.StartUnmarshal(stream, false);
 
-                    return reader.ReadBoolean() ? new PortableMetadataImpl(reader) : null;
+                    return reader.ReadBoolean() ? new BinaryType(reader) : null;
                 }
             );
         }
@@ -554,7 +554,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
         /// <summary>
         /// Gets metadata for all known types.
         /// </summary>
-        public List<IPortableMetadata> Metadata()
+        public List<IBinaryType> GetBinaryTypes()
         {
             return DoInOp(OpAllMetadata, s =>
             {
@@ -562,10 +562,10 @@ namespace Apache.Ignite.Core.Impl.Cluster
 
                 var size = reader.ReadInt();
 
-                var res = new List<IPortableMetadata>(size);
+                var res = new List<IBinaryType>(size);
 
                 for (var i = 0; i < size; i++)
-                    res.Add(reader.ReadBoolean() ? new PortableMetadataImpl(reader) : null);
+                    res.Add(reader.ReadBoolean() ? new BinaryType(reader) : null);
 
                 return res;
             });

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterMetricsImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterMetricsImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterMetricsImpl.cs
index 9d86311..3844d04 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterMetricsImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterMetricsImpl.cs
@@ -19,8 +19,8 @@ namespace Apache.Ignite.Core.Impl.Cluster
 {
     using System;
     using System.Diagnostics;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Cluster;
-    using Apache.Ignite.Core.Portable;
 
     /// <summary>
     /// Cluster metrics implementation.
@@ -31,7 +31,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
         /// Initializes a new instance of the <see cref="ClusterMetricsImpl"/> class.
         /// </summary>
         /// <param name="reader">The reader.</param>
-        public ClusterMetricsImpl(IPortableRawReader reader)
+        public ClusterMetricsImpl(IBinaryRawReader reader)
         {
             LastUpdateTimeRaw = reader.ReadLong();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterNodeImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterNodeImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterNodeImpl.cs
index 4e458f1..9b83dd5 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterNodeImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterNodeImpl.cs
@@ -20,11 +20,11 @@ namespace Apache.Ignite.Core.Impl.Cluster
     using System;
     using System.Collections.Generic;
     using System.Diagnostics;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Cluster;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Collections;
     using Apache.Ignite.Core.Impl.Common;
-    using Apache.Ignite.Core.Impl.Portable;
-    using Apache.Ignite.Core.Portable;
 
     /// <summary>
     /// Cluster node implementation.
@@ -65,7 +65,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
         /// Initializes a new instance of the <see cref="ClusterNodeImpl"/> class.
         /// </summary>
         /// <param name="reader">The reader.</param>
-        public ClusterNodeImpl(IPortableRawReader reader)
+        public ClusterNodeImpl(IBinaryRawReader reader)
         {
             var id = reader.ReadGuid();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/IClusterGroupEx.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/IClusterGroupEx.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/IClusterGroupEx.cs
index 8a766da..59162e6 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/IClusterGroupEx.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/IClusterGroupEx.cs
@@ -17,8 +17,8 @@
 
 namespace Apache.Ignite.Core.Impl.Cluster
 {
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Cluster;
-    using Apache.Ignite.Core.Portable;
 
     /// <summary>
     /// Extended internal Ignite interface.
@@ -30,6 +30,6 @@ namespace Apache.Ignite.Core.Impl.Cluster
         /// </summary>
         /// <param name="typeId">Type ID.</param>
         /// <returns>Metadata.</returns>
-        IPortableMetadata GetMetadata(int typeId);
+        IBinaryType GetBinaryType(int typeId);
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/DelegateTypeDescriptor.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/DelegateTypeDescriptor.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/DelegateTypeDescriptor.cs
index fb55d8e..2e837c4 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/DelegateTypeDescriptor.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/DelegateTypeDescriptor.cs
@@ -25,10 +25,10 @@ namespace Apache.Ignite.Core.Impl.Common
     using Apache.Ignite.Core.Compute;
     using Apache.Ignite.Core.Datastream;
     using Apache.Ignite.Core.Events;
+    using Apache.Ignite.Core.Impl.Binary.IO;
     using Apache.Ignite.Core.Impl.Cache;
     using Apache.Ignite.Core.Impl.Cache.Query.Continuous;
     using Apache.Ignite.Core.Impl.Datastream;
-    using Apache.Ignite.Core.Impl.Portable.IO;
     using Apache.Ignite.Core.Impl.Unmanaged;
     using Apache.Ignite.Core.Messaging;
 
@@ -67,7 +67,7 @@ namespace Apache.Ignite.Core.Impl.Common
         private readonly Action<object> _computeJobCancel;
 
         /** */
-        private readonly Action<object, Ignite, IUnmanagedTarget, IPortableStream, bool> _streamReceiver;
+        private readonly Action<object, Ignite, IUnmanagedTarget, IBinaryStream, bool> _streamReceiver;
 
         /** */
         private readonly Func<object, object> _streamTransformerCtor;
@@ -164,7 +164,7 @@ namespace Apache.Ignite.Core.Impl.Common
         /// </summary>
         /// <param name="type">Type.</param>
         /// <returns>Precompiled invocator delegate.</returns>
-        public static Action<object, Ignite, IUnmanagedTarget, IPortableStream, bool> GetStreamReceiver(Type type)
+        public static Action<object, Ignite, IUnmanagedTarget, IBinaryStream, bool> GetStreamReceiver(Type type)
         {
             return Get(type)._streamReceiver;
         }
@@ -314,12 +314,12 @@ namespace Apache.Ignite.Core.Impl.Common
                             .MakeGenericMethod(iface.GetGenericArguments());
 
                     _streamReceiver = DelegateConverter
-                        .CompileFunc<Action<object, Ignite, IUnmanagedTarget, IPortableStream, bool>>(
+                        .CompileFunc<Action<object, Ignite, IUnmanagedTarget, IBinaryStream, bool>>(
                             typeof (StreamReceiverHolder),
                             method,
                             new[]
                             {
-                                iface, typeof (Ignite), typeof (IUnmanagedTarget), typeof (IPortableStream),
+                                iface, typeof (Ignite), typeof (IUnmanagedTarget), typeof (IBinaryStream),
                                 typeof (bool)
                             },
                             new[] {true, false, false, false, false, false});

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/Future.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/Future.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/Future.cs
index 4bf8a32..9460be6 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/Future.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/Future.cs
@@ -20,7 +20,7 @@ namespace Apache.Ignite.Core.Impl.Common
     using System;
     using System.Diagnostics.CodeAnalysis;
     using System.Threading.Tasks;
-    using Apache.Ignite.Core.Impl.Portable.IO;
+    using Apache.Ignite.Core.Impl.Binary.IO;
 
     /// <summary>
     /// Grid future implementation.
@@ -65,7 +65,7 @@ namespace Apache.Ignite.Core.Impl.Common
 
         /** <inheritdoc /> */
         [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
-        public void OnResult(IPortableStream stream)
+        public void OnResult(IBinaryStream stream)
         {
             try
             {

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/FutureConverter.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/FutureConverter.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/FutureConverter.cs
index 5d158ec..0508ca8 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/FutureConverter.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/FutureConverter.cs
@@ -18,8 +18,8 @@
 namespace Apache.Ignite.Core.Impl.Common
 {
     using System;
-    using Apache.Ignite.Core.Impl.Portable;
-    using Apache.Ignite.Core.Impl.Portable.IO;
+    using Apache.Ignite.Core.Impl.Binary;
+    using Apache.Ignite.Core.Impl.Binary.IO;
 
     /// <summary>
     /// Marshals and converts future value.
@@ -27,34 +27,34 @@ namespace Apache.Ignite.Core.Impl.Common
     internal class FutureConverter<T> : IFutureConverter<T>
     {
         /** Marshaller. */
-        private readonly PortableMarshaller _marsh;
+        private readonly Marshaller _marsh;
 
-        /** Keep portable flag. */
-        private readonly bool _keepPortable;
+        /** Keep binary flag. */
+        private readonly bool _keepBinary;
 
         /** Converting function. */
-        private readonly Func<PortableReaderImpl, T> _func;
+        private readonly Func<BinaryReader, T> _func;
 
         /// <summary>
         /// Constructor.
         /// </summary>
         /// <param name="marsh">Marshaller.</param>
-        /// <param name="keepPortable">Keep portable.</param>
+        /// <param name="keepBinary">Keep binary flag.</param>
         /// <param name="func">Converting function.</param>
-        public FutureConverter(PortableMarshaller marsh, bool keepPortable,
-            Func<PortableReaderImpl, T> func = null)
+        public FutureConverter(Marshaller marsh, bool keepBinary,
+            Func<BinaryReader, T> func = null)
         {
             _marsh = marsh;
-            _keepPortable = keepPortable;
+            _keepBinary = keepBinary;
             _func = func ?? (reader => reader == null ? default(T) : reader.ReadObject<T>());
         }
 
         /// <summary>
         /// Read and convert a value.
         /// </summary>
-        public T Convert(IPortableStream stream)
+        public T Convert(IBinaryStream stream)
         {
-            var reader = stream == null ? null : _marsh.StartUnmarshal(stream, _keepPortable);
+            var reader = stream == null ? null : _marsh.StartUnmarshal(stream, _keepBinary);
 
             return _func(reader);
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IFutureConverter.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IFutureConverter.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IFutureConverter.cs
index d97adeb..12fb922 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IFutureConverter.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IFutureConverter.cs
@@ -18,7 +18,7 @@
 namespace Apache.Ignite.Core.Impl.Common
 {
     using System;
-    using Apache.Ignite.Core.Impl.Portable.IO;
+    using Apache.Ignite.Core.Impl.Binary.IO;
 
     /// <summary>
     /// Marshals and converts future value.
@@ -30,6 +30,6 @@ namespace Apache.Ignite.Core.Impl.Common
         /// Reads and converts a value.
         /// Null stream means null value.
         /// </summary>
-        T Convert(IPortableStream stream);
+        T Convert(IBinaryStream stream);
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IFutureInternal.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IFutureInternal.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IFutureInternal.cs
index 90f06be..5197fa8 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IFutureInternal.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IFutureInternal.cs
@@ -18,7 +18,7 @@
 namespace Apache.Ignite.Core.Impl.Common
 {
     using System;
-    using Apache.Ignite.Core.Impl.Portable.IO;
+    using Apache.Ignite.Core.Impl.Binary.IO;
 
     /// <summary>
     /// Internal future interface.
@@ -30,7 +30,7 @@ namespace Apache.Ignite.Core.Impl.Common
         /// Set result from stream.
         /// </summary>
         /// <param name="stream">Stream.</param>
-        void OnResult(IPortableStream stream);
+        void OnResult(IBinaryStream stream);
 
         /// <summary>
         /// Set null result.

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeActionJob.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeActionJob.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeActionJob.cs
index 24f78b3..d7c4311 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeActionJob.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeActionJob.cs
@@ -18,15 +18,15 @@
 namespace Apache.Ignite.Core.Impl.Compute.Closure
 {
     using System;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Compute;
-    using Apache.Ignite.Core.Impl.Portable;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Resource;
-    using Apache.Ignite.Core.Portable;
 
     /// <summary>
     /// System job which wraps over <c>Action</c>.
     /// </summary>
-    internal class ComputeActionJob : IComputeJob, IComputeResourceInjector, IPortableWriteAware
+    internal class ComputeActionJob : IComputeJob, IComputeResourceInjector, IBinaryWriteAware
     {
         /** Closure. */
         private readonly IComputeAction _action;
@@ -61,9 +61,9 @@ namespace Apache.Ignite.Core.Impl.Compute.Closure
         }
 
         /** <inheritDoc /> */
-        public void WritePortable(IPortableWriter writer)
+        public void WriteBinary(IBinaryWriter writer)
         {
-            var writer0 = (PortableWriterImpl)writer.GetRawWriter();
+            var writer0 = (BinaryWriter)writer.GetRawWriter();
 
             writer0.WithDetach(w => w.WriteObject(_action));
         }
@@ -72,9 +72,9 @@ namespace Apache.Ignite.Core.Impl.Compute.Closure
         /// Initializes a new instance of the <see cref="ComputeActionJob"/> class.
         /// </summary>
         /// <param name="reader">The reader.</param>
-        public ComputeActionJob(IPortableReader reader)
+        public ComputeActionJob(IBinaryReader reader)
         {
-            var reader0 = (PortableReaderImpl)reader.GetRawReader();
+            var reader0 = (BinaryReader)reader.GetRawReader();
 
             _action = reader0.ReadObject<IComputeAction>();
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeFuncJob.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeFuncJob.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeFuncJob.cs
index 5dcd3e8..8f76fcf 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeFuncJob.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeFuncJob.cs
@@ -18,14 +18,14 @@
 namespace Apache.Ignite.Core.Impl.Compute.Closure
 {
     using System;
-    using Apache.Ignite.Core.Impl.Portable;
+    using Apache.Ignite.Core.Binary;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Resource;
-    using Apache.Ignite.Core.Portable;
 
     /// <summary>
     /// System job which wraps over <c>Func</c>.
     /// </summary>
-    internal class ComputeFuncJob : IComputeJob, IComputeResourceInjector, IPortableWriteAware
+    internal class ComputeFuncJob : IComputeJob, IComputeResourceInjector, IBinaryWriteAware
     {
         /** Closure. */
         private readonly IComputeFunc _clo;
@@ -63,9 +63,9 @@ namespace Apache.Ignite.Core.Impl.Compute.Closure
         }
 
         /** <inheritDoc /> */
-        public void WritePortable(IPortableWriter writer)
+        public void WriteBinary(IBinaryWriter writer)
         {
-            PortableWriterImpl writer0 = (PortableWriterImpl) writer.GetRawWriter();
+            BinaryWriter writer0 = (BinaryWriter) writer.GetRawWriter();
 
             writer0.WithDetach(w => w.WriteObject(_clo));
             writer0.WithDetach(w => w.WriteObject(_arg));
@@ -75,9 +75,9 @@ namespace Apache.Ignite.Core.Impl.Compute.Closure
         /// Initializes a new instance of the <see cref="ComputeFuncJob"/> class.
         /// </summary>
         /// <param name="reader">The reader.</param>
-        public ComputeFuncJob(IPortableReader reader)
+        public ComputeFuncJob(IBinaryReader reader)
         {
-            var reader0 = (PortableReaderImpl) reader.GetRawReader();
+            var reader0 = (BinaryReader) reader.GetRawReader();
 
             _clo = reader0.ReadObject<IComputeFunc>();
             _arg = reader0.ReadObject<object>();

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeOutFuncJob.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeOutFuncJob.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeOutFuncJob.cs
index 1b671fd..c99d821 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeOutFuncJob.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Closure/ComputeOutFuncJob.cs
@@ -18,14 +18,14 @@
 namespace Apache.Ignite.Core.Impl.Compute.Closure
 {
     using System;
-    using Apache.Ignite.Core.Impl.Portable;
+    using Apache.Ignite.Core.Binary;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Resource;
-    using Apache.Ignite.Core.Portable;
 
     /// <summary>
     /// System job which wraps over <c>Func</c>.
     /// </summary>
-    internal class ComputeOutFuncJob : IComputeJob, IComputeResourceInjector, IPortableWriteAware
+    internal class ComputeOutFuncJob : IComputeJob, IComputeResourceInjector, IBinaryWriteAware
     {
         /** Closure. */
         private readonly IComputeOutFunc _clo;
@@ -58,16 +58,16 @@ namespace Apache.Ignite.Core.Impl.Compute.Closure
         }
 
         /** <inheritDoc /> */
-        public void WritePortable(IPortableWriter writer)
+        public void WriteBinary(IBinaryWriter writer)
         {
-            var writer0 = (PortableWriterImpl) writer.GetRawWriter();
+            var writer0 = (BinaryWriter) writer.GetRawWriter();
 
             writer0.WithDetach(w => w.WriteObject(_clo));
         }
 
-        public ComputeOutFuncJob(IPortableReader reader)
+        public ComputeOutFuncJob(IBinaryReader reader)
         {
-            var reader0 = (PortableReaderImpl) reader.GetRawReader();
+            var reader0 = (BinaryReader) reader.GetRawReader();
 
             _clo = reader0.ReadObject<IComputeOutFunc>();
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Compute.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Compute.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Compute.cs
index d0e920a..0f8fd33 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Compute.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/Compute.cs
@@ -66,9 +66,9 @@ namespace Apache.Ignite.Core.Impl.Compute
         }
 
         /** <inheritDoc /> */
-        public ICompute WithKeepPortable()
+        public ICompute WithKeepBinary()
         {
-            _compute.WithKeepPortable();
+            _compute.WithKeepBinary();
 
             return this;
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeFunc.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeFunc.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeFunc.cs
index f21d3da..454f7bb 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeFunc.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeFunc.cs
@@ -19,11 +19,11 @@ namespace Apache.Ignite.Core.Impl.Compute
 {
     using System;
     using System.Reflection;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Compute;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Common;
-    using Apache.Ignite.Core.Impl.Portable;
     using Apache.Ignite.Core.Impl.Resource;
-    using Apache.Ignite.Core.Portable;
     using Apache.Ignite.Core.Resource;
 
     /// <summary>
@@ -37,7 +37,7 @@ namespace Apache.Ignite.Core.Impl.Compute
     /// <summary>
     /// Wraps generic func into a non-generic for internal usage.
     /// </summary>
-    internal class ComputeFuncWrapper : IComputeFunc, IPortableWriteAware
+    internal class ComputeFuncWrapper : IComputeFunc, IBinaryWriteAware
     {
         /** */
         private readonly object _func;
@@ -71,9 +71,9 @@ namespace Apache.Ignite.Core.Impl.Compute
         }
 
         /** <inheritDoc /> */
-        public void WritePortable(IPortableWriter writer)
+        public void WriteBinary(IBinaryWriter writer)
         {
-            var writer0 = (PortableWriterImpl)writer.GetRawWriter();
+            var writer0 = (BinaryWriter)writer.GetRawWriter();
 
             writer0.WithDetach(w => w.WriteObject(_func));
         }
@@ -82,9 +82,9 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// Initializes a new instance of the <see cref="ComputeFuncWrapper"/> class.
         /// </summary>
         /// <param name="reader">The reader.</param>
-        public ComputeFuncWrapper(IPortableReader reader)
+        public ComputeFuncWrapper(IBinaryReader reader)
         {
-            var reader0 = (PortableReaderImpl)reader.GetRawReader();
+            var reader0 = (BinaryReader)reader.GetRawReader();
 
             _func = reader0.ReadObject<object>();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeImpl.cs
index 7adc49f..bbb9489 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeImpl.cs
@@ -28,11 +28,11 @@ namespace Apache.Ignite.Core.Impl.Compute
     using Apache.Ignite.Core.Cluster;
     using Apache.Ignite.Core.Common;
     using Apache.Ignite.Core.Compute;
+    using Apache.Ignite.Core.Impl.Binary;
+    using Apache.Ignite.Core.Impl.Binary.IO;
     using Apache.Ignite.Core.Impl.Cluster;
     using Apache.Ignite.Core.Impl.Common;
     using Apache.Ignite.Core.Impl.Compute.Closure;
-    using Apache.Ignite.Core.Impl.Portable;
-    using Apache.Ignite.Core.Impl.Portable.IO;
     using Apache.Ignite.Core.Impl.Unmanaged;
     using UU = Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils;
 
@@ -60,8 +60,8 @@ namespace Apache.Ignite.Core.Impl.Compute
         /** Underlying projection. */
         private readonly ClusterGroupImpl _prj;
 
-        /** Whether objects must be kept portable. */
-        private readonly ThreadLocal<bool> _keepPortable = new ThreadLocal<bool>(() => false);
+        /** Whether objects must be kept in binary form. */
+        private readonly ThreadLocal<bool> _keepBinary = new ThreadLocal<bool>(() => false);
 
         /// <summary>
         /// Constructor.
@@ -69,13 +69,13 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// <param name="target">Target.</param>
         /// <param name="marsh">Marshaller.</param>
         /// <param name="prj">Projection.</param>
-        /// <param name="keepPortable">"keepPortable" flag.</param>
-        public ComputeImpl(IUnmanagedTarget target, PortableMarshaller marsh, ClusterGroupImpl prj, bool keepPortable)
+        /// <param name="keepBinary">Binary flag.</param>
+        public ComputeImpl(IUnmanagedTarget target, Marshaller marsh, ClusterGroupImpl prj, bool keepBinary)
             : base(target, marsh)
         {
             _prj = prj;
 
-            _keepPortable.Value = keepPortable;
+            _keepBinary.Value = keepBinary;
         }
 
         /// <summary>
@@ -111,13 +111,13 @@ namespace Apache.Ignite.Core.Impl.Compute
         }
 
         /// <summary>
-        /// Sets keep-portable flag for the next executed Java task on this projection in the current
+        /// Sets keep-binary flag for the next executed Java task on this projection in the current
         /// thread so that task argument passed to Java and returned task results will not be
         /// deserialized.
         /// </summary>
-        public void WithKeepPortable()
+        public void WithKeepBinary()
         {
-            _keepPortable.Value = true;
+            _keepBinary.Value = true;
         }
 
         /// <summary>
@@ -141,7 +141,7 @@ namespace Apache.Ignite.Core.Impl.Compute
             }
             finally
             {
-                _keepPortable.Value = false;
+                _keepBinary.Value = false;
             }
         }
 
@@ -165,14 +165,14 @@ namespace Apache.Ignite.Core.Impl.Compute
                     WriteTask(writer, taskName, taskArg, nodes);
                 }, input =>
                 {
-                    fut = GetFuture<TReduceRes>((futId, futTyp) => UU.TargetListenFuture(Target, futId, futTyp), _keepPortable.Value);
+                    fut = GetFuture<TReduceRes>((futId, futTyp) => UU.TargetListenFuture(Target, futId, futTyp), _keepBinary.Value);
                 });
 
                 return fut;
             }
             finally
             {
-                _keepPortable.Value = false;
+                _keepBinary.Value = false;
             }
         }
 
@@ -468,9 +468,9 @@ namespace Apache.Ignite.Core.Impl.Compute
         }
 
         /** <inheritDoc /> */
-        protected override T Unmarshal<T>(IPortableStream stream)
+        protected override T Unmarshal<T>(IBinaryStream stream)
         {
-            bool keep = _keepPortable.Value;
+            bool keep = _keepBinary.Value;
 
             return Marshaller.Unmarshal<T>(stream, keep);
         }
@@ -506,7 +506,7 @@ namespace Apache.Ignite.Core.Impl.Compute
         private Future<TReduceRes> ExecuteClosures0<TArg, TJobRes, TReduceRes>(
             IComputeTask<TArg, TJobRes, TReduceRes> task, IComputeJob job = null,
             IEnumerable<IComputeJob> jobs = null, int opId = OpUnicast, int jobsCount = 0,
-            Action<PortableWriterImpl> writeAction = null)
+            Action<BinaryWriter> writeAction = null)
         {
             Debug.Assert(job != null || jobs != null);
 
@@ -576,7 +576,7 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// <param name="job">The job.</param>
         /// <param name="writer">The writer.</param>
         /// <returns>Handle to the job holder</returns>
-        private long WriteJob(IComputeJob job, PortableWriterImpl writer)
+        private long WriteJob(IComputeJob job, BinaryWriter writer)
         {
             var jobHolder = new ComputeJobHolder((Ignite) _prj.Ignite, job);
 
@@ -595,11 +595,11 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// <param name="taskName">Task name.</param>
         /// <param name="taskArg">Task arg.</param>
         /// <param name="nodes">Nodes.</param>
-        private void WriteTask(PortableWriterImpl writer, string taskName, object taskArg,
+        private void WriteTask(BinaryWriter writer, string taskName, object taskArg,
             ICollection<IClusterNode> nodes)
         {
             writer.WriteString(taskName);
-            writer.WriteBoolean(_keepPortable.Value);
+            writer.WriteBoolean(_keepBinary.Value);
             writer.Write(taskArg);
 
             WriteNodeIds(writer, nodes);
@@ -610,7 +610,7 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// </summary>
         /// <param name="writer">Writer.</param>
         /// <param name="nodes">Nodes.</param>
-        private static void WriteNodeIds(PortableWriterImpl writer, ICollection<IClusterNode> nodes)
+        private static void WriteNodeIds(BinaryWriter writer, ICollection<IClusterNode> nodes)
         {
             if (nodes == null)
                 writer.WriteBoolean(false);
@@ -630,7 +630,7 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// <param name="writer">The writer.</param>
         /// <param name="cacheName">Name of the cache to use for affinity co-location.</param>
         /// <param name="affinityKey">Affinity key.</param>
-        private static void WriteAffinity(PortableWriterImpl writer, string cacheName, object affinityKey)
+        private static void WriteAffinity(BinaryWriter writer, string cacheName, object affinityKey)
         {
             writer.WriteString(cacheName);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeJob.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeJob.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeJob.cs
index eb8fee5..526c445 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeJob.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeJob.cs
@@ -19,11 +19,11 @@ namespace Apache.Ignite.Core.Impl.Compute
 {
     using System;
     using System.Reflection;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Compute;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Common;
-    using Apache.Ignite.Core.Impl.Portable;
     using Apache.Ignite.Core.Impl.Resource;
-    using Apache.Ignite.Core.Portable;
     using Apache.Ignite.Core.Resource;
 
     /// <summary>
@@ -37,7 +37,7 @@ namespace Apache.Ignite.Core.Impl.Compute
     /// <summary>
     /// Wraps generic func into a non-generic for internal usage.
     /// </summary>
-    internal class ComputeJobWrapper : IComputeJob, IPortableWriteAware
+    internal class ComputeJobWrapper : IComputeJob, IBinaryWriteAware
     {
         /** */
         private readonly Func<object, object> _execute;
@@ -52,9 +52,9 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// Initializes a new instance of the <see cref="ComputeJobWrapper"/> class.
         /// </summary>
         /// <param name="reader">The reader.</param>
-        public ComputeJobWrapper(IPortableReader reader)
+        public ComputeJobWrapper(IBinaryReader reader)
         {
-            var reader0 = (PortableReaderImpl)reader.GetRawReader();
+            var reader0 = (BinaryReader)reader.GetRawReader();
 
             _job = reader0.ReadObject<object>();
 
@@ -100,9 +100,9 @@ namespace Apache.Ignite.Core.Impl.Compute
         }
 
         /** <inheritDoc /> */
-        public void WritePortable(IPortableWriter writer)
+        public void WriteBinary(IBinaryWriter writer)
         {
-            var writer0 = (PortableWriterImpl)writer.GetRawWriter();
+            var writer0 = (BinaryWriter)writer.GetRawWriter();
 
             writer0.WithDetach(w => w.WriteObject(Job));
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeJobHolder.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeJobHolder.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeJobHolder.cs
index 178937c..0d93010 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeJobHolder.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeJobHolder.cs
@@ -20,19 +20,19 @@ namespace Apache.Ignite.Core.Impl.Compute
     using System;
     using System.Diagnostics;
     using System.Diagnostics.CodeAnalysis;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Common;
+    using Apache.Ignite.Core.Impl.Binary;
+    using Apache.Ignite.Core.Impl.Binary.IO;
     using Apache.Ignite.Core.Impl.Cluster;
     using Apache.Ignite.Core.Impl.Compute.Closure;
     using Apache.Ignite.Core.Impl.Memory;
-    using Apache.Ignite.Core.Impl.Portable;
-    using Apache.Ignite.Core.Impl.Portable.IO;
     using Apache.Ignite.Core.Impl.Resource;
-    using Apache.Ignite.Core.Portable;
 
     /// <summary>
     /// Holder for user-provided compute job.
     /// </summary>
-    internal class ComputeJobHolder : IPortableWriteAware
+    internal class ComputeJobHolder : IBinaryWriteAware
     {
         /** Actual job. */
         private readonly IComputeJob _job;
@@ -47,11 +47,11 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// Default ctor for marshalling.
         /// </summary>
         /// <param name="reader"></param>
-        public ComputeJobHolder(IPortableReader reader)
+        public ComputeJobHolder(IBinaryReader reader)
         {
             Debug.Assert(reader != null);
 
-            var reader0 = (PortableReaderImpl) reader.GetRawReader();
+            var reader0 = (BinaryReader) reader.GetRawReader();
 
             _ignite = reader0.Marshaller.Ignite;
 
@@ -108,12 +108,12 @@ namespace Apache.Ignite.Core.Impl.Compute
             // 2. Try writing result to the stream.
             ClusterGroupImpl prj = _ignite.ClusterGroup;
 
-            PortableWriterImpl writer = prj.Marshaller.StartMarshal(stream);
+            BinaryWriter writer = prj.Marshaller.StartMarshal(stream);
 
             try
             {
                 // 3. Marshal results.
-                PortableUtils.WriteInvocationResult(writer, success, res);
+                BinaryUtils.WriteInvocationResult(writer, success, res);
             }
             finally
             {
@@ -137,11 +137,11 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// <returns>True if successfull.</returns>
         [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes",
             Justification = "User job can throw any exception")]
-        internal bool Serialize(IPortableStream stream)
+        internal bool Serialize(IBinaryStream stream)
         {
             ClusterGroupImpl prj = _ignite.ClusterGroup;
 
-            PortableWriterImpl writer = prj.Marshaller.StartMarshal(stream);
+            BinaryWriter writer = prj.Marshaller.StartMarshal(stream);
 
             try
             {
@@ -216,9 +216,9 @@ namespace Apache.Ignite.Core.Impl.Compute
         }
 
         /** <inheritDoc /> */
-        public void WritePortable(IPortableWriter writer)
+        public void WriteBinary(IBinaryWriter writer)
         {
-            PortableWriterImpl writer0 = (PortableWriterImpl) writer.GetRawWriter();
+            BinaryWriter writer0 = (BinaryWriter) writer.GetRawWriter();
 
             writer0.WithDetach(w => w.WriteObject(_job));
         }
@@ -229,7 +229,7 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// <param name="grid">Grid.</param>
         /// <param name="stream">Stream.</param>
         /// <returns></returns>
-        internal static ComputeJobHolder CreateJob(Ignite grid, IPortableStream stream)
+        internal static ComputeJobHolder CreateJob(Ignite grid, IBinaryStream stream)
         {
             try
             {

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeOutFunc.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeOutFunc.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeOutFunc.cs
index 3746bbe..1867f8c 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeOutFunc.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeOutFunc.cs
@@ -20,11 +20,11 @@ namespace Apache.Ignite.Core.Impl.Compute
     using System;
     using System.Diagnostics;
     using System.Reflection;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Compute;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Common;
-    using Apache.Ignite.Core.Impl.Portable;
     using Apache.Ignite.Core.Impl.Resource;
-    using Apache.Ignite.Core.Portable;
     using Apache.Ignite.Core.Resource;
 
     /// <summary>
@@ -38,7 +38,7 @@ namespace Apache.Ignite.Core.Impl.Compute
     /// <summary>
     /// Wraps generic func into a non-generic for internal usage.
     /// </summary>
-    internal class ComputeOutFuncWrapper : IComputeOutFunc, IPortableWriteAware
+    internal class ComputeOutFuncWrapper : IComputeOutFunc, IBinaryWriteAware
     {
         /** */
         private readonly object _func;
@@ -75,9 +75,9 @@ namespace Apache.Ignite.Core.Impl.Compute
         }
 
         /** <inheritDoc /> */
-        public void WritePortable(IPortableWriter writer)
+        public void WriteBinary(IBinaryWriter writer)
         {
-            var writer0 = (PortableWriterImpl)writer.GetRawWriter();
+            var writer0 = (BinaryWriter)writer.GetRawWriter();
 
             writer0.WithDetach(w => w.WriteObject(_func));
         }
@@ -86,9 +86,9 @@ namespace Apache.Ignite.Core.Impl.Compute
         /// Initializes a new instance of the <see cref="ComputeOutFuncWrapper"/> class.
         /// </summary>
         /// <param name="reader">The reader.</param>
-        public ComputeOutFuncWrapper(IPortableReader reader)
+        public ComputeOutFuncWrapper(IBinaryReader reader)
         {
-            var reader0 = (PortableReaderImpl)reader.GetRawReader();
+            var reader0 = (BinaryReader)reader.GetRawReader();
 
             _func = reader0.ReadObject<object>();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeTaskHolder.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeTaskHolder.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeTaskHolder.cs
index 1cd13a8..8f9d06a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeTaskHolder.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeTaskHolder.cs
@@ -26,11 +26,11 @@ namespace Apache.Ignite.Core.Impl.Compute
     using Apache.Ignite.Core.Cluster;
     using Apache.Ignite.Core.Common;
     using Apache.Ignite.Core.Compute;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Cluster;
     using Apache.Ignite.Core.Impl.Common;
     using Apache.Ignite.Core.Impl.Compute.Closure;
     using Apache.Ignite.Core.Impl.Memory;
-    using Apache.Ignite.Core.Impl.Portable;
     using Apache.Ignite.Core.Impl.Resource;
 
     /// <summary>
@@ -208,7 +208,7 @@ namespace Apache.Ignite.Core.Impl.Compute
             }
 
             // 3. Write map result to the output stream.
-            PortableWriterImpl writer = prj.Marshaller.StartMarshal(outStream);
+            BinaryWriter writer = prj.Marshaller.StartMarshal(outStream);
 
             try
             {
@@ -288,7 +288,7 @@ namespace Apache.Ignite.Core.Impl.Compute
         public int JobResultRemote(ComputeJobHolder job, PlatformMemoryStream stream)
         {
             // 1. Unmarshal result.
-            PortableReaderImpl reader = _compute.Marshaller.StartUnmarshal(stream);
+            BinaryReader reader = _compute.Marshaller.StartUnmarshal(stream);
 
             var nodeId = reader.ReadGuid();
             Debug.Assert(nodeId.HasValue);
@@ -299,7 +299,7 @@ namespace Apache.Ignite.Core.Impl.Compute
             {
                 object err;
 
-                var data = PortableUtils.ReadInvocationResult(reader, out err);
+                var data = BinaryUtils.ReadInvocationResult(reader, out err);
 
                 // 2. Process the result.
                 return (int) JobResult0(new ComputeJobResultImpl(data, (Exception) err, job.Job, nodeId.Value, cancelled));
@@ -358,14 +358,14 @@ namespace Apache.Ignite.Core.Impl.Compute
             Justification = "User object deserialization can throw any exception")]
         public void CompleteWithError(long taskHandle, PlatformMemoryStream stream)
         {
-            PortableReaderImpl reader = _compute.Marshaller.StartUnmarshal(stream);
+            BinaryReader reader = _compute.Marshaller.StartUnmarshal(stream);
 
             Exception err;
 
             try
             {
                 err = reader.ReadBoolean()
-                    ? reader.ReadObject<PortableUserObject>().Deserialize<Exception>()
+                    ? reader.ReadObject<BinaryObject>().Deserialize<Exception>()
                     : ExceptionUtils.GetException(reader.ReadString(), reader.ReadString());
             }
             catch (Exception e)

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/DataStructures/AtomicLong.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/DataStructures/AtomicLong.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/DataStructures/AtomicLong.cs
index a4785eb..6fefe3b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/DataStructures/AtomicLong.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/DataStructures/AtomicLong.cs
@@ -19,7 +19,7 @@ namespace Apache.Ignite.Core.Impl.DataStructures
 {
     using System.Diagnostics;
     using Apache.Ignite.Core.DataStructures;
-    using Apache.Ignite.Core.Impl.Portable;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Unmanaged;
 
     using UU = Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils;
@@ -38,7 +38,7 @@ namespace Apache.Ignite.Core.Impl.DataStructures
         /// <param name="target">The target.</param>
         /// <param name="marsh">The marshaller.</param>
         /// <param name="name">The name.</param>
-        public AtomicLong(IUnmanagedTarget target, PortableMarshaller marsh, string name) : base(target, marsh)
+        public AtomicLong(IUnmanagedTarget target, Marshaller marsh, string name) : base(target, marsh)
         {
             Debug.Assert(!string.IsNullOrEmpty(name));
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerBatch.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerBatch.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerBatch.cs
index 576c805..29ec642 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerBatch.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerBatch.cs
@@ -23,8 +23,8 @@ namespace Apache.Ignite.Core.Impl.Datastream
     using System.Diagnostics.CodeAnalysis;
     using System.Threading;
     using System.Threading.Tasks;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Common;
-    using Apache.Ignite.Core.Impl.Portable;
 
     /// <summary>
     /// Data streamer batch.
@@ -204,8 +204,8 @@ namespace Apache.Ignite.Core.Impl.Datastream
         /// <summary>
         /// Write batch content.
         /// </summary>
-        /// <param name="writer">Portable writer.</param>
-        private void WriteTo(PortableWriterImpl writer)
+        /// <param name="writer">Writer.</param>
+        private void WriteTo(BinaryWriter writer)
         {
             writer.WriteInt(_size);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerImpl.cs
index 586d19f..3686ecb 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerImpl.cs
@@ -23,8 +23,8 @@ namespace Apache.Ignite.Core.Impl.Datastream
     using System.Threading;
     using System.Threading.Tasks;
     using Apache.Ignite.Core.Datastream;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Common;
-    using Apache.Ignite.Core.Impl.Portable;
     using Apache.Ignite.Core.Impl.Unmanaged;
     using UU = Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils;
 
@@ -103,8 +103,8 @@ namespace Apache.Ignite.Core.Impl.Datastream
         /** Receiver handle. */
         private long _rcvHnd;
 
-        /** Receiver portable mode. */
-        private readonly bool _keepPortable;
+        /** Receiver binary mode. */
+        private readonly bool _keepBinary;
 
         /// <summary>
         /// Constructor.
@@ -112,12 +112,12 @@ namespace Apache.Ignite.Core.Impl.Datastream
         /// <param name="target">Target.</param>
         /// <param name="marsh">Marshaller.</param>
         /// <param name="cacheName">Cache name.</param>
-        /// <param name="keepPortable">Portable flag.</param>
-        public DataStreamerImpl(IUnmanagedTarget target, PortableMarshaller marsh, string cacheName, bool keepPortable)
+        /// <param name="keepBinary">Binary flag.</param>
+        public DataStreamerImpl(IUnmanagedTarget target, Marshaller marsh, string cacheName, bool keepBinary)
             : base(target, marsh)
         {
             _cacheName = cacheName;
-            _keepPortable = keepPortable;
+            _keepBinary = keepBinary;
 
             // Create empty batch.
             _batch = new DataStreamerBatch<TK, TV>();
@@ -361,9 +361,9 @@ namespace Apache.Ignite.Core.Impl.Datastream
                         return;
 
                     var rcvHolder = new StreamReceiverHolder(value,
-                        (rec, grid, cache, stream, keepPortable) =>
+                        (rec, grid, cache, stream, keepBinary) =>
                             StreamReceiverHolder.InvokeReceiver((IStreamReceiver<TK, TV>) rec, grid, cache, stream,
-                                keepPortable));
+                                keepBinary));
 
                     var rcvHnd0 = handleRegistry.Allocate(rcvHolder);
 
@@ -505,16 +505,16 @@ namespace Apache.Ignite.Core.Impl.Datastream
         }
 
         /** <inheritDoc /> */
-        public IDataStreamer<TK1, TV1> WithKeepPortable<TK1, TV1>()
+        public IDataStreamer<TK1, TV1> WithKeepBinary<TK1, TV1>()
         {
-            if (_keepPortable)
+            if (_keepBinary)
             {
                 var result = this as IDataStreamer<TK1, TV1>;
 
                 if (result == null)
                     throw new InvalidOperationException(
-                        "Can't change type of portable streamer. WithKeepPortable has been called on an instance of " +
-                        "portable streamer with incompatible generic arguments.");
+                        "Can't change type of binary streamer. WithKeepBinary has been called on an instance of " +
+                        "binary streamer with incompatible generic arguments.");
 
                 return result;
             }
@@ -642,7 +642,7 @@ namespace Apache.Ignite.Core.Impl.Datastream
         /// Start write.
         /// </summary>
         /// <returns>Writer.</returns>
-        internal void Update(Action<PortableWriterImpl> action)
+        internal void Update(Action<BinaryWriter> action)
         {
             _rwLock.EnterReadLock();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/StreamReceiverHolder.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/StreamReceiverHolder.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/StreamReceiverHolder.cs
index 4c72a90..90ade5a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/StreamReceiverHolder.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/StreamReceiverHolder.cs
@@ -20,19 +20,19 @@ namespace Apache.Ignite.Core.Impl.Datastream
     using System;
     using System.Collections.Generic;
     using System.Diagnostics;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Cache;
     using Apache.Ignite.Core.Datastream;
+    using Apache.Ignite.Core.Impl.Binary;
+    using Apache.Ignite.Core.Impl.Binary.IO;
     using Apache.Ignite.Core.Impl.Cache;
     using Apache.Ignite.Core.Impl.Common;
-    using Apache.Ignite.Core.Impl.Portable;
-    using Apache.Ignite.Core.Impl.Portable.IO;
     using Apache.Ignite.Core.Impl.Unmanaged;
-    using Apache.Ignite.Core.Portable;
 
     /// <summary>
-    /// Portable wrapper for <see cref="IStreamReceiver{TK,TV}"/>.
+    /// Binary wrapper for <see cref="IStreamReceiver{TK,TV}"/>.
     /// </summary>
-    internal class StreamReceiverHolder : IPortableWriteAware
+    internal class StreamReceiverHolder : IBinaryWriteAware
     {
         /** */
         private const byte RcvNormal = 0;
@@ -44,13 +44,13 @@ namespace Apache.Ignite.Core.Impl.Datastream
         private readonly object _rcv;
         
         /** Invoker delegate. */
-        private readonly Action<object, Ignite, IUnmanagedTarget, IPortableStream, bool> _invoke;
+        private readonly Action<object, Ignite, IUnmanagedTarget, IBinaryStream, bool> _invoke;
 
         /// <summary>
         /// Initializes a new instance of the <see cref="StreamReceiverHolder"/> class.
         /// </summary>
         /// <param name="reader">The reader.</param>
-        public StreamReceiverHolder(PortableReaderImpl reader)
+        public StreamReceiverHolder(BinaryReader reader)
         {
             var rcvType = reader.ReadByte();
 
@@ -77,7 +77,7 @@ namespace Apache.Ignite.Core.Impl.Datastream
         /// <param name="rcv">Receiver.</param>
         /// <param name="invoke">Invoke delegate.</param>
         public StreamReceiverHolder(object rcv, 
-            Action<object, Ignite, IUnmanagedTarget, IPortableStream, bool> invoke)
+            Action<object, Ignite, IUnmanagedTarget, IBinaryStream, bool> invoke)
         {
             Debug.Assert(rcv != null);
             Debug.Assert(invoke != null);
@@ -87,14 +87,14 @@ namespace Apache.Ignite.Core.Impl.Datastream
         }
 
         /** <inheritdoc /> */
-        public void WritePortable(IPortableWriter writer)
+        public void WriteBinary(IBinaryWriter writer)
         {
             var w = writer.GetRawWriter();
 
-            var writeAware = _rcv as IPortableWriteAware;
+            var writeAware = _rcv as IBinaryWriteAware;
 
             if (writeAware != null)
-                writeAware.WritePortable(writer);
+                writeAware.WriteBinary(writer);
             else
             {
                 w.WriteByte(RcvNormal);
@@ -108,14 +108,14 @@ namespace Apache.Ignite.Core.Impl.Datastream
         /// <param name="grid">The grid.</param>
         /// <param name="cache">Cache.</param>
         /// <param name="stream">Stream.</param>
-        /// <param name="keepPortable">Portable flag.</param>
-        public void Receive(Ignite grid, IUnmanagedTarget cache, IPortableStream stream, bool keepPortable)
+        /// <param name="keepBinary">Binary flag.</param>
+        public void Receive(Ignite grid, IUnmanagedTarget cache, IBinaryStream stream, bool keepBinary)
         {
             Debug.Assert(grid != null);
             Debug.Assert(cache != null);
             Debug.Assert(stream != null);
 
-            _invoke(_rcv, grid, cache, stream, keepPortable);
+            _invoke(_rcv, grid, cache, stream, keepBinary);
         }
 
         /// <summary>
@@ -125,11 +125,11 @@ namespace Apache.Ignite.Core.Impl.Datastream
         /// <param name="grid">Grid.</param>
         /// <param name="cache">Cache.</param>
         /// <param name="stream">Stream.</param>
-        /// <param name="keepPortable">Portable flag.</param>
+        /// <param name="keepBinary">Binary flag.</param>
         public static void InvokeReceiver<TK, TV>(IStreamReceiver<TK, TV> receiver, Ignite grid, IUnmanagedTarget cache,
-            IPortableStream stream, bool keepPortable)
+            IBinaryStream stream, bool keepBinary)
         {
-            var reader = grid.Marshaller.StartUnmarshal(stream, keepPortable);
+            var reader = grid.Marshaller.StartUnmarshal(stream, keepBinary);
 
             var size = reader.ReadInt();
 
@@ -138,7 +138,7 @@ namespace Apache.Ignite.Core.Impl.Datastream
             for (var i = 0; i < size; i++)
                 entries.Add(new CacheEntry<TK, TV>(reader.ReadObject<TK>(), reader.ReadObject<TV>()));
 
-            receiver.Receive(grid.Cache<TK, TV>(cache, keepPortable), entries);
+            receiver.Receive(grid.Cache<TK, TV>(cache, keepBinary), entries);
         }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Events/Events.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Events/Events.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Events/Events.cs
index 800ed13..098102a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Events/Events.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Events/Events.cs
@@ -23,14 +23,14 @@ namespace Apache.Ignite.Core.Impl.Events
     using System.Diagnostics.CodeAnalysis;
     using System.Linq;
     using System.Threading.Tasks;
+    using Apache.Ignite.Core.Binary;
     using Apache.Ignite.Core.Cluster;
     using Apache.Ignite.Core.Events;
+    using Apache.Ignite.Core.Impl.Binary;
+    using Apache.Ignite.Core.Impl.Binary.IO;
     using Apache.Ignite.Core.Impl.Common;
     using Apache.Ignite.Core.Impl.Handle;
-    using Apache.Ignite.Core.Impl.Portable;
-    using Apache.Ignite.Core.Impl.Portable.IO;
     using Apache.Ignite.Core.Impl.Unmanaged;
-    using Apache.Ignite.Core.Portable;
     using UU = Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils;
 
     /// <summary>
@@ -71,7 +71,7 @@ namespace Apache.Ignite.Core.Impl.Events
         /// <param name="target">Target.</param>
         /// <param name="marsh">Marshaller.</param>
         /// <param name="clusterGroup">Cluster group.</param>
-        public Events(IUnmanagedTarget target, PortableMarshaller marsh, IClusterGroup clusterGroup) 
+        public Events(IUnmanagedTarget target, Marshaller marsh, IClusterGroup clusterGroup) 
             : base(target, marsh)
         {
             Debug.Assert(clusterGroup != null);
@@ -421,25 +421,25 @@ namespace Apache.Ignite.Core.Impl.Events
         }
 
         /// <summary>
-        /// Reads events from a portable stream.
+        /// Reads events from a binary stream.
         /// </summary>
         /// <typeparam name="T">Event type.</typeparam>
         /// <param name="reader">Reader.</param>
         /// <returns>Resulting list or null.</returns>
-        private ICollection<T> ReadEvents<T>(IPortableStream reader) where T : IEvent
+        private ICollection<T> ReadEvents<T>(IBinaryStream reader) where T : IEvent
         {
             return ReadEvents<T>(Marshaller.StartUnmarshal(reader));
         }
 
         /// <summary>
-        /// Reads events from a portable reader.
+        /// Reads events from a binary reader.
         /// </summary>
         /// <typeparam name="T">Event type.</typeparam>
-        /// <param name="portableReader">Reader.</param>
+        /// <param name="binaryReader">Reader.</param>
         /// <returns>Resulting list or null.</returns>
-        private static ICollection<T> ReadEvents<T>(PortableReaderImpl portableReader) where T : IEvent
+        private static ICollection<T> ReadEvents<T>(BinaryReader binaryReader) where T : IEvent
         {
-            var count = portableReader.GetRawReader().ReadInt();
+            var count = binaryReader.GetRawReader().ReadInt();
 
             if (count == -1)
                 return null;
@@ -447,7 +447,7 @@ namespace Apache.Ignite.Core.Impl.Events
             var result = new List<T>(count);
 
             for (var i = 0; i < count; i++)
-                result.Add(EventReader.Read<T>(portableReader));
+                result.Add(EventReader.Read<T>(binaryReader));
 
             return result;
         }
@@ -549,7 +549,7 @@ namespace Apache.Ignite.Core.Impl.Events
         /// <param name="stream">The stream.</param>
         /// <param name="listener">The listener.</param>
         /// <returns>Filter invocation result.</returns>
-        private bool InvokeLocalFilter<T>(IPortableStream stream, IEventFilter<T> listener) where T : IEvent
+        private bool InvokeLocalFilter<T>(IBinaryStream stream, IEventFilter<T> listener) where T : IEvent
         {
             var evt = EventReader.Read<T>(Marshaller.StartUnmarshal(stream));
 
@@ -563,7 +563,7 @@ namespace Apache.Ignite.Core.Impl.Events
         /// <param name="stream">The stream.</param>
         /// <param name="listener">The listener.</param>
         /// <returns>Filter invocation result.</returns>
-        private bool InvokeLocalListener<T>(IPortableStream stream, IEventListener<T> listener) where T : IEvent
+        private bool InvokeLocalListener<T>(IBinaryStream stream, IEventListener<T> listener) where T : IEvent
         {
             var evt = EventReader.Read<T>(Marshaller.StartUnmarshal(stream));
 
@@ -575,7 +575,7 @@ namespace Apache.Ignite.Core.Impl.Events
         /// </summary>
         /// <param name="types">Types.</param>
         /// <param name="writer">Writer.</param>
-        private static void WriteEventTypes(int[] types, IPortableRawWriter writer)
+        private static void WriteEventTypes(int[] types, IBinaryRawWriter writer)
         {
             if (types != null && types.Length == 0)
                 types = null;  // empty array means no type filtering
@@ -587,7 +587,7 @@ namespace Apache.Ignite.Core.Impl.Events
         /// Writes the event types.
         /// </summary>
         /// <param name="reader">Reader.</param>
-        private int[] ReadEventTypes(IPortableStream reader)
+        private int[] ReadEventTypes(IBinaryStream reader)
         {
             return Marshaller.StartUnmarshal(reader).ReadIntArray();
         }
@@ -609,10 +609,10 @@ namespace Apache.Ignite.Core.Impl.Events
         private class LocalEventFilter : IInteropCallback
         {
             /** */
-            public Func<IPortableStream, bool> InvokeFunc;
+            public Func<IBinaryStream, bool> InvokeFunc;
 
             /** <inheritdoc /> */
-            public int Invoke(IPortableStream stream)
+            public int Invoke(IBinaryStream stream)
             {
                 return InvokeFunc(stream) ? 1 : 0;
             }
@@ -621,13 +621,13 @@ namespace Apache.Ignite.Core.Impl.Events
         /// <summary>
         /// Local user filter wrapper with handle.
         /// </summary>
-        private class LocalHandledEventFilter : Handle<Func<IPortableStream, bool>>, IInteropCallback
+        private class LocalHandledEventFilter : Handle<Func<IBinaryStream, bool>>, IInteropCallback
         {
             /** */
             public long Handle;
 
             /** <inheritdoc /> */
-            public int Invoke(IPortableStream stream)
+            public int Invoke(IBinaryStream stream)
             {
                 return Target(stream) ? 1 : 0;
             }
@@ -638,7 +638,7 @@ namespace Apache.Ignite.Core.Impl.Events
             /// <param name="invokeFunc">The invoke function.</param>
             /// <param name="releaseAction">The release action.</param>
             public LocalHandledEventFilter(
-                Func<IPortableStream, bool> invokeFunc, Action<Func<IPortableStream, bool>> releaseAction) 
+                Func<IBinaryStream, bool> invokeFunc, Action<Func<IBinaryStream, bool>> releaseAction) 
                 : base(invokeFunc, releaseAction)
             {
                 // No-op.

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Events/RemoteListenEventFilter.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Events/RemoteListenEventFilter.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Events/RemoteListenEventFilter.cs
index cd04c66..31bfff1 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Events/RemoteListenEventFilter.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Events/RemoteListenEventFilter.cs
@@ -20,8 +20,8 @@ namespace Apache.Ignite.Core.Impl.Events
     using System;
     using System.Diagnostics;
     using Apache.Ignite.Core.Events;
+    using Apache.Ignite.Core.Impl.Binary.IO;
     using Apache.Ignite.Core.Impl.Common;
-    using Apache.Ignite.Core.Impl.Portable.IO;
 
     /// <summary>
     /// Event filter/listener holder for RemoteListen.
@@ -46,7 +46,7 @@ namespace Apache.Ignite.Core.Impl.Events
         }
 
         /** <inheritdoc /> */
-        public int Invoke(IPortableStream stream)
+        public int Invoke(IBinaryStream stream)
         {
             var reader = _ignite.Marshaller.StartUnmarshal(stream);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/ExceptionUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/ExceptionUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/ExceptionUtils.cs
index c12a651..e0735e1 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/ExceptionUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/ExceptionUtils.cs
@@ -28,7 +28,7 @@ namespace Apache.Ignite.Core.Impl
     using Apache.Ignite.Core.Cluster;
     using Apache.Ignite.Core.Common;
     using Apache.Ignite.Core.Compute;
-    using Apache.Ignite.Core.Impl.Portable;
+    using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Transactions;
 
     /// <summary>
@@ -103,7 +103,7 @@ namespace Apache.Ignite.Core.Impl
         /// <param name="clsName">Exception class name.</param>
         /// <param name="msg">Exception message.</param>
         /// <param name="reader">Error data reader.</param>
-        public static Exception GetException(string clsName, string msg, PortableReaderImpl reader = null)
+        public static Exception GetException(string clsName, string msg, BinaryReader reader = null)
         {
             ExceptionFactoryDelegate ctor;
 
@@ -131,7 +131,7 @@ namespace Apache.Ignite.Core.Impl
         /// <param name="reader">Reader.</param>
         /// <returns></returns>
         [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
-        private static Exception ProcessCachePartialUpdateException(string msg, PortableReaderImpl reader)
+        private static Exception ProcessCachePartialUpdateException(string msg, BinaryReader reader)
         {
             if (reader == null)
                 return new CachePartialUpdateException(msg, new IgniteException("Failed keys are not available."));
@@ -142,9 +142,9 @@ namespace Apache.Ignite.Core.Impl
 
             if (reader.ReadBoolean())
             {
-                bool keepPortable = reader.ReadBoolean();
+                bool keepBinary = reader.ReadBoolean();
 
-                PortableReaderImpl keysReader = reader.Marshaller.StartUnmarshal(reader.Stream, keepPortable);
+                BinaryReader keysReader = reader.Marshaller.StartUnmarshal(reader.Stream, keepBinary);
 
                 try
                 {
@@ -188,7 +188,7 @@ namespace Apache.Ignite.Core.Impl
         /// </summary>
         /// <param name="reader">Reader.</param>
         /// <returns>List.</returns>
-        private static List<object> ReadNullableList(PortableReaderImpl reader)
+        private static List<object> ReadNullableList(BinaryReader reader)
         {
             if (!reader.ReadBoolean()) 
                 return null;

http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IInteropCallback.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IInteropCallback.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IInteropCallback.cs
index 91838d0..535449b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IInteropCallback.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IInteropCallback.cs
@@ -17,7 +17,7 @@
 
 namespace Apache.Ignite.Core.Impl
 {
-    using Apache.Ignite.Core.Impl.Portable.IO;
+    using Apache.Ignite.Core.Impl.Binary.IO;
 
     /// <summary>
     /// Interop callback.
@@ -29,6 +29,6 @@ namespace Apache.Ignite.Core.Impl
         /// </summary>
         /// <param name="stream">Stream.</param>
         /// <returns>Invocation result.</returns>
-        int Invoke(IPortableStream stream);
+        int Invoke(IBinaryStream stream);
     }
 }
\ No newline at end of file