You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/01/17 10:48:42 UTC
[4/5] ignite git commit: IGNITE-4045 .NET: Support DML API - fix code
analysis warnings
IGNITE-4045 .NET: Support DML API - fix code analysis warnings
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7b711a32
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7b711a32
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7b711a32
Branch: refs/heads/ignite-3477
Commit: 7b711a3248b0dafdcea195766b50be4d44656f7f
Parents: b7908d7
Author: Pavel Tupitsyn <pt...@apache.org>
Authored: Mon Jan 16 19:50:35 2017 +0300
Committer: Pavel Tupitsyn <pt...@apache.org>
Committed: Mon Jan 16 19:50:35 2017 +0300
----------------------------------------------------------------------
.../Apache.Ignite.Core.csproj | 1 +
.../Binary/BinaryArrayEqualityComparer.cs | 2 +-
.../Binary/BinaryEqualityComparerSerializer.cs | 2 +-
.../Impl/Binary/DateTimeHolder.cs | 22 +++++++++++-
.../Impl/Binary/Io/IBinaryStream.cs | 16 ---------
.../Impl/Binary/Io/IBinaryStreamProcessor.cs | 36 ++++++++++++++++++++
6 files changed, 60 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/7b711a32/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
index 42ccdd4..d58c872 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
@@ -185,6 +185,7 @@
<Compile Include="Common\IgniteGuid.cs" />
<Compile Include="Common\Package-Info.cs" />
<Compile Include="Impl\Binary\DateTimeSerializer.cs" />
+ <Compile Include="Impl\Binary\IO\IBinaryStreamProcessor.cs" />
<Compile Include="Impl\Binary\SerializableSerializer.cs" />
<Compile Include="Impl\Binary\BinaryWriterExtensions.cs" />
<Compile Include="Impl\Cache\Affinity\AffinityFunctionBase.cs" />
http://git-wip-us.apache.org/repos/asf/ignite/blob/7b711a32/modules/platforms/dotnet/Apache.Ignite.Core/Binary/BinaryArrayEqualityComparer.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Binary/BinaryArrayEqualityComparer.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Binary/BinaryArrayEqualityComparer.cs
index 09f7f0f..4e29a91 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Binary/BinaryArrayEqualityComparer.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Binary/BinaryArrayEqualityComparer.cs
@@ -26,7 +26,7 @@ namespace Apache.Ignite.Core.Binary
/// <summary>
/// Compares binary object equality using underlying byte array.
/// </summary>
- public class BinaryArrayEqualityComparer : IEqualityComparer<IBinaryObject>, IBinaryEqualityComparer,
+ public sealed class BinaryArrayEqualityComparer : IEqualityComparer<IBinaryObject>, IBinaryEqualityComparer,
IBinaryStreamProcessor<KeyValuePair<int,int>, int>
{
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/7b711a32/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryEqualityComparerSerializer.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryEqualityComparerSerializer.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryEqualityComparerSerializer.cs
index aa4795e..bb26076 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryEqualityComparerSerializer.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryEqualityComparerSerializer.cs
@@ -92,7 +92,7 @@ namespace Apache.Ignite.Core.Impl.Binary
};
default:
- throw new ArgumentOutOfRangeException();
+ throw new ArgumentOutOfRangeException("reader", type, "Invalid EqualityComparer type code");
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7b711a32/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/DateTimeHolder.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/DateTimeHolder.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/DateTimeHolder.cs
index 6adb847..21c56a9 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/DateTimeHolder.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/DateTimeHolder.cs
@@ -69,7 +69,7 @@ namespace Apache.Ignite.Core.Impl.Binary
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
- return obj is DateTimeHolder && _item.Equals(((DateTimeHolder) obj)._item);
+ return obj is DateTimeHolder && Equals((DateTimeHolder) obj);
}
/** <inheritDoc /> */
@@ -77,5 +77,25 @@ namespace Apache.Ignite.Core.Impl.Binary
{
return _item.GetHashCode();
}
+
+ /** <inheritDoc /> */
+ public static bool operator ==(DateTimeHolder left, DateTimeHolder right)
+ {
+ return left.Equals(right);
+ }
+
+ /** <inheritDoc /> */
+ public static bool operator !=(DateTimeHolder left, DateTimeHolder right)
+ {
+ return !left.Equals(right);
+ }
+
+ /// <summary>
+ /// Checks equality.
+ /// </summary>
+ private bool Equals(DateTimeHolder other)
+ {
+ return _item.Equals(other._item);
+ }
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/7b711a32/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Io/IBinaryStream.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Io/IBinaryStream.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Io/IBinaryStream.cs
index 3a46515..80c1a74 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Io/IBinaryStream.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Io/IBinaryStream.cs
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
namespace Apache.Ignite.Core.Impl.Binary.IO
{
using System;
@@ -329,19 +328,4 @@ namespace Apache.Ignite.Core.Impl.Binary.IO
/// </summary>
void Flush();
}
-
- /// <summary>
- /// Binary stream processor.
- /// </summary>
- [CLSCompliant(false)]
- public unsafe interface IBinaryStreamProcessor<in TArg, out T>
- {
- /// <summary>
- /// Invokes the processor.
- /// </summary>
- /// <param name="data">Data.</param>
- /// <param name="arg">Argument.</param>
- /// <returns>Result.</returns>
- T Invoke(byte* data, TArg arg);
- }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7b711a32/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Io/IBinaryStreamProcessor.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Io/IBinaryStreamProcessor.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Io/IBinaryStreamProcessor.cs
new file mode 100644
index 0000000..3b8bd8b
--- /dev/null
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Io/IBinaryStreamProcessor.cs
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+namespace Apache.Ignite.Core.Impl.Binary.IO
+{
+ using System;
+
+ /// <summary>
+ /// Binary stream processor.
+ /// </summary>
+ [CLSCompliant(false)]
+ public unsafe interface IBinaryStreamProcessor<in TArg, out T>
+ {
+ /// <summary>
+ /// Invokes the processor.
+ /// </summary>
+ /// <param name="data">Data.</param>
+ /// <param name="arg">Argument.</param>
+ /// <returns>Result.</returns>
+ T Invoke(byte* data, TArg arg);
+ }
+}
\ No newline at end of file