You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/11/11 10:14:52 UTC
[10/25] 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/Ignite.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
index 30c6b66..ded671a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
@@ -23,24 +23,24 @@ namespace Apache.Ignite.Core.Impl
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
+ using Apache.Ignite.Core.Binary;
using Apache.Ignite.Core.Cache;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Compute;
using Apache.Ignite.Core.Datastream;
using Apache.Ignite.Core.DataStructures;
using Apache.Ignite.Core.Events;
+ using Apache.Ignite.Core.Impl.Binary;
using Apache.Ignite.Core.Impl.Cache;
using Apache.Ignite.Core.Impl.Cluster;
using Apache.Ignite.Core.Impl.Common;
using Apache.Ignite.Core.Impl.Datastream;
using Apache.Ignite.Core.Impl.DataStructures;
using Apache.Ignite.Core.Impl.Handle;
- using Apache.Ignite.Core.Impl.Portable;
using Apache.Ignite.Core.Impl.Transactions;
using Apache.Ignite.Core.Impl.Unmanaged;
using Apache.Ignite.Core.Lifecycle;
using Apache.Ignite.Core.Messaging;
- using Apache.Ignite.Core.Portable;
using Apache.Ignite.Core.Services;
using Apache.Ignite.Core.Transactions;
using UU = Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils;
@@ -60,13 +60,13 @@ namespace Apache.Ignite.Core.Impl
private readonly IUnmanagedTarget _proc;
/** Marshaller. */
- private readonly PortableMarshaller _marsh;
+ private readonly Marshaller _marsh;
/** Initial projection. */
private readonly ClusterGroupImpl _prj;
- /** Portables. */
- private readonly PortablesImpl _portables;
+ /** Binary. */
+ private readonly IgniteBinary _igniteBinary;
/** Cached proxy. */
private readonly IgniteProxy _proxy;
@@ -97,7 +97,7 @@ namespace Apache.Ignite.Core.Impl
/// <param name="marsh">Marshaller.</param>
/// <param name="lifecycleBeans">Lifecycle beans.</param>
/// <param name="cbs">Callbacks.</param>
- public Ignite(IgniteConfiguration cfg, string name, IUnmanagedTarget proc, PortableMarshaller marsh,
+ public Ignite(IgniteConfiguration cfg, string name, IUnmanagedTarget proc, Marshaller marsh,
IList<LifecycleBeanHolder> lifecycleBeans, UnmanagedCallbacks cbs)
{
Debug.Assert(cfg != null);
@@ -117,7 +117,7 @@ namespace Apache.Ignite.Core.Impl
_prj = new ClusterGroupImpl(proc, UU.ProcessorProjection(proc), marsh, this, null);
- _portables = new PortablesImpl(marsh);
+ _igniteBinary = new IgniteBinary(marsh);
_proxy = new IgniteProxy(this);
@@ -347,13 +347,13 @@ namespace Apache.Ignite.Core.Impl
/// Gets cache from specified native cache object.
/// </summary>
/// <param name="nativeCache">Native cache.</param>
- /// <param name="keepPortable">Portable flag.</param>
+ /// <param name="keepBinary">Keep binary flag.</param>
/// <returns>
/// New instance of cache wrapping specified native cache.
/// </returns>
- public ICache<TK, TV> Cache<TK, TV>(IUnmanagedTarget nativeCache, bool keepPortable = false)
+ public ICache<TK, TV> Cache<TK, TV>(IUnmanagedTarget nativeCache, bool keepBinary = false)
{
- return new CacheImpl<TK, TV>(this, nativeCache, _marsh, false, keepPortable, false, false);
+ return new CacheImpl<TK, TV>(this, nativeCache, _marsh, false, keepBinary, false, false);
}
/** <inheritdoc /> */
@@ -394,9 +394,9 @@ namespace Apache.Ignite.Core.Impl
}
/** <inheritdoc /> */
- public IPortables GetPortables()
+ public IIgniteBinary GetBinary()
{
- return _portables;
+ return _igniteBinary;
}
/** <inheritdoc /> */
@@ -455,7 +455,7 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Marshaller.
/// </summary>
- internal PortableMarshaller Marshaller
+ internal Marshaller Marshaller
{
get { return _marsh; }
}
@@ -472,15 +472,15 @@ namespace Apache.Ignite.Core.Impl
/// Put metadata to Grid.
/// </summary>
/// <param name="metas">Metadata.</param>
- internal void PutMetadata(IDictionary<int, IPortableMetadata> metas)
+ internal void PutBinaryTypes(IDictionary<int, IBinaryType> metas)
{
- _prj.PutMetadata(metas);
+ _prj.PutBinaryTypes(metas);
}
/** <inheritDoc /> */
- public IPortableMetadata GetMetadata(int typeId)
+ public IBinaryType GetBinaryType(int typeId)
{
- return _prj.GetMetadata(typeId);
+ return _prj.GetBinaryType(typeId);
}
/// <summary>
@@ -499,7 +499,7 @@ namespace Apache.Ignite.Core.Impl
{
var stream = IgniteManager.Memory.Get(memPtr).GetStream();
- IPortableRawReader reader = Marshaller.StartUnmarshal(stream, false);
+ IBinaryRawReader reader = Marshaller.StartUnmarshal(stream, false);
var node = new ClusterNodeImpl(reader);
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
index 86021c8..113f700 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
@@ -20,16 +20,16 @@ namespace Apache.Ignite.Core.Impl
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
+ using Apache.Ignite.Core.Binary;
using Apache.Ignite.Core.Cache;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Compute;
using Apache.Ignite.Core.Datastream;
using Apache.Ignite.Core.DataStructures;
using Apache.Ignite.Core.Events;
+ using Apache.Ignite.Core.Impl.Binary;
using Apache.Ignite.Core.Impl.Cluster;
- using Apache.Ignite.Core.Impl.Portable;
using Apache.Ignite.Core.Messaging;
- using Apache.Ignite.Core.Portable;
using Apache.Ignite.Core.Services;
using Apache.Ignite.Core.Transactions;
@@ -37,7 +37,7 @@ namespace Apache.Ignite.Core.Impl
/// Grid proxy with fake serialization.
/// </summary>
[Serializable]
- internal class IgniteProxy : IIgnite, IClusterGroupEx, IPortableWriteAware, ICluster
+ internal class IgniteProxy : IIgnite, IClusterGroupEx, IBinaryWriteAware, ICluster
{
/** */
[NonSerialized]
@@ -275,9 +275,9 @@ namespace Apache.Ignite.Core.Impl
}
/** <inheritdoc /> */
- public IPortables GetPortables()
+ public IIgniteBinary GetBinary()
{
- return _ignite.GetPortables();
+ return _ignite.GetBinary();
}
/** <inheritdoc /> */
@@ -318,7 +318,7 @@ namespace Apache.Ignite.Core.Impl
}
/** <inheritdoc /> */
- public void WritePortable(IPortableWriter writer)
+ public void WriteBinary(IBinaryWriter writer)
{
// No-op.
}
@@ -335,9 +335,9 @@ namespace Apache.Ignite.Core.Impl
}
/** <inheritdoc /> */
- public IPortableMetadata GetMetadata(int typeId)
+ public IBinaryType GetBinaryType(int typeId)
{
- return ((IClusterGroupEx)_ignite).GetMetadata(typeId);
+ return ((IClusterGroupEx)_ignite).GetBinaryType(typeId);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
index 47ab166..7929a5d 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
@@ -25,13 +25,14 @@ namespace Apache.Ignite.Core.Impl
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
+ using Apache.Ignite.Core.Binary;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Common;
+ using Apache.Ignite.Core.Impl.Binary;
using Apache.Ignite.Core.Impl.Cluster;
using Apache.Ignite.Core.Impl.Common;
- using Apache.Ignite.Core.Impl.Portable;
using Apache.Ignite.Core.Impl.Unmanaged;
- using Apache.Ignite.Core.Portable;
+ using BinaryReader = Apache.Ignite.Core.Impl.Binary.BinaryReader;
/// <summary>
/// Native utility methods.
@@ -384,7 +385,7 @@ namespace Apache.Ignite.Core.Impl
/// <param name="reader">Reader.</param>
/// <param name="pred">The predicate.</param>
/// <returns> Nodes list or null. </returns>
- public static List<IClusterNode> ReadNodes(IPortableRawReader reader, Func<ClusterNodeImpl, bool> pred = null)
+ public static List<IClusterNode> ReadNodes(IBinaryRawReader reader, Func<ClusterNodeImpl, bool> pred = null)
{
var cnt = reader.ReadInt();
@@ -393,7 +394,7 @@ namespace Apache.Ignite.Core.Impl
var res = new List<IClusterNode>(cnt);
- var ignite = ((PortableReaderImpl)reader).Marshaller.Ignite;
+ var ignite = ((BinaryReader)reader).Marshaller.Ignite;
if (pred == null)
{
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/InteropExceptionHolder.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/InteropExceptionHolder.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/InteropExceptionHolder.cs
index 918c3d6..42c21f3 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/InteropExceptionHolder.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/InteropExceptionHolder.cs
@@ -19,14 +19,14 @@ namespace Apache.Ignite.Core.Impl
{
using System;
using System.Runtime.Serialization.Formatters.Binary;
- using Apache.Ignite.Core.Impl.Portable;
- using Apache.Ignite.Core.Impl.Portable.IO;
- using Apache.Ignite.Core.Portable;
+ using Apache.Ignite.Core.Binary;
+ using Apache.Ignite.Core.Impl.Binary;
+ using Apache.Ignite.Core.Impl.Binary.IO;
/// <summary>
/// Holder of exception which must be serialized to Java and then backwards to the native platform.
/// </summary>
- internal class InteropExceptionHolder : IPortableMarshalAware
+ internal class InteropExceptionHolder : IBinarizable
{
/** Initial exception. */
private Exception _err;
@@ -57,11 +57,11 @@ namespace Apache.Ignite.Core.Impl
}
/** <inheritDoc /> */
- public void WritePortable(IPortableWriter writer)
+ public void WriteBinary(IBinaryWriter writer)
{
- var writer0 = (PortableWriterImpl) writer.GetRawWriter();
+ var writer0 = (BinaryWriter) writer.GetRawWriter();
- if (writer0.IsPortable(_err))
+ if (writer0.IsBinarizable(_err))
{
writer0.WriteBoolean(true);
writer0.WriteObject(_err);
@@ -72,12 +72,12 @@ namespace Apache.Ignite.Core.Impl
BinaryFormatter bf = new BinaryFormatter();
- bf.Serialize(new PortableStreamAdapter(writer0.Stream), _err);
+ bf.Serialize(new BinaryStreamAdapter(writer0.Stream), _err);
}
}
/** <inheritDoc /> */
- public void ReadPortable(IPortableReader reader)
+ public void ReadBinary(IBinaryReader reader)
{
throw new NotImplementedException();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryStream.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryStream.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryStream.cs
index 44766c2..374cc4a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryStream.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryStream.cs
@@ -21,15 +21,15 @@ namespace Apache.Ignite.Core.Impl.Memory
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Text;
+ using Apache.Ignite.Core.Impl.Binary.IO;
using Apache.Ignite.Core.Impl.Common;
- using Apache.Ignite.Core.Impl.Portable.IO;
/// <summary>
/// Platform memory stream.
/// </summary>
[CLSCompliant(false)]
[SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix")]
- public unsafe class PlatformMemoryStream : IPortableStream
+ public unsafe class PlatformMemoryStream : IBinaryStream
{
/** Length: 1 byte. */
protected const int Len1 = 1;
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/MessageListenerHolder.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/MessageListenerHolder.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/MessageListenerHolder.cs
index dc6585c..8b67462 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/MessageListenerHolder.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/MessageListenerHolder.cs
@@ -19,18 +19,18 @@ namespace Apache.Ignite.Core.Impl.Messaging
{
using System;
using System.Diagnostics;
+ using Apache.Ignite.Core.Binary;
+ 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.Resource;
using Apache.Ignite.Core.Messaging;
- using Apache.Ignite.Core.Portable;
/// <summary>
- /// Non-generic portable message listener wrapper.
+ /// Non-generic binary message listener wrapper.
/// </summary>
- internal class MessageListenerHolder : IPortableWriteAware, IHandle
+ internal class MessageListenerHolder : IBinaryWriteAware, IHandle
{
/** Invoker function that takes key and value and invokes wrapped IMessageListener */
private readonly Func<Guid, object, bool> _invoker;
@@ -71,7 +71,7 @@ namespace Apache.Ignite.Core.Impl.Messaging
/// </summary>
/// <param name="input">Input.</param>
/// <returns></returns>
- public int Invoke(IPortableStream input)
+ public int Invoke(IBinaryStream input)
{
var rawReader = _ignite.Marshaller.StartUnmarshal(input).GetRawReader();
@@ -150,9 +150,9 @@ namespace Apache.Ignite.Core.Impl.Messaging
}
/** <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(Filter));
}
@@ -161,9 +161,9 @@ namespace Apache.Ignite.Core.Impl.Messaging
/// Initializes a new instance of the <see cref="MessageListenerHolder"/> class.
/// </summary>
/// <param name="reader">The reader.</param>
- public MessageListenerHolder(IPortableReader reader)
+ public MessageListenerHolder(IBinaryReader reader)
{
- var reader0 = (PortableReaderImpl)reader.GetRawReader();
+ var reader0 = (BinaryReader)reader.GetRawReader();
_filter = reader0.ReadObject<object>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/Messaging.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/Messaging.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/Messaging.cs
index df7d6ff..5882495 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/Messaging.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/Messaging.cs
@@ -24,9 +24,9 @@ namespace Apache.Ignite.Core.Impl.Messaging
using System.Linq;
using System.Threading.Tasks;
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.Impl.Resource;
using Apache.Ignite.Core.Impl.Unmanaged;
using Apache.Ignite.Core.Messaging;
@@ -73,7 +73,7 @@ namespace Apache.Ignite.Core.Impl.Messaging
/// <param name="target">Target.</param>
/// <param name="marsh">Marshaller.</param>
/// <param name="prj">Cluster group.</param>
- public Messaging(IUnmanagedTarget target, PortableMarshaller marsh, IClusterGroup prj)
+ public Messaging(IUnmanagedTarget target, Marshaller marsh, IClusterGroup prj)
: base(target, marsh)
{
Debug.Assert(prj != null);
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/PlatformTarget.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/PlatformTarget.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/PlatformTarget.cs
index 49b57a5..115f30d 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/PlatformTarget.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/PlatformTarget.cs
@@ -23,13 +23,15 @@ namespace Apache.Ignite.Core.Impl
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Threading.Tasks;
+ using Apache.Ignite.Core.Binary;
+ using Apache.Ignite.Core.Impl.Binary;
+ using Apache.Ignite.Core.Impl.Binary.IO;
+ using Apache.Ignite.Core.Impl.Binary.Metadata;
using Apache.Ignite.Core.Impl.Common;
using Apache.Ignite.Core.Impl.Memory;
- using Apache.Ignite.Core.Impl.Portable;
- using Apache.Ignite.Core.Impl.Portable.IO;
- using Apache.Ignite.Core.Impl.Portable.Metadata;
using Apache.Ignite.Core.Impl.Unmanaged;
- using Apache.Ignite.Core.Portable;
+ using BinaryReader = Apache.Ignite.Core.Impl.Binary.BinaryReader;
+ using BinaryWriter = Apache.Ignite.Core.Impl.Binary.BinaryWriter;
using UU = Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils;
/// <summary>
@@ -65,14 +67,14 @@ namespace Apache.Ignite.Core.Impl
private readonly IUnmanagedTarget _target;
/** Marshaller. */
- private readonly PortableMarshaller _marsh;
+ private readonly Marshaller _marsh;
/// <summary>
/// Constructor.
/// </summary>
/// <param name="target">Target.</param>
/// <param name="marsh">Marshaller.</param>
- protected PlatformTarget(IUnmanagedTarget target, PortableMarshaller marsh)
+ protected PlatformTarget(IUnmanagedTarget target, Marshaller marsh)
{
Debug.Assert(target != null);
Debug.Assert(marsh != null);
@@ -92,7 +94,7 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Marshaller.
/// </summary>
- internal PortableMarshaller Marshaller
+ internal Marshaller Marshaller
{
get { return _marsh; }
}
@@ -102,10 +104,10 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Write collection.
/// </summary>
- /// <param name="writer">Portable writer.</param>
+ /// <param name="writer">Writer.</param>
/// <param name="vals">Values.</param>
/// <returns>The same writer for chaining.</returns>
- protected static PortableWriterImpl WriteCollection<T>(PortableWriterImpl writer, ICollection<T> vals)
+ protected static BinaryWriter WriteCollection<T>(BinaryWriter writer, ICollection<T> vals)
{
return WriteCollection<T, T>(writer, vals, null);
}
@@ -113,10 +115,10 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Write nullable collection.
/// </summary>
- /// <param name="writer">Portable writer.</param>
+ /// <param name="writer">Writer.</param>
/// <param name="vals">Values.</param>
/// <returns>The same writer for chaining.</returns>
- protected static PortableWriterImpl WriteNullableCollection<T>(PortableWriterImpl writer, ICollection<T> vals)
+ protected static BinaryWriter WriteNullableCollection<T>(BinaryWriter writer, ICollection<T> vals)
{
return WriteNullable(writer, vals, WriteCollection);
}
@@ -124,11 +126,11 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Write collection.
/// </summary>
- /// <param name="writer">Portable writer.</param>
+ /// <param name="writer">Writer.</param>
/// <param name="vals">Values.</param>
/// <param name="selector">A transform function to apply to each element.</param>
/// <returns>The same writer for chaining.</returns>
- protected static PortableWriterImpl WriteCollection<T1, T2>(PortableWriterImpl writer,
+ protected static BinaryWriter WriteCollection<T1, T2>(BinaryWriter writer,
ICollection<T1> vals, Func<T1, T2> selector)
{
writer.WriteInt(vals.Count);
@@ -150,10 +152,10 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Write enumerable.
/// </summary>
- /// <param name="writer">Portable writer.</param>
+ /// <param name="writer">Writer.</param>
/// <param name="vals">Values.</param>
/// <returns>The same writer for chaining.</returns>
- protected static PortableWriterImpl WriteEnumerable<T>(PortableWriterImpl writer, IEnumerable<T> vals)
+ protected static BinaryWriter WriteEnumerable<T>(BinaryWriter writer, IEnumerable<T> vals)
{
return WriteEnumerable<T, T>(writer, vals, null);
}
@@ -161,11 +163,11 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Write enumerable.
/// </summary>
- /// <param name="writer">Portable writer.</param>
+ /// <param name="writer">Writer.</param>
/// <param name="vals">Values.</param>
/// <param name="selector">A transform function to apply to each element.</param>
/// <returns>The same writer for chaining.</returns>
- protected static PortableWriterImpl WriteEnumerable<T1, T2>(PortableWriterImpl writer,
+ protected static BinaryWriter WriteEnumerable<T1, T2>(BinaryWriter writer,
IEnumerable<T1> vals, Func<T1, T2> selector)
{
var col = vals as ICollection<T1>;
@@ -208,10 +210,10 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Write dictionary.
/// </summary>
- /// <param name="writer">Portable writer.</param>
+ /// <param name="writer">Writer.</param>
/// <param name="vals">Values.</param>
/// <returns>The same writer.</returns>
- protected static PortableWriterImpl WriteDictionary<T1, T2>(PortableWriterImpl writer,
+ protected static BinaryWriter WriteDictionary<T1, T2>(BinaryWriter writer,
IDictionary<T1, T2> vals)
{
writer.WriteInt(vals.Count);
@@ -228,12 +230,12 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Write a nullable item.
/// </summary>
- /// <param name="writer">Portable writer.</param>
+ /// <param name="writer">Writer.</param>
/// <param name="item">Item.</param>
/// <param name="writeItem">Write action to perform on item when it is not null.</param>
/// <returns>The same writer for chaining.</returns>
- protected static PortableWriterImpl WriteNullable<T>(PortableWriterImpl writer, T item,
- Func<PortableWriterImpl, T, PortableWriterImpl> writeItem)
+ protected static BinaryWriter WriteNullable<T>(BinaryWriter writer, T item,
+ Func<BinaryWriter, T, BinaryWriter> writeItem)
{
if (item == null)
{
@@ -257,7 +259,7 @@ namespace Apache.Ignite.Core.Impl
/// <param name="type">Operation type.</param>
/// <param name="action">Action to be performed on the stream.</param>
/// <returns></returns>
- protected long DoOutOp(int type, Action<IPortableStream> action)
+ protected long DoOutOp(int type, Action<IBinaryStream> action)
{
using (var stream = IgniteManager.Memory.Allocate().GetStream())
{
@@ -273,7 +275,7 @@ namespace Apache.Ignite.Core.Impl
/// <param name="type">Operation type.</param>
/// <param name="action">Action to be performed on the stream.</param>
/// <returns></returns>
- protected long DoOutOp(int type, Action<PortableWriterImpl> action)
+ protected long DoOutOp(int type, Action<BinaryWriter> action)
{
using (var stream = IgniteManager.Memory.Allocate().GetStream())
{
@@ -344,7 +346,7 @@ namespace Apache.Ignite.Core.Impl
/// </summary>
/// <param name="type">Type.</param>
/// <param name="action">Action.</param>
- protected void DoInOp(int type, Action<IPortableStream> action)
+ protected void DoInOp(int type, Action<IBinaryStream> action)
{
using (var stream = IgniteManager.Memory.Allocate().GetStream())
{
@@ -362,7 +364,7 @@ namespace Apache.Ignite.Core.Impl
/// <param name="type">Type.</param>
/// <param name="action">Action.</param>
/// <returns>Result.</returns>
- protected T DoInOp<T>(int type, Func<IPortableStream, T> action)
+ protected T DoInOp<T>(int type, Func<IBinaryStream, T> action)
{
using (var stream = IgniteManager.Memory.Allocate().GetStream())
{
@@ -401,13 +403,13 @@ namespace Apache.Ignite.Core.Impl
/// <param name="type">Operation type.</param>
/// <param name="outAction">Out action.</param>
/// <param name="inAction">In action.</param>
- protected void DoOutInOp(int type, Action<PortableWriterImpl> outAction, Action<IPortableStream> inAction)
+ protected void DoOutInOp(int type, Action<BinaryWriter> outAction, Action<IBinaryStream> inAction)
{
using (PlatformMemoryStream outStream = IgniteManager.Memory.Allocate().GetStream())
{
using (PlatformMemoryStream inStream = IgniteManager.Memory.Allocate().GetStream())
{
- PortableWriterImpl writer = _marsh.StartMarshal(outStream);
+ BinaryWriter writer = _marsh.StartMarshal(outStream);
outAction(writer);
@@ -429,13 +431,13 @@ namespace Apache.Ignite.Core.Impl
/// <param name="outAction">Out action.</param>
/// <param name="inAction">In action.</param>
/// <returns>Result.</returns>
- protected TR DoOutInOp<TR>(int type, Action<PortableWriterImpl> outAction, Func<IPortableStream, TR> inAction)
+ protected TR DoOutInOp<TR>(int type, Action<BinaryWriter> outAction, Func<IBinaryStream, TR> inAction)
{
using (PlatformMemoryStream outStream = IgniteManager.Memory.Allocate().GetStream())
{
using (PlatformMemoryStream inStream = IgniteManager.Memory.Allocate().GetStream())
{
- PortableWriterImpl writer = _marsh.StartMarshal(outStream);
+ BinaryWriter writer = _marsh.StartMarshal(outStream);
outAction(writer);
@@ -458,13 +460,13 @@ namespace Apache.Ignite.Core.Impl
/// <param name="inAction">In action.</param>
/// <param name="arg">Argument.</param>
/// <returns>Result.</returns>
- protected unsafe TR DoOutInOp<TR>(int type, Action<PortableWriterImpl> outAction, Func<IPortableStream, TR> inAction, void* arg)
+ protected unsafe TR DoOutInOp<TR>(int type, Action<BinaryWriter> outAction, Func<IBinaryStream, TR> inAction, void* arg)
{
using (PlatformMemoryStream outStream = IgniteManager.Memory.Allocate().GetStream())
{
using (PlatformMemoryStream inStream = IgniteManager.Memory.Allocate().GetStream())
{
- PortableWriterImpl writer = _marsh.StartMarshal(outStream);
+ BinaryWriter writer = _marsh.StartMarshal(outStream);
outAction(writer);
@@ -485,13 +487,13 @@ namespace Apache.Ignite.Core.Impl
/// <param name="type">Operation type.</param>
/// <param name="outAction">Out action.</param>
/// <returns>Result.</returns>
- protected TR DoOutInOp<TR>(int type, Action<PortableWriterImpl> outAction)
+ protected TR DoOutInOp<TR>(int type, Action<BinaryWriter> outAction)
{
using (PlatformMemoryStream outStream = IgniteManager.Memory.Allocate().GetStream())
{
using (PlatformMemoryStream inStream = IgniteManager.Memory.Allocate().GetStream())
{
- PortableWriterImpl writer = _marsh.StartMarshal(outStream);
+ BinaryWriter writer = _marsh.StartMarshal(outStream);
outAction(writer);
@@ -518,7 +520,7 @@ namespace Apache.Ignite.Core.Impl
{
using (PlatformMemoryStream inStream = IgniteManager.Memory.Allocate().GetStream())
{
- PortableWriterImpl writer = _marsh.StartMarshal(outStream);
+ BinaryWriter writer = _marsh.StartMarshal(outStream);
writer.WriteObject(val);
@@ -546,7 +548,7 @@ namespace Apache.Ignite.Core.Impl
{
using (PlatformMemoryStream inStream = IgniteManager.Memory.Allocate().GetStream())
{
- PortableWriterImpl writer = _marsh.StartMarshal(outStream);
+ BinaryWriter writer = _marsh.StartMarshal(outStream);
writer.WriteObject(val1);
writer.WriteObject(val2);
@@ -569,27 +571,27 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Finish marshaling.
/// </summary>
- /// <param name="writer">Portable writer.</param>
- internal void FinishMarshal(PortableWriterImpl writer)
+ /// <param name="writer">Writer.</param>
+ internal void FinishMarshal(BinaryWriter writer)
{
_marsh.FinishMarshal(writer);
}
/// <summary>
- /// Put metadata to Grid.
+ /// Put binary types to Grid.
/// </summary>
- /// <param name="metas">Metadatas.</param>
- internal void PutMetadata(IDictionary<int, IPortableMetadata> metas)
+ /// <param name="types">Binary types.</param>
+ internal void PutBinaryTypes(IDictionary<int, IBinaryType> types)
{
DoOutOp(OpMeta, stream =>
{
- PortableWriterImpl metaWriter = _marsh.StartMarshal(stream);
+ BinaryWriter metaWriter = _marsh.StartMarshal(stream);
- metaWriter.WriteInt(metas.Count);
+ metaWriter.WriteInt(types.Count);
- foreach (var meta in metas.Values)
+ foreach (var meta in types.Values)
{
- PortableMetadataImpl meta0 = (PortableMetadataImpl)meta;
+ BinaryType meta0 = (BinaryType)meta;
metaWriter.WriteInt(meta0.TypeId);
metaWriter.WriteString(meta0.TypeName);
@@ -609,7 +611,7 @@ namespace Apache.Ignite.Core.Impl
_marsh.FinishMarshal(metaWriter);
});
- _marsh.OnMetadataSent(metas);
+ _marsh.OnBinaryTypesSent(types);
}
/// <summary>
@@ -617,7 +619,7 @@ namespace Apache.Ignite.Core.Impl
/// </summary>
/// <param name="stream">Stream.</param>
/// <returns>Unmarshalled object.</returns>
- protected virtual T Unmarshal<T>(IPortableStream stream)
+ protected virtual T Unmarshal<T>(IBinaryStream stream)
{
return _marsh.Unmarshal<T>(stream);
}
@@ -627,11 +629,11 @@ namespace Apache.Ignite.Core.Impl
/// </summary>
/// <typeparam name="T">Future result type</typeparam>
/// <param name="listenAction">The listen action.</param>
- /// <param name="keepPortable">Keep portable flag, only applicable to object futures. False by default.</param>
+ /// <param name="keepBinary">Keep binary flag, only applicable to object futures. False by default.</param>
/// <param name="convertFunc">The function to read future result from stream.</param>
/// <returns>Created future.</returns>
- protected Future<T> GetFuture<T>(Action<long, int> listenAction, bool keepPortable = false,
- Func<PortableReaderImpl, T> convertFunc = null)
+ protected Future<T> GetFuture<T>(Action<long, int> listenAction, bool keepBinary = false,
+ Func<BinaryReader, T> convertFunc = null)
{
var futType = FutureType.Object;
@@ -642,7 +644,7 @@ namespace Apache.Ignite.Core.Impl
var fut = convertFunc == null && futType != FutureType.Object
? new Future<T>()
- : new Future<T>(new FutureConverter<T>(_marsh, keepPortable, convertFunc));
+ : new Future<T>(new FutureConverter<T>(_marsh, keepBinary, convertFunc));
var futHnd = _marsh.Ignite.HandleRegistry.Allocate(fut);
@@ -683,7 +685,7 @@ namespace Apache.Ignite.Core.Impl
/// </summary>
/// <param name="target">Target.</param>
/// <param name="marsh">Marshaller.</param>
- protected PlatformDisposableTarget(IUnmanagedTarget target, PortableMarshaller marsh) : base(target, marsh)
+ protected PlatformDisposableTarget(IUnmanagedTarget target, Marshaller marsh) : base(target, marsh)
{
// No-op.
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/DateTimeHolder.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/DateTimeHolder.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/DateTimeHolder.cs
deleted file mode 100644
index 9c232a0..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/DateTimeHolder.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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.Portable
-{
- using System;
- using System.Diagnostics;
- using Apache.Ignite.Core.Portable;
-
- /// <summary>
- /// Wraps Serializable item in a portable.
- /// </summary>
- internal class DateTimeHolder : IPortableWriteAware
- {
- /** */
- private readonly DateTime _item;
-
- /// <summary>
- /// Constructor.
- /// </summary>
- /// <param name="item">The item to wrap.</param>
- public DateTimeHolder(DateTime item)
- {
- _item = item;
- }
-
- /// <summary>
- /// Constructor.
- /// </summary>
- /// <param name="reader">The reader.</param>
- public DateTimeHolder(IPortableReader reader)
- {
- Debug.Assert(reader != null);
-
- _item = DateTime.FromBinary(reader.GetRawReader().ReadLong());
- }
-
- /// <summary>
- /// Gets the item to wrap.
- /// </summary>
- public DateTime Item
- {
- get { return _item; }
- }
-
- /** <inheritDoc /> */
- public void WritePortable(IPortableWriter writer)
- {
- Debug.Assert(writer != null);
-
- writer.GetRawWriter().WriteLong(_item.ToBinary());
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableSystemTypeSerializer.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableSystemTypeSerializer.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableSystemTypeSerializer.cs
deleted file mode 100644
index 3fee3ca..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableSystemTypeSerializer.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.Portable
-{
- using Apache.Ignite.Core.Portable;
-
- /// <summary>
- /// Serializer for system types that can create instances directly from a stream and does not support handles.
- /// </summary>
- internal interface IPortableSystemTypeSerializer : IPortableSerializer
- {
- /// <summary>
- /// Reads the instance from a reader.
- /// </summary>
- /// <param name="reader">The reader.</param>
- /// <returns>Deserialized instance.</returns>
- object ReadInstance(PortableReaderImpl reader);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableTypeDescriptor.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableTypeDescriptor.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableTypeDescriptor.cs
deleted file mode 100644
index 7e417ce..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableTypeDescriptor.cs
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * 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.Portable
-{
- using System;
- using System.Collections.Generic;
-
- using Apache.Ignite.Core.Impl.Portable.Structure;
- using Apache.Ignite.Core.Portable;
-
- /// <summary>
- /// Type descriptor.
- /// </summary>
- internal interface IPortableTypeDescriptor
- {
- /// <summary>
- /// Type.
- /// </summary>
- Type Type
- {
- get;
- }
-
- /// <summary>
- /// Type ID.
- /// </summary>
- int TypeId
- {
- get;
- }
-
- /// <summary>
- /// Type name.
- /// </summary>
- string TypeName
- {
- get;
- }
-
- /// <summary>
- /// User type flag.
- /// </summary>
- bool UserType
- {
- get;
- }
-
- /// <summary>
- /// Whether to cache deserialized value in IPortableObject
- /// </summary>
- bool KeepDeserialized
- {
- get;
- }
-
- /// <summary>
- /// Name converter.
- /// </summary>
- IPortableNameMapper NameMapper
- {
- get;
- }
-
- /// <summary>
- /// Mapper.
- /// </summary>
- IPortableIdMapper IdMapper
- {
- get;
- }
-
- /// <summary>
- /// Serializer.
- /// </summary>
- IPortableSerializer Serializer
- {
- get;
- }
-
- /// <summary>
- /// Affinity key field name.
- /// </summary>
- string AffinityKeyFieldName
- {
- get;
- }
-
- /// <summary>
- /// Write type structure.
- /// </summary>
- PortableStructure WriterTypeStructure { get; }
-
- /// <summary>
- /// Read type structure.
- /// </summary>
- PortableStructure ReaderTypeStructure { get; }
-
- /// <summary>
- /// Update write type structure.
- /// </summary>
- /// <param name="exp">Expected type structure.</param>
- /// <param name="pathIdx">Path index.</param>
- /// <param name="updates">Recorded updates.</param>
- void UpdateWriteStructure(PortableStructure exp, int pathIdx, IList<PortableStructureUpdate> updates);
-
- /// <summary>
- /// Update read type structure.
- /// </summary>
- /// <param name="exp">Expected type structure.</param>
- /// <param name="pathIdx">Path index.</param>
- /// <param name="updates">Recorded updates.</param>
- void UpdateReadStructure(PortableStructure exp, int pathIdx, IList<PortableStructureUpdate> updates);
-
- /// <summary>
- /// Gets the schema.
- /// </summary>
- PortableObjectSchema Schema { get; }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableWriteAware.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableWriteAware.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableWriteAware.cs
deleted file mode 100644
index d3c1521..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/IPortableWriteAware.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.Portable
-{
- using Apache.Ignite.Core.Portable;
-
- /// <summary>
- /// Represents an object that can write itself to a portable writer.
- /// </summary>
- internal interface IPortableWriteAware
- {
- /// <summary>
- /// Writes this object to the given writer.
- /// </summary>
- /// <param name="writer">Writer.</param>
- /// <exception cref="System.IO.IOException">If write failed.</exception>
- void WritePortable(IPortableWriter writer);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/894057e5/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/IPortableStream.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/IPortableStream.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/IPortableStream.cs
deleted file mode 100644
index 80087e4..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/IPortableStream.cs
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * 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.Portable.IO
-{
- using System;
- using System.Diagnostics.CodeAnalysis;
- using System.IO;
- using System.Text;
-
- /// <summary>
- /// Stream capable of working with portable objects.
- /// </summary>
- [CLSCompliant(false)]
- [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix")]
- public unsafe interface IPortableStream : IDisposable
- {
- /// <summary>
- /// Write bool.
- /// </summary>
- /// <param name="val">Bool value.</param>
- void WriteBool(bool val);
-
- /// <summary>
- /// Read bool.
- /// </summary>
- /// <returns>Bool value.</returns>
- bool ReadBool();
-
- /// <summary>
- /// Write bool array.
- /// </summary>
- /// <param name="val">Bool array.</param>
- void WriteBoolArray(bool[] val);
-
- /// <summary>
- /// Read bool array.
- /// </summary>
- /// <param name="cnt">Count.</param>
- /// <returns>Bool array.</returns>
- bool[] ReadBoolArray(int cnt);
-
- /// <summary>
- /// Write byte.
- /// </summary>
- /// <param name="val">Byte value.</param>
- void WriteByte(byte val);
-
- /// <summary>
- /// Read byte.
- /// </summary>
- /// <returns>Byte value.</returns>
- byte ReadByte();
-
- /// <summary>
- /// Write byte array.
- /// </summary>
- /// <param name="val">Byte array.</param>
- void WriteByteArray(byte[] val);
-
- /// <summary>
- /// Read byte array.
- /// </summary>
- /// <param name="cnt">Count.</param>
- /// <returns>Byte array.</returns>
- byte[] ReadByteArray(int cnt);
-
- /// <summary>
- /// Write short.
- /// </summary>
- /// <param name="val">Short value.</param>
- void WriteShort(short val);
-
- /// <summary>
- /// Read short.
- /// </summary>
- /// <returns>Short value.</returns>
- short ReadShort();
-
- /// <summary>
- /// Write short array.
- /// </summary>
- /// <param name="val">Short array.</param>
- void WriteShortArray(short[] val);
-
- /// <summary>
- /// Read short array.
- /// </summary>
- /// <param name="cnt">Count.</param>
- /// <returns>Short array.</returns>
- short[] ReadShortArray(int cnt);
-
- /// <summary>
- /// Write char.
- /// </summary>
- /// <param name="val">Char value.</param>
- void WriteChar(char val);
-
- /// <summary>
- /// Read char.
- /// </summary>
- /// <returns>Char value.</returns>
- char ReadChar();
-
- /// <summary>
- /// Write char array.
- /// </summary>
- /// <param name="val">Char array.</param>
- void WriteCharArray(char[] val);
-
- /// <summary>
- /// Read char array.
- /// </summary>
- /// <param name="cnt">Count.</param>
- /// <returns>Char array.</returns>
- char[] ReadCharArray(int cnt);
-
- /// <summary>
- /// Write int.
- /// </summary>
- /// <param name="val">Int value.</param>
- void WriteInt(int val);
-
- /// <summary>
- /// Write int to specific position.
- /// </summary>
- /// <param name="writePos">Position.</param>
- /// <param name="val">Value.</param>
- void WriteInt(int writePos, int val);
-
- /// <summary>
- /// Read int.
- /// </summary>
- /// <returns>Int value.</returns>
- int ReadInt();
-
- /// <summary>
- /// Write int array.
- /// </summary>
- /// <param name="val">Int array.</param>
- void WriteIntArray(int[] val);
-
- /// <summary>
- /// Read int array.
- /// </summary>
- /// <param name="cnt">Count.</param>
- /// <returns>Int array.</returns>
- int[] ReadIntArray(int cnt);
-
- /// <summary>
- /// Write long.
- /// </summary>
- /// <param name="val">Long value.</param>
- void WriteLong(long val);
-
- /// <summary>
- /// Read long.
- /// </summary>
- /// <returns>Long value.</returns>
- long ReadLong();
-
- /// <summary>
- /// Write long array.
- /// </summary>
- /// <param name="val">Long array.</param>
- void WriteLongArray(long[] val);
-
- /// <summary>
- /// Read long array.
- /// </summary>
- /// <param name="cnt">Count.</param>
- /// <returns>Long array.</returns>
- long[] ReadLongArray(int cnt);
-
- /// <summary>
- /// Write float.
- /// </summary>
- /// <param name="val">Float value.</param>
- void WriteFloat(float val);
-
- /// <summary>
- /// Read float.
- /// </summary>
- /// <returns>Float value.</returns>
- float ReadFloat();
-
- /// <summary>
- /// Write float array.
- /// </summary>
- /// <param name="val">Float array.</param>
- void WriteFloatArray(float[] val);
-
- /// <summary>
- /// Read float array.
- /// </summary>
- /// <param name="cnt">Count.</param>
- /// <returns>Float array.</returns>
- float[] ReadFloatArray(int cnt);
-
- /// <summary>
- /// Write double.
- /// </summary>
- /// <param name="val">Double value.</param>
- void WriteDouble(double val);
-
- /// <summary>
- /// Read double.
- /// </summary>
- /// <returns>Double value.</returns>
- double ReadDouble();
-
- /// <summary>
- /// Write double array.
- /// </summary>
- /// <param name="val">Double array.</param>
- void WriteDoubleArray(double[] val);
-
- /// <summary>
- /// Read double array.
- /// </summary>
- /// <param name="cnt">Count.</param>
- /// <returns>Double array.</returns>
- double[] ReadDoubleArray(int cnt);
-
- /// <summary>
- /// Write string.
- /// </summary>
- /// <param name="chars">Characters.</param>
- /// <param name="charCnt">Char count.</param>
- /// <param name="byteCnt">Byte count.</param>
- /// <param name="encoding">Encoding.</param>
- /// <returns>Amounts of bytes written.</returns>
- int WriteString(char* chars, int charCnt, int byteCnt, Encoding encoding);
-
- /// <summary>
- /// Write arbitrary data.
- /// </summary>
- /// <param name="src">Source array.</param>
- /// <param name="off">Offset</param>
- /// <param name="cnt">Count.</param>
- void Write(byte[] src, int off, int cnt);
-
- /// <summary>
- /// Read arbitrary data.
- /// </summary>
- /// <param name="dest">Destination array.</param>
- /// <param name="off">Offset.</param>
- /// <param name="cnt">Count.</param>
- /// <returns>Amount of bytes read.</returns>
- void Read(byte[] dest, int off, int cnt);
-
- /// <summary>
- /// Write arbitrary data.
- /// </summary>
- /// <param name="src">Source.</param>
- /// <param name="cnt">Count.</param>
- void Write(byte* src, int cnt);
-
- /// <summary>
- /// Read arbitrary data.
- /// </summary>
- /// <param name="dest">Destination.</param>
- /// <param name="cnt">Count.</param>
- void Read(byte* dest, int cnt);
-
- /// <summary>
- /// Position.
- /// </summary>
- int Position
- {
- get;
- }
-
- /// <summary>
- /// Gets remaining bytes in the stream.
- /// </summary>
- /// <value>Remaining bytes.</value>
- int Remaining { get; }
-
- /// <summary>
- /// Gets underlying array, avoiding copying if possible.
- /// </summary>
- /// <returns>Underlying array.</returns>
- byte[] GetArray();
-
- /// <summary>
- /// Gets underlying data in a new array.
- /// </summary>
- /// <returns>New array with data.</returns>
- byte[] GetArrayCopy();
-
- /// <summary>
- /// Check whether array passed as argument is the same as the stream hosts.
- /// </summary>
- /// <param name="arr">Array.</param>
- /// <returns><c>True</c> if they are same.</returns>
- bool IsSameArray(byte[] arr);
-
- /// <summary>
- /// Seek to the given positoin.
- /// </summary>
- /// <param name="offset">Offset.</param>
- /// <param name="origin">Seek origin.</param>
- /// <returns>Position.</returns>
- int Seek(int offset, SeekOrigin origin);
- }
-}