Repository: ignite Updated Branches: refs/heads/master bd7d4077b -> bdc9e4b91
http://git-wip-us.apache.org/repos/asf/ignite/blob/bdc9e4b9/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs index f76bbac..a38cf2f 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs @@ -93,12 +93,9 @@ namespace Apache.Ignite.Core.Impl.Unmanaged try { - // OnStart receives the same InteropProcessor as here (just as another GlobalRef) and stores it. - // Release current reference immediately. - void* res = JNI.IgnitionStart(ctx.NativeContext, cfgPath0, gridName0, InteropFactoryId, + // OnStart receives InteropProcessor referece and stores it. + JNI.IgnitionStart(ctx.NativeContext, cfgPath0, gridName0, InteropFactoryId, mem.SynchronizeOutput()); - - JNI.Release(res); } finally { @@ -122,304 +119,6 @@ namespace Apache.Ignite.Core.Impl.Unmanaged } } - internal static void IgnitionStopAll(void* ctx, bool cancel) - { - JNI.IgnitionStopAll(ctx, cancel); - } - - internal static void ProcessorReleaseStart(IUnmanagedTarget target) - { - JNI.ProcessorReleaseStart(target.Context, target.Target); - } - - internal static IUnmanagedTarget ProcessorProjection(IUnmanagedTarget target) - { - void* res = JNI.ProcessorProjection(target.Context, target.Target); - - return target.ChangeTarget(res); - } - - internal static IUnmanagedTarget ProcessorCache(IUnmanagedTarget target, string name) - { - sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - void* res = JNI.ProcessorCache(target.Context, target.Target, name0); - - return target.ChangeTarget(res); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static IUnmanagedTarget ProcessorCreateCache(IUnmanagedTarget target, string name) - { - sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - void* res = JNI.ProcessorCreateCache(target.Context, target.Target, name0); - - return target.ChangeTarget(res); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static IUnmanagedTarget ProcessorCreateCache(IUnmanagedTarget target, long memPtr) - { - void* res = JNI.ProcessorCreateCacheFromConfig(target.Context, target.Target, memPtr); - - return target.ChangeTarget(res); - } - - internal static IUnmanagedTarget ProcessorGetOrCreateCache(IUnmanagedTarget target, string name) - { - sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - void* res = JNI.ProcessorGetOrCreateCache(target.Context, target.Target, name0); - - return target.ChangeTarget(res); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static IUnmanagedTarget ProcessorGetOrCreateCache(IUnmanagedTarget target, long memPtr) - { - void* res = JNI.ProcessorGetOrCreateCacheFromConfig(target.Context, target.Target, memPtr); - - return target.ChangeTarget(res); - } - - internal static IUnmanagedTarget ProcessorCreateNearCache(IUnmanagedTarget target, string name, long memPtr) - { - sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - void* res = JNI.ProcessorCreateNearCache(target.Context, target.Target, name0, memPtr); - - return target.ChangeTarget(res); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static IUnmanagedTarget ProcessorGetOrCreateNearCache(IUnmanagedTarget target, string name, long memPtr) - { - sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - void* res = JNI.ProcessorGetOrCreateNearCache(target.Context, target.Target, name0, memPtr); - - return target.ChangeTarget(res); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static void ProcessorDestroyCache(IUnmanagedTarget target, string name) - { - sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - JNI.ProcessorDestroyCache(target.Context, target.Target, name0); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static IUnmanagedTarget ProcessorAffinity(IUnmanagedTarget target, string name) - { - sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - void* res = JNI.ProcessorAffinity(target.Context, target.Target, name0); - - return target.ChangeTarget(res); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static IUnmanagedTarget ProcessorDataStreamer(IUnmanagedTarget target, string name, bool keepBinary) - { - sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - void* res = JNI.ProcessorDataStreamer(target.Context, target.Target, name0, keepBinary); - - return target.ChangeTarget(res); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static IUnmanagedTarget ProcessorTransactions(IUnmanagedTarget target) - { - void* res = JNI.ProcessorTransactions(target.Context, target.Target); - - return target.ChangeTarget(res); - } - - internal static IUnmanagedTarget ProcessorCompute(IUnmanagedTarget target, IUnmanagedTarget prj) - { - void* res = JNI.ProcessorCompute(target.Context, target.Target, prj.Target); - - return target.ChangeTarget(res); - } - - internal static IUnmanagedTarget ProcessorMessage(IUnmanagedTarget target, IUnmanagedTarget prj) - { - void* res = JNI.ProcessorMessage(target.Context, target.Target, prj.Target); - - return target.ChangeTarget(res); - } - - internal static IUnmanagedTarget ProcessorEvents(IUnmanagedTarget target, IUnmanagedTarget prj) - { - void* res = JNI.ProcessorEvents(target.Context, target.Target, prj.Target); - - return target.ChangeTarget(res); - } - - internal static IUnmanagedTarget ProcessorServices(IUnmanagedTarget target, IUnmanagedTarget prj) - { - void* res = JNI.ProcessorServices(target.Context, target.Target, prj.Target); - - return target.ChangeTarget(res); - } - - internal static IUnmanagedTarget ProcessorExtensions(IUnmanagedTarget target) - { - void* res = JNI.ProcessorExtensions(target.Context, target.Target); - - return target.ChangeTarget(res); - } - - internal static IUnmanagedTarget ProcessorExtension(IUnmanagedTarget target, int id) - { - void* res = JNI.ProcessorExtension(target.Context, target.Target, id); - - return target.ChangeTarget(res); - } - - internal static IUnmanagedTarget ProcessorAtomicLong(IUnmanagedTarget target, string name, long initialValue, - bool create) - { - var name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - var res = JNI.ProcessorAtomicLong(target.Context, target.Target, name0, initialValue, create); - - return res == null ? null : target.ChangeTarget(res); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static IUnmanagedTarget ProcessorAtomicSequence(IUnmanagedTarget target, string name, long initialValue, - bool create) - { - var name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - var res = JNI.ProcessorAtomicSequence(target.Context, target.Target, name0, initialValue, create); - - return res == null ? null : target.ChangeTarget(res); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static IUnmanagedTarget ProcessorAtomicReference(IUnmanagedTarget target, string name, long memPtr, - bool create) - { - var name0 = IgniteUtils.StringToUtf8Unmanaged(name); - - try - { - var res = JNI.ProcessorAtomicReference(target.Context, target.Target, name0, memPtr, create); - - return res == null ? null : target.ChangeTarget(res); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(name0)); - } - } - - internal static void ProcessorGetIgniteConfiguration(IUnmanagedTarget target, long memPtr) - { - JNI.ProcessorGetIgniteConfiguration(target.Context, target.Target, memPtr); - } - - internal static void ProcessorGetCacheNames(IUnmanagedTarget target, long memPtr) - { - JNI.ProcessorGetCacheNames(target.Context, target.Target, memPtr); - } - - internal static bool ProcessorLoggerIsLevelEnabled(IUnmanagedTarget target, int level) - { - return JNI.ProcessorLoggerIsLevelEnabled(target.Context, target.Target, level); - } - - internal static void ProcessorLoggerLog(IUnmanagedTarget target, int level, string message, string category, - string errorInfo) - { - var message0 = IgniteUtils.StringToUtf8Unmanaged(message); - var category0 = IgniteUtils.StringToUtf8Unmanaged(category); - var errorInfo0 = IgniteUtils.StringToUtf8Unmanaged(errorInfo); - - try - { - JNI.ProcessorLoggerLog(target.Context, target.Target, level, message0, category0, errorInfo0); - } - finally - { - Marshal.FreeHGlobal(new IntPtr(message0)); - Marshal.FreeHGlobal(new IntPtr(category0)); - Marshal.FreeHGlobal(new IntPtr(errorInfo0)); - } - } - - internal static IUnmanagedTarget ProcessorBinaryProcessor(IUnmanagedTarget target) - { - void* res = JNI.ProcessorBinaryProcessor(target.Context, target.Target); - - return target.ChangeTarget(res); - } - #endregion #region NATIVE METHODS: TARGET @@ -443,6 +142,9 @@ namespace Apache.Ignite.Core.Impl.Unmanaged { void* res = JNI.TargetInStreamOutObject(target.Context, target.Target, opType, inMemPtr); + if (res == null) + return null; + return target.ChangeTarget(res); }