IGNITE-2215: .NET: Use standard Action and Func instead of custom delegates in 
binary readers.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6edeccde
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6edeccde
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6edeccde

Branch: refs/heads/master
Commit: 6edeccde24a2897363ee905e3cc5cef10e2f47ce
Parents: d4687d9
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Authored: Mon Dec 21 14:58:04 2015 +0300
Committer: vozerov-gridgain <voze...@gridgain.com>
Committed: Mon Dec 21 14:58:04 2015 +0300

----------------------------------------------------------------------
 .../Binary/IBinaryRawReader.cs                  |  4 ++--
 .../Apache.Ignite.Core/Binary/IBinaryReader.cs  | 25 ++------------------
 .../Impl/Binary/BinaryReader.cs                 | 13 +++++-----
 .../Impl/Binary/BinaryUtils.cs                  |  4 ++--
 4 files changed, 12 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/6edeccde/modules/platforms/dotnet/Apache.Ignite.Core/Binary/IBinaryRawReader.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core/Binary/IBinaryRawReader.cs 
b/modules/platforms/dotnet/Apache.Ignite.Core/Binary/IBinaryRawReader.cs
index a719e36..40ed754 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Binary/IBinaryRawReader.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Binary/IBinaryRawReader.cs
@@ -205,7 +205,7 @@ namespace Apache.Ignite.Core.Binary
         /// <param name="factory">Factory.</param>
         /// <param name="adder">Adder.</param>
         /// <returns>Collection.</returns>
-        ICollection ReadCollection(CollectionFactory factory, CollectionAdder 
adder);
+        ICollection ReadCollection(Func<int, ICollection> factory, 
Action<ICollection, object> adder);
 
         /// <summary>
         /// Read dictionary. 
@@ -218,6 +218,6 @@ namespace Apache.Ignite.Core.Binary
         /// </summary>
         /// <param name="factory">Factory.</param>
         /// <returns>Dictionary.</returns>
-        IDictionary ReadDictionary(DictionaryFactory factory);
+        IDictionary ReadDictionary(Func<int, IDictionary> factory);
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/6edeccde/modules/platforms/dotnet/Apache.Ignite.Core/Binary/IBinaryReader.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core/Binary/IBinaryReader.cs 
b/modules/platforms/dotnet/Apache.Ignite.Core/Binary/IBinaryReader.cs
index 2ccbbc0..4de3e92 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Binary/IBinaryReader.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Binary/IBinaryReader.cs
@@ -21,27 +21,6 @@ namespace Apache.Ignite.Core.Binary
     using System.Collections;
 
     /// <summary>
-    /// Delegate for collection creation.
-    /// </summary>
-    /// <param name="size">Collection size.</param>
-    /// <returns>Collection.</returns>
-    public delegate ICollection CollectionFactory(int size);
-
-    /// <summary>
-    /// Delegate for adding element to collection.
-    /// </summary>
-    /// <param name="col">Collection.</param>
-    /// <param name="elem">Element to add.</param>
-    public delegate void CollectionAdder(ICollection col, object elem);
-
-    /// <summary>
-    /// Delegate for dictionary creation.
-    /// </summary>
-    /// <param name="size">Dictionary size.</param>
-    /// <returns>Dictionary.</returns>
-    public delegate IDictionary DictionaryFactory(int size);
-
-    /// <summary>
     /// Reader for binary objects. 
     /// </summary>
     public interface IBinaryReader 
@@ -253,7 +232,7 @@ namespace Apache.Ignite.Core.Binary
         /// <param name="factory">Factory.</param>
         /// <param name="adder">Adder.</param>
         /// <returns>Collection.</returns>
-        ICollection ReadCollection(string fieldName, CollectionFactory 
factory, CollectionAdder adder);
+        ICollection ReadCollection(string fieldName, Func<int, ICollection> 
factory, Action<ICollection, object> adder);
 
         /// <summary>
         /// Read named dictionary.
@@ -268,7 +247,7 @@ namespace Apache.Ignite.Core.Binary
         /// <param name="fieldName">Field name.</param>
         /// <param name="factory">Factory.</param>
         /// <returns>Dictionary.</returns>
-        IDictionary ReadDictionary(string fieldName, DictionaryFactory 
factory);
+        IDictionary ReadDictionary(string fieldName, Func<int, IDictionary> 
factory);
 
         /// <summary>
         /// Get raw reader. 

http://git-wip-us.apache.org/repos/asf/ignite/blob/6edeccde/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs 
b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs
index 7b887a9..105589a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs
@@ -484,15 +484,14 @@ namespace Apache.Ignite.Core.Impl.Binary
         }
 
         /** <inheritdoc /> */
-        public ICollection ReadCollection(string fieldName, CollectionFactory 
factory,
-            CollectionAdder adder)
+        public ICollection ReadCollection(string fieldName, Func<int, 
ICollection> factory, 
+            Action<ICollection, object> adder)
         {
             return ReadField(fieldName, r => BinaryUtils.ReadCollection(r, 
factory, adder), BinaryUtils.TypeCollection);
         }
 
         /** <inheritdoc /> */
-        public ICollection ReadCollection(CollectionFactory factory,
-            CollectionAdder adder)
+        public ICollection ReadCollection(Func<int, ICollection> factory, 
Action<ICollection, object> adder)
         {
             return Read(r => BinaryUtils.ReadCollection(r, factory, adder), 
BinaryUtils.TypeCollection);
         }
@@ -506,17 +505,17 @@ namespace Apache.Ignite.Core.Impl.Binary
         /** <inheritdoc /> */
         public IDictionary ReadDictionary()
         {
-            return ReadDictionary((DictionaryFactory)null);
+            return ReadDictionary((Func<int, IDictionary>) null);
         }
 
         /** <inheritdoc /> */
-        public IDictionary ReadDictionary(string fieldName, DictionaryFactory 
factory)
+        public IDictionary ReadDictionary(string fieldName, Func<int, 
IDictionary> factory)
         {
             return ReadField(fieldName, r => BinaryUtils.ReadDictionary(r, 
factory), BinaryUtils.TypeDictionary);
         }
 
         /** <inheritdoc /> */
-        public IDictionary ReadDictionary(DictionaryFactory factory)
+        public IDictionary ReadDictionary(Func<int, IDictionary> factory)
         {
             return Read(r => BinaryUtils.ReadDictionary(r, factory), 
BinaryUtils.TypeDictionary);
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/6edeccde/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs 
b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs
index 1ae5722..1c85e31 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs
@@ -1104,7 +1104,7 @@ namespace Apache.Ignite.Core.Impl.Binary
          * <returns>Collection.</returns>
          */
         public static ICollection ReadCollection(BinaryReader ctx,
-            CollectionFactory factory, CollectionAdder adder)
+            Func<int, ICollection> factory, Action<ICollection, object> adder)
         {
             IBinaryStream stream = ctx.Stream;
 
@@ -1181,7 +1181,7 @@ namespace Apache.Ignite.Core.Impl.Binary
          * <param name="factory">Factory delegate.</param>
          * <returns>Dictionary.</returns>
          */
-        public static IDictionary ReadDictionary(BinaryReader ctx, 
DictionaryFactory factory)
+        public static IDictionary ReadDictionary(BinaryReader ctx, Func<int, 
IDictionary> factory)
         {
             IBinaryStream stream = ctx.Stream;
 

Reply via email to