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/09/21 16:26:58 UTC
[02/52] [partial] ignite git commit: IGNITE-1513: Moved .Net.
http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
deleted file mode 100644
index c55d92f..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
+++ /dev/null
@@ -1,1263 +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.Unmanaged
-{
- using System;
- using System.Diagnostics.CodeAnalysis;
- using System.Runtime.InteropServices;
- using Apache.Ignite.Core.Common;
- using Apache.Ignite.Core.Impl.Common;
-
- /// <summary>
- /// Unmanaged utility classes.
- /// </summary>
- internal static unsafe class UnmanagedUtils
- {
- /** Interop factory ID for .Net. */
- private const int InteropFactoryId = 1;
-
- #region PROCEDURE NAMES
-
- private const string ProcReallocate = "IgniteReallocate";
-
- private const string ProcIgnitionStart = "IgniteIgnitionStart";
- private const string ProcIgnitionStop = "IgniteIgnitionStop";
- private const string ProcIgnitionStopAll = "IgniteIgnitionStopAll";
-
- private const string ProcProcessorReleaseStart = "IgniteProcessorReleaseStart";
- private const string ProcProcessorProjection = "IgniteProcessorProjection";
- private const string ProcProcessorCache = "IgniteProcessorCache";
- private const string ProcProcessorGetOrCreateCache = "IgniteProcessorGetOrCreateCache";
- private const string ProcProcessorCreateCache = "IgniteProcessorCreateCache";
- private const string ProcProcessorAffinity = "IgniteProcessorAffinity";
- private const string ProcProcessorDataStreamer = "IgniteProcessorDataStreamer";
- private const string ProcProcessorTransactions = "IgniteProcessorTransactions";
- private const string ProcProcessorCompute = "IgniteProcessorCompute";
- private const string ProcProcessorMessage = "IgniteProcessorMessage";
- private const string ProcProcessorEvents = "IgniteProcessorEvents";
- private const string ProcProcessorServices = "IgniteProcessorServices";
- private const string ProcProcessorExtensions = "IgniteProcessorExtensions";
-
- private const string ProcTargetInStreamOutLong = "IgniteTargetInStreamOutLong";
- private const string ProcTargetInStreamOutStream = "IgniteTargetInStreamOutStream";
- private const string ProcTargetInStreamOutObject = "IgniteTargetInStreamOutObject";
- private const string ProcTargetInObjectStreamOutStream = "IgniteTargetInObjectStreamOutStream";
- private const string ProcTargetOutLong = "IgniteTargetOutLong";
- private const string ProcTargetOutStream = "IgniteTargetOutStream";
- private const string ProcTargetOutObject = "IgniteTargetOutObject";
- private const string ProcTargetListenFut = "IgniteTargetListenFuture";
- private const string ProcTargetListenFutForOp = "IgniteTargetListenFutureForOperation";
-
- private const string ProcAffinityParts = "IgniteAffinityPartitions";
-
- private const string ProcCacheWithSkipStore = "IgniteCacheWithSkipStore";
- private const string ProcCacheWithNoRetries = "IgniteCacheWithNoRetries";
- private const string ProcCacheWithExpiryPolicy = "IgniteCacheWithExpiryPolicy";
- private const string ProcCacheWithAsync = "IgniteCacheWithAsync";
- private const string ProcCacheWithKeepPortable = "IgniteCacheWithKeepPortable";
- private const string ProcCacheClear = "IgniteCacheClear";
- private const string ProcCacheRemoveAll = "IgniteCacheRemoveAll";
- private const string ProcCacheOutOpQueryCursor = "IgniteCacheOutOpQueryCursor";
- private const string ProcCacheOutOpContinuousQuery = "IgniteCacheOutOpContinuousQuery";
- private const string ProcCacheIterator = "IgniteCacheIterator";
- private const string ProcCacheLocalIterator = "IgniteCacheLocalIterator";
- private const string ProcCacheEnterLock = "IgniteCacheEnterLock";
- private const string ProcCacheExitLock = "IgniteCacheExitLock";
- private const string ProcCacheTryEnterLock = "IgniteCacheTryEnterLock";
- private const string ProcCacheCloseLock = "IgniteCacheCloseLock";
- private const string ProcCacheRebalance = "IgniteCacheRebalance";
- private const string ProcCacheSize = "IgniteCacheSize";
-
- private const string ProcCacheStoreCallbackInvoke = "IgniteCacheStoreCallbackInvoke";
-
- private const string ProcComputeWithNoFailover = "IgniteComputeWithNoFailover";
- private const string ProcComputeWithTimeout = "IgniteComputeWithTimeout";
- private const string ProcComputeExecuteNative = "IgniteComputeExecuteNative";
-
- private const string ProcContinuousQryClose = "IgniteContinuousQueryClose";
- private const string ProcContinuousQryGetInitialQueryCursor = "IgniteContinuousQueryGetInitialQueryCursor";
-
- private const string ProcDataStreamerListenTop = "IgniteDataStreamerListenTopology";
- private const string ProcDataStreamerAllowOverwriteGet = "IgniteDataStreamerAllowOverwriteGet";
- private const string ProcDataStreamerAllowOverwriteSet = "IgniteDataStreamerAllowOverwriteSet";
- private const string ProcDataStreamerSkipStoreGet = "IgniteDataStreamerSkipStoreGet";
- private const string ProcDataStreamerSkipStoreSet = "IgniteDataStreamerSkipStoreSet";
- private const string ProcDataStreamerPerNodeBufferSizeGet = "IgniteDataStreamerPerNodeBufferSizeGet";
- private const string ProcDataStreamerPerNodeBufferSizeSet = "IgniteDataStreamerPerNodeBufferSizeSet";
- private const string ProcDataStreamerPerNodeParallelOpsGet = "IgniteDataStreamerPerNodeParallelOperationsGet";
- private const string ProcDataStreamerPerNodeParallelOpsSet = "IgniteDataStreamerPerNodeParallelOperationsSet";
-
- private const string ProcMessagingWithAsync = "IgniteMessagingWithAsync";
-
- private const string ProcQryCursorIterator = "IgniteQueryCursorIterator";
- private const string ProcQryCursorClose = "IgniteQueryCursorClose";
-
- private const string ProcProjectionForOthers = "IgniteProjectionForOthers";
- private const string ProcProjectionForRemotes = "IgniteProjectionForRemotes";
- private const string ProcProjectionForDaemons = "IgniteProjectionForDaemons";
- private const string ProcProjectionForRandom = "IgniteProjectionForRandom";
- private const string ProcProjectionForOldest = "IgniteProjectionForOldest";
- private const string ProcProjectionForYoungest = "IgniteProjectionForYoungest";
- private const string ProcProjectionResetMetrics = "IgniteProjectionResetMetrics";
- private const string ProcProjectionOutOpRet = "IgniteProjectionOutOpRet";
-
- private const string ProcAcquire = "IgniteAcquire";
- private const string ProcRelease = "IgniteRelease";
-
- private const string ProcTxStart = "IgniteTransactionsStart";
- private const string ProcTxCommit = "IgniteTransactionsCommit";
- private const string ProcTxCommitAsync = "IgniteTransactionsCommitAsync";
- private const string ProcTxRollback = "IgniteTransactionsRollback";
- private const string ProcTxRollbackAsync = "IgniteTransactionsRollbackAsync";
- private const string ProcTxClose = "IgniteTransactionsClose";
- private const string ProcTxState = "IgniteTransactionsState";
- private const string ProcTxSetRollbackOnly = "IgniteTransactionsSetRollbackOnly";
- private const string ProcTxResetMetrics = "IgniteTransactionsResetMetrics";
-
- private const string ProcThrowToJava = "IgniteThrowToJava";
-
- private const string ProcDestroyJvm = "IgniteDestroyJvm";
-
- private const string ProcHandlersSize = "IgniteHandlersSize";
-
- private const string ProcCreateContext = "IgniteCreateContext";
-
- private const string ProcEventsWithAsync = "IgniteEventsWithAsync";
- private const string ProcEventsStopLocalListen = "IgniteEventsStopLocalListen";
- private const string ProcEventsLocalListen = "IgniteEventsLocalListen";
- private const string ProcEventsIsEnabled = "IgniteEventsIsEnabled";
-
- private const string ProcDeleteContext = "IgniteDeleteContext";
-
- private const string ProcServicesWithAsync = "IgniteServicesWithAsync";
- private const string ProcServicesWithServerKeepPortable = "IgniteServicesWithServerKeepPortable";
- private const string ProcServicesCancel = "IgniteServicesCancel";
- private const string ProcServicesCancelAll = "IgniteServicesCancelAll";
- private const string ProcServicesGetServiceProxy = "IgniteServicesGetServiceProxy";
-
- #endregion
-
- #region DELEGATE DEFINITIONS
-
- private delegate int ReallocateDelegate(long memPtr, int cap);
-
- private delegate void* IgnitionStartDelegate(void* ctx, sbyte* cfgPath, sbyte* gridName, int factoryId, long dataPtr);
- private delegate bool IgnitionStopDelegate(void* ctx, sbyte* gridName, bool cancel);
- private delegate void IgnitionStopAllDelegate(void* ctx, bool cancel);
-
- private delegate void ProcessorReleaseStartDelegate(void* ctx, void* obj);
- private delegate void* ProcessorProjectionDelegate(void* ctx, void* obj);
- private delegate void* ProcessorCacheDelegate(void* ctx, void* obj, sbyte* name);
- private delegate void* ProcessorCreateCacheDelegate(void* ctx, void* obj, sbyte* name);
- private delegate void* ProcessorGetOrCreateCacheDelegate(void* ctx, void* obj, sbyte* name);
- private delegate void* ProcessorAffinityDelegate(void* ctx, void* obj, sbyte* name);
- private delegate void* ProcessorDataStreamerDelegate(void* ctx, void* obj, sbyte* name, bool keepPortable);
- private delegate void* ProcessorTransactionsDelegate(void* ctx, void* obj);
- private delegate void* ProcessorComputeDelegate(void* ctx, void* obj, void* prj);
- private delegate void* ProcessorMessageDelegate(void* ctx, void* obj, void* prj);
- private delegate void* ProcessorEventsDelegate(void* ctx, void* obj, void* prj);
- private delegate void* ProcessorServicesDelegate(void* ctx, void* obj, void* prj);
- private delegate void* ProcessorExtensionsDelegate(void* ctx, void* obj);
-
- private delegate long TargetInStreamOutLongDelegate(void* ctx, void* target, int opType, long memPtr);
- private delegate void TargetInStreamOutStreamDelegate(void* ctx, void* target, int opType, long inMemPtr, long outMemPtr);
- private delegate void* TargetInStreamOutObjectDelegate(void* ctx, void* target, int opType, long memPtr);
- private delegate void TargetInObjectStreamOutStreamDelegate(void* ctx, void* target, int opType, void* arg, long inMemPtr, long outMemPtr);
- private delegate long TargetOutLongDelegate(void* ctx, void* target, int opType);
- private delegate void TargetOutStreamDelegate(void* ctx, void* target, int opType, long memPtr);
- private delegate void* TargetOutObjectDelegate(void* ctx, void* target, int opType);
- private delegate void TargetListenFutureDelegate(void* ctx, void* target, long futId, int typ);
- private delegate void TargetListenFutureForOpDelegate(void* ctx, void* target, long futId, int typ, int opId);
-
- private delegate int AffinityPartitionsDelegate(void* ctx, void* target);
-
- private delegate void* CacheWithSkipStoreDelegate(void* ctx, void* obj);
- private delegate void* CacheNoRetriesDelegate(void* ctx, void* obj);
- private delegate void* CacheWithExpiryPolicyDelegate(void* ctx, void* obj, long create, long update, long access);
- private delegate void* CacheWithAsyncDelegate(void* ctx, void* obj);
- private delegate void* CacheWithKeepPortableDelegate(void* ctx, void* obj);
- private delegate void CacheClearDelegate(void* ctx, void* obj);
- private delegate void CacheRemoveAllDelegate(void* ctx, void* obj);
- private delegate void* CacheOutOpQueryCursorDelegate(void* ctx, void* obj, int type, long memPtr);
- private delegate void* CacheOutOpContinuousQueryDelegate(void* ctx, void* obj, int type, long memPtr);
- private delegate void* CacheIteratorDelegate(void* ctx, void* obj);
- private delegate void* CacheLocalIteratorDelegate(void* ctx, void* obj, int peekModes);
- private delegate void CacheEnterLockDelegate(void* ctx, void* obj, long id);
- private delegate void CacheExitLockDelegate(void* ctx, void* obj, long id);
- private delegate bool CacheTryEnterLockDelegate(void* ctx, void* obj, long id, long timeout);
- private delegate void CacheCloseLockDelegate(void* ctx, void* obj, long id);
- private delegate void CacheRebalanceDelegate(void* ctx, void* obj, long futId);
- private delegate int CacheSizeDelegate(void* ctx, void* obj, int peekModes, bool loc);
-
- private delegate void CacheStoreCallbackInvokeDelegate(void* ctx, void* obj, long memPtr);
-
- private delegate void ComputeWithNoFailoverDelegate(void* ctx, void* target);
- private delegate void ComputeWithTimeoutDelegate(void* ctx, void* target, long timeout);
- private delegate void ComputeExecuteNativeDelegate(void* ctx, void* target, long taskPtr, long topVer);
-
- private delegate void ContinuousQueryCloseDelegate(void* ctx, void* target);
- private delegate void* ContinuousQueryGetInitialQueryCursorDelegate(void* ctx, void* target);
-
- private delegate void DataStreamerListenTopologyDelegate(void* ctx, void* obj, long ptr);
- private delegate bool DataStreamerAllowOverwriteGetDelegate(void* ctx, void* obj);
- private delegate void DataStreamerAllowOverwriteSetDelegate(void* ctx, void* obj, bool val);
- private delegate bool DataStreamerSkipStoreGetDelegate(void* ctx, void* obj);
- private delegate void DataStreamerSkipStoreSetDelegate(void* ctx, void* obj, bool val);
- private delegate int DataStreamerPerNodeBufferSizeGetDelegate(void* ctx, void* obj);
- private delegate void DataStreamerPerNodeBufferSizeSetDelegate(void* ctx, void* obj, int val);
- private delegate int DataStreamerPerNodeParallelOperationsGetDelegate(void* ctx, void* obj);
- private delegate void DataStreamerPerNodeParallelOperationsSetDelegate(void* ctx, void* obj, int val);
-
- private delegate void* MessagingWithAsyncDelegate(void* ctx, void* target);
-
- private delegate void* ProjectionForOthersDelegate(void* ctx, void* obj, void* prj);
- private delegate void* ProjectionForRemotesDelegate(void* ctx, void* obj);
- private delegate void* ProjectionForDaemonsDelegate(void* ctx, void* obj);
- private delegate void* ProjectionForRandomDelegate(void* ctx, void* obj);
- private delegate void* ProjectionForOldestDelegate(void* ctx, void* obj);
- private delegate void* ProjectionForYoungestDelegate(void* ctx, void* obj);
- private delegate void ProjectionResetMetricsDelegate(void* ctx, void* obj);
- private delegate void* ProjectionOutOpRetDelegate(void* ctx, void* obj, int type, long memPtr);
-
- private delegate void QueryCursorIteratorDelegate(void* ctx, void* target);
- private delegate void QueryCursorCloseDelegate(void* ctx, void* target);
-
- private delegate void* AcquireDelegate(void* ctx, void* target);
- private delegate void ReleaseDelegate(void* target);
-
- private delegate long TransactionsStartDelegate(void* ctx, void* target, int concurrency, int isolation, long timeout, int txSize);
- private delegate int TransactionsCommitDelegate(void* ctx, void* target, long id);
- private delegate void TransactionsCommitAsyncDelegate(void* ctx, void* target, long id, long futId);
- private delegate int TransactionsRollbackDelegate(void* ctx, void* target, long id);
- private delegate void TransactionsRollbackAsyncDelegate(void* ctx, void* target, long id, long futId);
- private delegate int TransactionsCloseDelegate(void* ctx, void* target, long id);
- private delegate int TransactionsStateDelegate(void* ctx, void* target, long id);
- private delegate bool TransactionsSetRollbackOnlyDelegate(void* ctx, void* target, long id);
- private delegate void TransactionsResetMetricsDelegate(void* ctx, void* target);
-
- private delegate void ThrowToJavaDelegate(void* ctx, char* msg);
-
- private delegate void DestroyJvmDelegate(void* ctx);
-
- private delegate int HandlersSizeDelegate();
-
- private delegate void* CreateContextDelegate(void* opts, int optsLen, void* cbs);
-
- private delegate void* EventsWithAsyncDelegate(void* ctx, void* obj);
- private delegate bool EventsStopLocalListenDelegate(void* ctx, void* obj, long hnd);
- private delegate void EventsLocalListenDelegate(void* ctx, void* obj, long hnd, int type);
- private delegate bool EventsIsEnabledDelegate(void* ctx, void* obj, int type);
-
- private delegate void DeleteContextDelegate(void* ptr);
-
- private delegate void* ServicesWithAsyncDelegate(void* ctx, void* target);
- private delegate void* ServicesWithServerKeepPortableDelegate(void* ctx, void* target);
- private delegate long ServicesCancelDelegate(void* ctx, void* target, char* name);
- private delegate long ServicesCancelAllDelegate(void* ctx, void* target);
- private delegate void* ServicesGetServiceProxyDelegate(void* ctx, void* target, char* name, bool sticky);
-
- #endregion
-
- #region DELEGATE MEMBERS
-
- // ReSharper disable InconsistentNaming
- private static readonly ReallocateDelegate REALLOCATE;
-
- private static readonly IgnitionStartDelegate IGNITION_START;
- private static readonly IgnitionStopDelegate IGNITION_STOP;
- private static readonly IgnitionStopAllDelegate IGNITION_STOP_ALL;
-
- private static readonly ProcessorReleaseStartDelegate PROCESSOR_RELEASE_START;
- private static readonly ProcessorProjectionDelegate PROCESSOR_PROJECTION;
- private static readonly ProcessorCacheDelegate PROCESSOR_CACHE;
- private static readonly ProcessorCreateCacheDelegate PROCESSOR_CREATE_CACHE;
- private static readonly ProcessorGetOrCreateCacheDelegate PROCESSOR_GET_OR_CREATE_CACHE;
- private static readonly ProcessorAffinityDelegate PROCESSOR_AFFINITY;
- private static readonly ProcessorDataStreamerDelegate PROCESSOR_DATA_STREAMER;
- private static readonly ProcessorTransactionsDelegate PROCESSOR_TRANSACTIONS;
- private static readonly ProcessorComputeDelegate PROCESSOR_COMPUTE;
- private static readonly ProcessorMessageDelegate PROCESSOR_MESSAGE;
- private static readonly ProcessorEventsDelegate PROCESSOR_EVENTS;
- private static readonly ProcessorServicesDelegate PROCESSOR_SERVICES;
- private static readonly ProcessorExtensionsDelegate PROCESSOR_EXTENSIONS;
-
- private static readonly TargetInStreamOutLongDelegate TARGET_IN_STREAM_OUT_LONG;
- private static readonly TargetInStreamOutStreamDelegate TARGET_IN_STREAM_OUT_STREAM;
- private static readonly TargetInStreamOutObjectDelegate TARGET_IN_STREAM_OUT_OBJECT;
- private static readonly TargetInObjectStreamOutStreamDelegate TARGET_IN_OBJECT_STREAM_OUT_STREAM;
- private static readonly TargetOutLongDelegate TARGET_OUT_LONG;
- private static readonly TargetOutStreamDelegate TARGET_OUT_STREAM;
- private static readonly TargetOutObjectDelegate TARGET_OUT_OBJECT;
- private static readonly TargetListenFutureDelegate TargetListenFut;
- private static readonly TargetListenFutureForOpDelegate TargetListenFutForOp;
-
- private static readonly AffinityPartitionsDelegate AffinityParts;
-
- private static readonly CacheWithSkipStoreDelegate CACHE_WITH_SKIP_STORE;
- private static readonly CacheNoRetriesDelegate CACHE_WITH_NO_RETRIES;
- private static readonly CacheWithExpiryPolicyDelegate CACHE_WITH_EXPIRY_POLICY;
- private static readonly CacheWithAsyncDelegate CACHE_WITH_ASYNC;
- private static readonly CacheWithKeepPortableDelegate CACHE_WITH_KEEP_PORTABLE;
- private static readonly CacheClearDelegate CACHE_CLEAR;
- private static readonly CacheRemoveAllDelegate CACHE_REMOVE_ALL;
- private static readonly CacheOutOpQueryCursorDelegate CACHE_OUT_OP_QUERY_CURSOR;
- private static readonly CacheOutOpContinuousQueryDelegate CACHE_OUT_OP_CONTINUOUS_QUERY;
- private static readonly CacheIteratorDelegate CACHE_ITERATOR;
- private static readonly CacheLocalIteratorDelegate CACHE_LOCAL_ITERATOR;
- private static readonly CacheEnterLockDelegate CACHE_ENTER_LOCK;
- private static readonly CacheExitLockDelegate CACHE_EXIT_LOCK;
- private static readonly CacheTryEnterLockDelegate CACHE_TRY_ENTER_LOCK;
- private static readonly CacheCloseLockDelegate CACHE_CLOSE_LOCK;
- private static readonly CacheRebalanceDelegate CACHE_REBALANCE;
- private static readonly CacheSizeDelegate CACHE_SIZE;
-
- private static readonly CacheStoreCallbackInvokeDelegate CACHE_STORE_CALLBACK_INVOKE;
-
- private static readonly ComputeWithNoFailoverDelegate COMPUTE_WITH_NO_FAILOVER;
- private static readonly ComputeWithTimeoutDelegate COMPUTE_WITH_TIMEOUT;
- private static readonly ComputeExecuteNativeDelegate COMPUTE_EXECUTE_NATIVE;
-
- private static readonly ContinuousQueryCloseDelegate ContinuousQryClose;
- private static readonly ContinuousQueryGetInitialQueryCursorDelegate ContinuousQryGetInitialQueryCursor;
-
- private static readonly DataStreamerListenTopologyDelegate DataStreamerListenTop;
- private static readonly DataStreamerAllowOverwriteGetDelegate DATA_STREAMER_ALLOW_OVERWRITE_GET;
- private static readonly DataStreamerAllowOverwriteSetDelegate DATA_STREAMER_ALLOW_OVERWRITE_SET;
- private static readonly DataStreamerSkipStoreGetDelegate DATA_STREAMER_SKIP_STORE_GET;
- private static readonly DataStreamerSkipStoreSetDelegate DATA_STREAMER_SKIP_STORE_SET;
- private static readonly DataStreamerPerNodeBufferSizeGetDelegate DATA_STREAMER_PER_NODE_BUFFER_SIZE_GET;
- private static readonly DataStreamerPerNodeBufferSizeSetDelegate DATA_STREAMER_PER_NODE_BUFFER_SIZE_SET;
- private static readonly DataStreamerPerNodeParallelOperationsGetDelegate DataStreamerPerNodeParallelOpsGet;
- private static readonly DataStreamerPerNodeParallelOperationsSetDelegate DataStreamerPerNodeParallelOpsSet;
-
- private static readonly MessagingWithAsyncDelegate MessagingWithAsync;
-
- private static readonly ProjectionForOthersDelegate PROJECTION_FOR_OTHERS;
- private static readonly ProjectionForRemotesDelegate PROJECTION_FOR_REMOTES;
- private static readonly ProjectionForDaemonsDelegate PROJECTION_FOR_DAEMONS;
- private static readonly ProjectionForRandomDelegate PROJECTION_FOR_RANDOM;
- private static readonly ProjectionForOldestDelegate PROJECTION_FOR_OLDEST;
- private static readonly ProjectionForYoungestDelegate PROJECTION_FOR_YOUNGEST;
- private static readonly ProjectionResetMetricsDelegate PROJECTION_RESET_METRICS;
- private static readonly ProjectionOutOpRetDelegate PROJECTION_OUT_OP_RET;
-
- private static readonly QueryCursorIteratorDelegate QryCursorIterator;
- private static readonly QueryCursorCloseDelegate QryCursorClose;
-
- private static readonly AcquireDelegate ACQUIRE;
- private static readonly ReleaseDelegate RELEASE;
-
- private static readonly TransactionsStartDelegate TxStart;
- private static readonly TransactionsCommitDelegate TxCommit;
- private static readonly TransactionsCommitAsyncDelegate TxCommitAsync;
- private static readonly TransactionsRollbackDelegate TxRollback;
- private static readonly TransactionsRollbackAsyncDelegate TxRollbackAsync;
- private static readonly TransactionsCloseDelegate TxClose;
- private static readonly TransactionsStateDelegate TxState;
- private static readonly TransactionsSetRollbackOnlyDelegate TxSetRollbackOnly;
- private static readonly TransactionsResetMetricsDelegate TxResetMetrics;
-
- private static readonly ThrowToJavaDelegate THROW_TO_JAVA;
-
- private static readonly DestroyJvmDelegate DESTROY_JVM;
-
- private static readonly HandlersSizeDelegate HANDLERS_SIZE;
-
- private static readonly CreateContextDelegate CREATE_CONTEXT;
-
- private static readonly EventsWithAsyncDelegate EVENTS_WITH_ASYNC;
- private static readonly EventsStopLocalListenDelegate EVENTS_STOP_LOCAL_LISTEN;
- private static readonly EventsLocalListenDelegate EVENTS_LOCAL_LISTEN;
- private static readonly EventsIsEnabledDelegate EVENTS_IS_ENABLED;
-
- private static readonly DeleteContextDelegate DELETE_CONTEXT;
-
- private static readonly ServicesWithAsyncDelegate SERVICES_WITH_ASYNC;
- private static readonly ServicesWithServerKeepPortableDelegate SERVICES_WITH_SERVER_KEEP_PORTABLE;
- private static readonly ServicesCancelDelegate SERVICES_CANCEL;
- private static readonly ServicesCancelAllDelegate SERVICES_CANCEL_ALL;
- private static readonly ServicesGetServiceProxyDelegate SERVICES_GET_SERVICE_PROXY;
- // ReSharper restore InconsistentNaming
-
- #endregion
-
- /** Library pointer. */
- private static readonly IntPtr Ptr;
-
- /// <summary>
- /// Initializer.
- /// </summary>
- [SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")]
- static UnmanagedUtils()
- {
- var path = IgniteUtils.UnpackEmbeddedResource(IgniteUtils.FileIgniteJniDll);
-
- Ptr = NativeMethods.LoadLibrary(path);
-
- if (Ptr == IntPtr.Zero)
- throw new IgniteException("Failed to load " + IgniteUtils.FileIgniteJniDll + ": " + Marshal.GetLastWin32Error());
-
- REALLOCATE = CreateDelegate<ReallocateDelegate>(ProcReallocate);
-
- IGNITION_START = CreateDelegate<IgnitionStartDelegate>(ProcIgnitionStart);
- IGNITION_STOP = CreateDelegate<IgnitionStopDelegate>(ProcIgnitionStop);
- IGNITION_STOP_ALL = CreateDelegate<IgnitionStopAllDelegate>(ProcIgnitionStopAll);
-
- PROCESSOR_RELEASE_START = CreateDelegate<ProcessorReleaseStartDelegate>(ProcProcessorReleaseStart);
- PROCESSOR_PROJECTION = CreateDelegate<ProcessorProjectionDelegate>(ProcProcessorProjection);
- PROCESSOR_CACHE = CreateDelegate<ProcessorCacheDelegate>(ProcProcessorCache);
- PROCESSOR_CREATE_CACHE = CreateDelegate<ProcessorCreateCacheDelegate>(ProcProcessorCreateCache);
- PROCESSOR_GET_OR_CREATE_CACHE = CreateDelegate<ProcessorGetOrCreateCacheDelegate>(ProcProcessorGetOrCreateCache);
- PROCESSOR_AFFINITY = CreateDelegate<ProcessorAffinityDelegate>(ProcProcessorAffinity);
- PROCESSOR_DATA_STREAMER = CreateDelegate<ProcessorDataStreamerDelegate>(ProcProcessorDataStreamer);
- PROCESSOR_TRANSACTIONS = CreateDelegate<ProcessorTransactionsDelegate>(ProcProcessorTransactions);
- PROCESSOR_COMPUTE = CreateDelegate<ProcessorComputeDelegate>(ProcProcessorCompute);
- PROCESSOR_MESSAGE = CreateDelegate<ProcessorMessageDelegate>(ProcProcessorMessage);
- PROCESSOR_EVENTS = CreateDelegate<ProcessorEventsDelegate>(ProcProcessorEvents);
- PROCESSOR_SERVICES = CreateDelegate<ProcessorServicesDelegate>(ProcProcessorServices);
- PROCESSOR_EXTENSIONS = CreateDelegate<ProcessorExtensionsDelegate>(ProcProcessorExtensions);
-
- TARGET_IN_STREAM_OUT_LONG = CreateDelegate<TargetInStreamOutLongDelegate>(ProcTargetInStreamOutLong);
- TARGET_IN_STREAM_OUT_STREAM = CreateDelegate<TargetInStreamOutStreamDelegate>(ProcTargetInStreamOutStream);
- TARGET_IN_STREAM_OUT_OBJECT = CreateDelegate<TargetInStreamOutObjectDelegate>(ProcTargetInStreamOutObject);
- TARGET_IN_OBJECT_STREAM_OUT_STREAM = CreateDelegate<TargetInObjectStreamOutStreamDelegate>(ProcTargetInObjectStreamOutStream);
- TARGET_OUT_LONG = CreateDelegate<TargetOutLongDelegate>(ProcTargetOutLong);
- TARGET_OUT_STREAM = CreateDelegate<TargetOutStreamDelegate>(ProcTargetOutStream);
- TARGET_OUT_OBJECT = CreateDelegate<TargetOutObjectDelegate>(ProcTargetOutObject);
- TargetListenFut = CreateDelegate<TargetListenFutureDelegate>(ProcTargetListenFut);
- TargetListenFutForOp = CreateDelegate<TargetListenFutureForOpDelegate>(ProcTargetListenFutForOp);
-
- AffinityParts = CreateDelegate<AffinityPartitionsDelegate>(ProcAffinityParts);
-
- CACHE_WITH_SKIP_STORE = CreateDelegate<CacheWithSkipStoreDelegate>(ProcCacheWithSkipStore);
- CACHE_WITH_NO_RETRIES = CreateDelegate<CacheNoRetriesDelegate>(ProcCacheWithNoRetries);
- CACHE_WITH_EXPIRY_POLICY = CreateDelegate<CacheWithExpiryPolicyDelegate>(ProcCacheWithExpiryPolicy);
- CACHE_WITH_ASYNC = CreateDelegate<CacheWithAsyncDelegate>(ProcCacheWithAsync);
- CACHE_WITH_KEEP_PORTABLE = CreateDelegate<CacheWithKeepPortableDelegate>(ProcCacheWithKeepPortable);
- CACHE_CLEAR = CreateDelegate<CacheClearDelegate>(ProcCacheClear);
- CACHE_REMOVE_ALL = CreateDelegate<CacheRemoveAllDelegate>(ProcCacheRemoveAll);
- CACHE_OUT_OP_QUERY_CURSOR = CreateDelegate<CacheOutOpQueryCursorDelegate>(ProcCacheOutOpQueryCursor);
- CACHE_OUT_OP_CONTINUOUS_QUERY = CreateDelegate<CacheOutOpContinuousQueryDelegate>(ProcCacheOutOpContinuousQuery);
- CACHE_ITERATOR = CreateDelegate<CacheIteratorDelegate>(ProcCacheIterator);
- CACHE_LOCAL_ITERATOR = CreateDelegate<CacheLocalIteratorDelegate>(ProcCacheLocalIterator);
- CACHE_ENTER_LOCK = CreateDelegate<CacheEnterLockDelegate>(ProcCacheEnterLock);
- CACHE_EXIT_LOCK = CreateDelegate<CacheExitLockDelegate>(ProcCacheExitLock);
- CACHE_TRY_ENTER_LOCK = CreateDelegate<CacheTryEnterLockDelegate>(ProcCacheTryEnterLock);
- CACHE_CLOSE_LOCK = CreateDelegate<CacheCloseLockDelegate>(ProcCacheCloseLock);
- CACHE_REBALANCE = CreateDelegate<CacheRebalanceDelegate>(ProcCacheRebalance);
- CACHE_SIZE = CreateDelegate<CacheSizeDelegate>(ProcCacheSize);
-
- CACHE_STORE_CALLBACK_INVOKE = CreateDelegate<CacheStoreCallbackInvokeDelegate>(ProcCacheStoreCallbackInvoke);
-
- COMPUTE_WITH_NO_FAILOVER = CreateDelegate<ComputeWithNoFailoverDelegate>(ProcComputeWithNoFailover);
- COMPUTE_WITH_TIMEOUT = CreateDelegate<ComputeWithTimeoutDelegate>(ProcComputeWithTimeout);
- COMPUTE_EXECUTE_NATIVE = CreateDelegate<ComputeExecuteNativeDelegate>(ProcComputeExecuteNative);
-
- ContinuousQryClose = CreateDelegate<ContinuousQueryCloseDelegate>(ProcContinuousQryClose);
- ContinuousQryGetInitialQueryCursor = CreateDelegate<ContinuousQueryGetInitialQueryCursorDelegate>(ProcContinuousQryGetInitialQueryCursor);
-
- DataStreamerListenTop = CreateDelegate<DataStreamerListenTopologyDelegate>(ProcDataStreamerListenTop);
- DATA_STREAMER_ALLOW_OVERWRITE_GET = CreateDelegate<DataStreamerAllowOverwriteGetDelegate>(ProcDataStreamerAllowOverwriteGet);
- DATA_STREAMER_ALLOW_OVERWRITE_SET = CreateDelegate<DataStreamerAllowOverwriteSetDelegate>(ProcDataStreamerAllowOverwriteSet);
- DATA_STREAMER_SKIP_STORE_GET = CreateDelegate<DataStreamerSkipStoreGetDelegate>(ProcDataStreamerSkipStoreGet);
- DATA_STREAMER_SKIP_STORE_SET = CreateDelegate<DataStreamerSkipStoreSetDelegate>(ProcDataStreamerSkipStoreSet);
- DATA_STREAMER_PER_NODE_BUFFER_SIZE_GET = CreateDelegate<DataStreamerPerNodeBufferSizeGetDelegate>(ProcDataStreamerPerNodeBufferSizeGet);
- DATA_STREAMER_PER_NODE_BUFFER_SIZE_SET = CreateDelegate<DataStreamerPerNodeBufferSizeSetDelegate>(ProcDataStreamerPerNodeBufferSizeSet);
- DataStreamerPerNodeParallelOpsGet = CreateDelegate<DataStreamerPerNodeParallelOperationsGetDelegate>(ProcDataStreamerPerNodeParallelOpsGet);
- DataStreamerPerNodeParallelOpsSet = CreateDelegate<DataStreamerPerNodeParallelOperationsSetDelegate>(ProcDataStreamerPerNodeParallelOpsSet);
-
- MessagingWithAsync = CreateDelegate<MessagingWithAsyncDelegate>(ProcMessagingWithAsync);
-
- PROJECTION_FOR_OTHERS = CreateDelegate<ProjectionForOthersDelegate>(ProcProjectionForOthers);
- PROJECTION_FOR_REMOTES = CreateDelegate<ProjectionForRemotesDelegate>(ProcProjectionForRemotes);
- PROJECTION_FOR_DAEMONS = CreateDelegate<ProjectionForDaemonsDelegate>(ProcProjectionForDaemons);
- PROJECTION_FOR_RANDOM = CreateDelegate<ProjectionForRandomDelegate>(ProcProjectionForRandom);
- PROJECTION_FOR_OLDEST = CreateDelegate<ProjectionForOldestDelegate>(ProcProjectionForOldest);
- PROJECTION_FOR_YOUNGEST = CreateDelegate<ProjectionForYoungestDelegate>(ProcProjectionForYoungest);
- PROJECTION_RESET_METRICS = CreateDelegate<ProjectionResetMetricsDelegate>(ProcProjectionResetMetrics);
- PROJECTION_OUT_OP_RET = CreateDelegate<ProjectionOutOpRetDelegate>(ProcProjectionOutOpRet);
-
- QryCursorIterator = CreateDelegate<QueryCursorIteratorDelegate>(ProcQryCursorIterator);
- QryCursorClose = CreateDelegate<QueryCursorCloseDelegate>(ProcQryCursorClose);
-
- ACQUIRE = CreateDelegate<AcquireDelegate>(ProcAcquire);
- RELEASE = CreateDelegate<ReleaseDelegate>(ProcRelease);
-
- TxStart = CreateDelegate<TransactionsStartDelegate>(ProcTxStart);
- TxCommit = CreateDelegate<TransactionsCommitDelegate>(ProcTxCommit);
- TxCommitAsync = CreateDelegate<TransactionsCommitAsyncDelegate>(ProcTxCommitAsync);
- TxRollback = CreateDelegate<TransactionsRollbackDelegate>(ProcTxRollback);
- TxRollbackAsync = CreateDelegate<TransactionsRollbackAsyncDelegate>(ProcTxRollbackAsync);
- TxClose = CreateDelegate<TransactionsCloseDelegate>(ProcTxClose);
- TxState = CreateDelegate<TransactionsStateDelegate>(ProcTxState);
- TxSetRollbackOnly = CreateDelegate<TransactionsSetRollbackOnlyDelegate>(ProcTxSetRollbackOnly);
- TxResetMetrics = CreateDelegate<TransactionsResetMetricsDelegate>(ProcTxResetMetrics);
-
- THROW_TO_JAVA = CreateDelegate<ThrowToJavaDelegate>(ProcThrowToJava);
-
- HANDLERS_SIZE = CreateDelegate<HandlersSizeDelegate>(ProcHandlersSize);
-
- CREATE_CONTEXT = CreateDelegate<CreateContextDelegate>(ProcCreateContext);
- DELETE_CONTEXT = CreateDelegate<DeleteContextDelegate>(ProcDeleteContext);
-
- DESTROY_JVM = CreateDelegate<DestroyJvmDelegate>(ProcDestroyJvm);
-
- EVENTS_WITH_ASYNC = CreateDelegate<EventsWithAsyncDelegate>(ProcEventsWithAsync);
- EVENTS_STOP_LOCAL_LISTEN = CreateDelegate<EventsStopLocalListenDelegate>(ProcEventsStopLocalListen);
- EVENTS_LOCAL_LISTEN = CreateDelegate<EventsLocalListenDelegate>(ProcEventsLocalListen);
- EVENTS_IS_ENABLED = CreateDelegate<EventsIsEnabledDelegate>(ProcEventsIsEnabled);
-
- SERVICES_WITH_ASYNC = CreateDelegate<ServicesWithAsyncDelegate>(ProcServicesWithAsync);
- SERVICES_WITH_SERVER_KEEP_PORTABLE = CreateDelegate<ServicesWithServerKeepPortableDelegate>(ProcServicesWithServerKeepPortable);
- SERVICES_CANCEL = CreateDelegate<ServicesCancelDelegate>(ProcServicesCancel);
- SERVICES_CANCEL_ALL = CreateDelegate<ServicesCancelAllDelegate>(ProcServicesCancelAll);
- SERVICES_GET_SERVICE_PROXY = CreateDelegate<ServicesGetServiceProxyDelegate>(ProcServicesGetServiceProxy);
- }
-
- #region NATIVE METHODS: PROCESSOR
-
- internal static IUnmanagedTarget IgnitionStart(UnmanagedContext ctx, string cfgPath, string gridName,
- bool clientMode)
- {
- using (var mem = IgniteManager.Memory.Allocate().Stream())
- {
- mem.WriteBool(clientMode);
-
- sbyte* cfgPath0 = IgniteUtils.StringToUtf8Unmanaged(cfgPath);
- sbyte* gridName0 = IgniteUtils.StringToUtf8Unmanaged(gridName);
-
- try
- {
- void* res = IGNITION_START(ctx.NativeContext, cfgPath0, gridName0, InteropFactoryId,
- mem.SynchronizeOutput());
-
- return new UnmanagedTarget(ctx, res);
- }
- finally
- {
- Marshal.FreeHGlobal(new IntPtr(cfgPath0));
- Marshal.FreeHGlobal(new IntPtr(gridName0));
- }
- }
- }
-
- internal static bool IgnitionStop(void* ctx, string gridName, bool cancel)
- {
- sbyte* gridName0 = IgniteUtils.StringToUtf8Unmanaged(gridName);
-
- try
- {
- return IGNITION_STOP(ctx, gridName0, cancel);
- }
- finally
- {
- Marshal.FreeHGlobal(new IntPtr(gridName0));
- }
- }
-
- internal static void IgnitionStopAll(void* ctx, bool cancel)
- {
- IGNITION_STOP_ALL(ctx, cancel);
- }
-
- internal static void ProcessorReleaseStart(IUnmanagedTarget target)
- {
- PROCESSOR_RELEASE_START(target.Context, target.Target);
- }
-
- internal static IUnmanagedTarget ProcessorProjection(IUnmanagedTarget target)
- {
- void* res = PROCESSOR_PROJECTION(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProcessorCache(IUnmanagedTarget target, string name)
- {
- sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name);
-
- try
- {
- void* res = PROCESSOR_CACHE(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 = PROCESSOR_CREATE_CACHE(target.Context, target.Target, name0);
-
- return target.ChangeTarget(res);
- }
- finally
- {
- Marshal.FreeHGlobal(new IntPtr(name0));
- }
- }
-
- internal static IUnmanagedTarget ProcessorGetOrCreateCache(IUnmanagedTarget target, string name)
- {
- sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name);
-
- try
- {
- void* res = PROCESSOR_GET_OR_CREATE_CACHE(target.Context, target.Target, name0);
-
- return target.ChangeTarget(res);
- }
- finally
- {
- Marshal.FreeHGlobal(new IntPtr(name0));
- }
- }
-
- internal static IUnmanagedTarget ProcessorAffinity(IUnmanagedTarget target, string name)
- {
- sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name);
-
- try
- {
- void* res = PROCESSOR_AFFINITY(target.Context, target.Target, name0);
-
- return target.ChangeTarget(res);
- }
- finally
- {
- Marshal.FreeHGlobal(new IntPtr(name0));
- }
- }
-
- internal static IUnmanagedTarget ProcessorDataStreamer(IUnmanagedTarget target, string name, bool keepPortable)
- {
- sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name);
-
- try
- {
- void* res = PROCESSOR_DATA_STREAMER(target.Context, target.Target, name0, keepPortable);
-
- return target.ChangeTarget(res);
- }
- finally
- {
- Marshal.FreeHGlobal(new IntPtr(name0));
- }
- }
-
- internal static IUnmanagedTarget ProcessorTransactions(IUnmanagedTarget target)
- {
- void* res = PROCESSOR_TRANSACTIONS(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProcessorCompute(IUnmanagedTarget target, IUnmanagedTarget prj)
- {
- void* res = PROCESSOR_COMPUTE(target.Context, target.Target, prj.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProcessorMessage(IUnmanagedTarget target, IUnmanagedTarget prj)
- {
- void* res = PROCESSOR_MESSAGE(target.Context, target.Target, prj.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProcessorEvents(IUnmanagedTarget target, IUnmanagedTarget prj)
- {
- void* res = PROCESSOR_EVENTS(target.Context, target.Target, prj.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProcessorServices(IUnmanagedTarget target, IUnmanagedTarget prj)
- {
- void* res = PROCESSOR_SERVICES(target.Context, target.Target, prj.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProcessorExtensions(IUnmanagedTarget target)
- {
- void* res = PROCESSOR_EXTENSIONS(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- #endregion
-
- #region NATIVE METHODS: TARGET
-
- internal static long TargetInStreamOutLong(IUnmanagedTarget target, int opType, long memPtr)
- {
- return TARGET_IN_STREAM_OUT_LONG(target.Context, target.Target, opType, memPtr);
- }
-
- internal static void TargetInStreamOutStream(IUnmanagedTarget target, int opType, long inMemPtr, long outMemPtr)
- {
- TARGET_IN_STREAM_OUT_STREAM(target.Context, target.Target, opType, inMemPtr, outMemPtr);
- }
-
- internal static IUnmanagedTarget TargetInStreamOutObject(IUnmanagedTarget target, int opType, long inMemPtr)
- {
- void* res = TARGET_IN_STREAM_OUT_OBJECT(target.Context, target.Target, opType, inMemPtr);
-
- return target.ChangeTarget(res);
- }
-
- internal static void TargetInObjectStreamOutStream(IUnmanagedTarget target, int opType, void* arg, long inMemPtr, long outMemPtr)
- {
- TARGET_IN_OBJECT_STREAM_OUT_STREAM(target.Context, target.Target, opType, arg, inMemPtr, outMemPtr);
- }
-
- internal static long TargetOutLong(IUnmanagedTarget target, int opType)
- {
- return TARGET_OUT_LONG(target.Context, target.Target, opType);
- }
-
- internal static void TargetOutStream(IUnmanagedTarget target, int opType, long memPtr)
- {
- TARGET_OUT_STREAM(target.Context, target.Target, opType, memPtr);
- }
-
- internal static IUnmanagedTarget TargetOutObject(IUnmanagedTarget target, int opType)
- {
- void* res = TARGET_OUT_OBJECT(target.Context, target.Target, opType);
-
- return target.ChangeTarget(res);
- }
-
- internal static void TargetListenFuture(IUnmanagedTarget target, long futId, int typ)
- {
- TargetListenFut(target.Context, target.Target, futId, typ);
- }
-
- internal static void TargetListenFutureForOperation(IUnmanagedTarget target, long futId, int typ, int opId)
- {
- TargetListenFutForOp(target.Context, target.Target, futId, typ, opId);
- }
-
- #endregion
-
- #region NATIVE METHODS: AFFINITY
-
- internal static int AffinityPartitions(IUnmanagedTarget target)
- {
- return AffinityParts(target.Context, target.Target);
- }
-
- #endregion
-
- #region NATIVE METHODS: CACHE
-
- internal static IUnmanagedTarget CacheWithSkipStore(IUnmanagedTarget target)
- {
- void* res = CACHE_WITH_SKIP_STORE(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget CacheWithNoRetries(IUnmanagedTarget target)
- {
- void* res = CACHE_WITH_NO_RETRIES(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget CacheWithExpiryPolicy(IUnmanagedTarget target, long create, long update, long access)
- {
- void* res = CACHE_WITH_EXPIRY_POLICY(target.Context, target.Target, create, update, access);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget CacheWithAsync(IUnmanagedTarget target)
- {
- void* res = CACHE_WITH_ASYNC(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget CacheWithKeepPortable(IUnmanagedTarget target)
- {
- void* res = CACHE_WITH_KEEP_PORTABLE(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static void CacheClear(IUnmanagedTarget target)
- {
- CACHE_CLEAR(target.Context, target.Target);
- }
-
- internal static void CacheRemoveAll(IUnmanagedTarget target)
- {
- CACHE_REMOVE_ALL(target.Context, target.Target);
- }
-
- internal static IUnmanagedTarget CacheOutOpQueryCursor(IUnmanagedTarget target, int type, long memPtr)
- {
- void* res = CACHE_OUT_OP_QUERY_CURSOR(target.Context, target.Target, type, memPtr);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget CacheOutOpContinuousQuery(IUnmanagedTarget target, int type, long memPtr)
- {
- void* res = CACHE_OUT_OP_CONTINUOUS_QUERY(target.Context, target.Target, type, memPtr);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget CacheIterator(IUnmanagedTarget target)
- {
- void* res = CACHE_ITERATOR(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget CacheLocalIterator(IUnmanagedTarget target, int peekModes)
- {
- void* res = CACHE_LOCAL_ITERATOR(target.Context, target.Target, peekModes);
-
- return target.ChangeTarget(res);
- }
-
- internal static void CacheEnterLock(IUnmanagedTarget target, long id)
- {
- CACHE_ENTER_LOCK(target.Context, target.Target, id);
- }
-
- internal static void CacheExitLock(IUnmanagedTarget target, long id)
- {
- CACHE_EXIT_LOCK(target.Context, target.Target, id);
- }
-
- internal static bool CacheTryEnterLock(IUnmanagedTarget target, long id, long timeout)
- {
- return CACHE_TRY_ENTER_LOCK(target.Context, target.Target, id, timeout);
- }
-
- internal static void CacheCloseLock(IUnmanagedTarget target, long id)
- {
- CACHE_CLOSE_LOCK(target.Context, target.Target, id);
- }
-
- internal static void CacheRebalance(IUnmanagedTarget target, long futId)
- {
- CACHE_REBALANCE(target.Context, target.Target, futId);
- }
-
- internal static void CacheStoreCallbackInvoke(IUnmanagedTarget target, long memPtr)
- {
- CACHE_STORE_CALLBACK_INVOKE(target.Context, target.Target, memPtr);
- }
-
- internal static int CacheSize(IUnmanagedTarget target, int modes, bool loc)
- {
- return CACHE_SIZE(target.Context, target.Target, modes, loc);
- }
-
- #endregion
-
- #region NATIVE METHODS: COMPUTE
-
- internal static void ComputeWithNoFailover(IUnmanagedTarget target)
- {
- COMPUTE_WITH_NO_FAILOVER(target.Context, target.Target);
- }
-
- internal static void ComputeWithTimeout(IUnmanagedTarget target, long timeout)
- {
- COMPUTE_WITH_TIMEOUT(target.Context, target.Target, timeout);
- }
-
- internal static void ComputeExecuteNative(IUnmanagedTarget target, long taskPtr, long topVer)
- {
- COMPUTE_EXECUTE_NATIVE(target.Context, target.Target, taskPtr, topVer);
- }
-
- #endregion
-
- #region NATIVE METHODS: CONTINUOUS QUERY
-
- internal static void ContinuousQueryClose(IUnmanagedTarget target)
- {
- ContinuousQryClose(target.Context, target.Target);
- }
-
- internal static IUnmanagedTarget ContinuousQueryGetInitialQueryCursor(IUnmanagedTarget target)
- {
- void* res = ContinuousQryGetInitialQueryCursor(target.Context, target.Target);
-
- return res == null ? null : target.ChangeTarget(res);
- }
-
- #endregion
-
- #region NATIVE METHODS: DATA STREAMER
-
- internal static void DataStreamerListenTopology(IUnmanagedTarget target, long ptr)
- {
- DataStreamerListenTop(target.Context, target.Target, ptr);
- }
-
- internal static bool DataStreamerAllowOverwriteGet(IUnmanagedTarget target)
- {
- return DATA_STREAMER_ALLOW_OVERWRITE_GET(target.Context, target.Target);
- }
-
- internal static void DataStreamerAllowOverwriteSet(IUnmanagedTarget target, bool val)
- {
- DATA_STREAMER_ALLOW_OVERWRITE_SET(target.Context, target.Target, val);
- }
-
- internal static bool DataStreamerSkipStoreGet(IUnmanagedTarget target)
- {
- return DATA_STREAMER_SKIP_STORE_GET(target.Context, target.Target);
- }
-
- internal static void DataStreamerSkipStoreSet(IUnmanagedTarget target, bool val)
- {
- DATA_STREAMER_SKIP_STORE_SET(target.Context, target.Target, val);
- }
-
- internal static int DataStreamerPerNodeBufferSizeGet(IUnmanagedTarget target)
- {
- return DATA_STREAMER_PER_NODE_BUFFER_SIZE_GET(target.Context, target.Target);
- }
-
- internal static void DataStreamerPerNodeBufferSizeSet(IUnmanagedTarget target, int val)
- {
- DATA_STREAMER_PER_NODE_BUFFER_SIZE_SET(target.Context, target.Target, val);
- }
-
- internal static int DataStreamerPerNodeParallelOperationsGet(IUnmanagedTarget target)
- {
- return DataStreamerPerNodeParallelOpsGet(target.Context, target.Target);
- }
-
- internal static void DataStreamerPerNodeParallelOperationsSet(IUnmanagedTarget target, int val)
- {
- DataStreamerPerNodeParallelOpsSet(target.Context, target.Target, val);
- }
-
- #endregion
-
- #region NATIVE METHODS: MESSAGING
-
- internal static IUnmanagedTarget MessagingWithASync(IUnmanagedTarget target)
- {
- void* res = MessagingWithAsync(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- #endregion
-
- #region NATIVE METHODS: PROJECTION
-
- internal static IUnmanagedTarget ProjectionForOthers(IUnmanagedTarget target, IUnmanagedTarget prj)
- {
- void* res = PROJECTION_FOR_OTHERS(target.Context, target.Target, prj.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProjectionForRemotes(IUnmanagedTarget target)
- {
- void* res = PROJECTION_FOR_REMOTES(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProjectionForDaemons(IUnmanagedTarget target)
- {
- void* res = PROJECTION_FOR_DAEMONS(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProjectionForRandom(IUnmanagedTarget target)
- {
- void* res = PROJECTION_FOR_RANDOM(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProjectionForOldest(IUnmanagedTarget target)
- {
- void* res = PROJECTION_FOR_OLDEST(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static IUnmanagedTarget ProjectionForYoungest(IUnmanagedTarget target)
- {
- void* res = PROJECTION_FOR_YOUNGEST(target.Context, target.Target);
-
- return target.ChangeTarget(res);
- }
-
- internal static void ProjectionResetMetrics(IUnmanagedTarget target)
- {
- PROJECTION_RESET_METRICS(target.Context, target.Target);
- }
-
- internal static IUnmanagedTarget ProjectionOutOpRet(IUnmanagedTarget target, int type, long memPtr)
- {
- void* res = PROJECTION_OUT_OP_RET(target.Context, target.Target, type, memPtr);
-
- return target.ChangeTarget(res);
- }
-
- #endregion
-
- #region NATIVE METHODS: QUERY CURSOR
-
- internal static void QueryCursorIterator(IUnmanagedTarget target)
- {
- QryCursorIterator(target.Context, target.Target);
- }
-
- internal static void QueryCursorClose(IUnmanagedTarget target)
- {
- QryCursorClose(target.Context, target.Target);
- }
-
- #endregion
-
- #region NATIVE METHODS: TRANSACTIONS
-
- internal static long TransactionsStart(IUnmanagedTarget target, int concurrency, int isolation, long timeout, int txSize)
- {
- return TxStart(target.Context, target.Target, concurrency, isolation, timeout, txSize);
- }
-
- internal static int TransactionsCommit(IUnmanagedTarget target, long id)
- {
- return TxCommit(target.Context, target.Target, id);
- }
-
- internal static void TransactionsCommitAsync(IUnmanagedTarget target, long id, long futId)
- {
- TxCommitAsync(target.Context, target.Target, id, futId);
- }
-
- internal static int TransactionsRollback(IUnmanagedTarget target, long id)
- {
- return TxRollback(target.Context, target.Target, id);
- }
-
- internal static void TransactionsRollbackAsync(IUnmanagedTarget target, long id, long futId)
- {
- TxRollbackAsync(target.Context, target.Target, id, futId);
- }
-
- internal static int TransactionsClose(IUnmanagedTarget target, long id)
- {
- return TxClose(target.Context, target.Target, id);
- }
-
- internal static int TransactionsState(IUnmanagedTarget target, long id)
- {
- return TxState(target.Context, target.Target, id);
- }
-
- internal static bool TransactionsSetRollbackOnly(IUnmanagedTarget target, long id)
- {
- return TxSetRollbackOnly(target.Context, target.Target, id);
- }
-
- internal static void TransactionsResetMetrics(IUnmanagedTarget target)
- {
- TxResetMetrics(target.Context, target.Target);
- }
-
- #endregion
-
- #region NATIVE METHODS: MISCELANNEOUS
-
- internal static void Reallocate(long memPtr, int cap)
- {
- int res = REALLOCATE(memPtr, cap);
-
- if (res != 0)
- throw new IgniteException("Failed to reallocate external memory [ptr=" + memPtr +
- ", capacity=" + cap + ']');
- }
-
- internal static IUnmanagedTarget Acquire(UnmanagedContext ctx, void* target)
- {
- void* target0 = ACQUIRE(ctx.NativeContext, target);
-
- return new UnmanagedTarget(ctx, target0);
- }
-
- internal static void Release(IUnmanagedTarget target)
- {
- RELEASE(target.Target);
- }
-
- internal static void ThrowToJava(void* ctx, Exception e)
- {
- char* msgChars = (char*)IgniteUtils.StringToUtf8Unmanaged(e.Message);
-
- try
- {
- THROW_TO_JAVA(ctx, msgChars);
- }
- finally
- {
- Marshal.FreeHGlobal(new IntPtr(msgChars));
- }
- }
-
-
-
- internal static int HandlersSize()
- {
- return HANDLERS_SIZE();
- }
-
- internal static void* CreateContext(void* opts, int optsLen, void* cbs)
- {
- return CREATE_CONTEXT(opts, optsLen, cbs);
- }
-
- internal static void DeleteContext(void* ctx)
- {
- DELETE_CONTEXT(ctx);
- }
-
- internal static void DestroyJvm(void* ctx)
- {
- DESTROY_JVM(ctx);
- }
-
- #endregion
-
- #region NATIVE METHODS: EVENTS
-
- internal static IUnmanagedTarget EventsWithAsync(IUnmanagedTarget target)
- {
- return target.ChangeTarget(EVENTS_WITH_ASYNC(target.Context, target.Target));
- }
-
- internal static bool EventsStopLocalListen(IUnmanagedTarget target, long handle)
- {
- return EVENTS_STOP_LOCAL_LISTEN(target.Context, target.Target, handle);
- }
-
- internal static bool EventsIsEnabled(IUnmanagedTarget target, int type)
- {
- return EVENTS_IS_ENABLED(target.Context, target.Target, type);
- }
-
- internal static void EventsLocalListen(IUnmanagedTarget target, long handle, int type)
- {
- EVENTS_LOCAL_LISTEN(target.Context, target.Target, handle, type);
- }
-
- #endregion
-
- #region NATIVE METHODS: SERVICES
-
- internal static IUnmanagedTarget ServicesWithAsync(IUnmanagedTarget target)
- {
- return target.ChangeTarget(SERVICES_WITH_ASYNC(target.Context, target.Target));
- }
-
- internal static IUnmanagedTarget ServicesWithServerKeepPortable(IUnmanagedTarget target)
- {
- return target.ChangeTarget(SERVICES_WITH_SERVER_KEEP_PORTABLE(target.Context, target.Target));
- }
-
- internal static void ServicesCancel(IUnmanagedTarget target, string name)
- {
- var nameChars = (char*)IgniteUtils.StringToUtf8Unmanaged(name);
-
- try
- {
- SERVICES_CANCEL(target.Context, target.Target, nameChars);
- }
- finally
- {
- Marshal.FreeHGlobal(new IntPtr(nameChars));
- }
- }
-
- internal static void ServicesCancelAll(IUnmanagedTarget target)
- {
- SERVICES_CANCEL_ALL(target.Context, target.Target);
- }
-
- internal static IUnmanagedTarget ServicesGetServiceProxy(IUnmanagedTarget target, string name, bool sticky)
- {
- var nameChars = (char*)IgniteUtils.StringToUtf8Unmanaged(name);
-
- try
- {
- return target.ChangeTarget(
- SERVICES_GET_SERVICE_PROXY(target.Context, target.Target, nameChars, sticky));
- }
- finally
- {
- Marshal.FreeHGlobal(new IntPtr(nameChars));
- }
- }
-
- #endregion
-
- /// <summary>
- /// No-op initializer used to force type loading and static constructor call.
- /// </summary>
- internal static void Initialize()
- {
- // No-op.
- }
-
- /// <summary>
- /// Create delegate for the given procedure.
- /// </summary>
- /// <typeparam name="T">Delegate type.</typeparam>
- /// <param name="procName">Procedure name.</param>
- /// <returns></returns>
- private static T CreateDelegate<T>(string procName)
- {
- var procPtr = NativeMethods.GetProcAddress(Ptr, procName);
-
- if (procPtr == IntPtr.Zero)
- throw new IgniteException(string.Format("Unable to find native function: {0} (Error code: {1}). " +
- "Make sure that module.def is up to date",
- procName, Marshal.GetLastWin32Error()));
-
- return TypeCaster<T>.Cast(Marshal.GetDelegateForFunctionPointer(procPtr, typeof (T)));
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Lifecycle/ILifecycleBean.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Lifecycle/ILifecycleBean.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Lifecycle/ILifecycleBean.cs
deleted file mode 100644
index 06cb523..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Lifecycle/ILifecycleBean.cs
+++ /dev/null
@@ -1,64 +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.Lifecycle
-{
- using Apache.Ignite.Core.Resource;
-
- /// <summary>
- /// A bean that reacts to Ignite lifecycle events defined in <see cref="LifecycleEventType"/>.
- /// Use this bean whenever you need to plug some custom logic before or after
- /// Ignite startup and stopping routines.
- /// <para />
- /// There are four events you can react to:
- /// <list type="bullet">
- /// <item>
- /// <term>BeforeNodeStart</term>
- /// <description>Invoked before Ignite startup routine is initiated. Note that Ignite
- /// is not available during this event, therefore if you injected an Ignite instance
- /// via <see cref="InstanceResourceAttribute"/> attribute, you cannot
- /// use it yet.</description>
- /// </item>
- /// <item>
- /// <term>AfterNodeStart</term>
- /// <description>Invoked right after Ignite has started. At this point, if you injected
- /// an Ignite instance via <see cref="InstanceResourceAttribute"/> attribute,
- /// you can start using it.</description>
- /// </item>
- /// <item>
- /// <term>BeforeNodeStop</term>
- /// <description>Invoked right before Ignite stop routine is initiated. Ignite is still
- /// available at this stage, so if you injected an Ignite instance via
- /// <see cref="InstanceResourceAttribute"/> attribute, you can use it.
- /// </description>
- /// </item>
- /// <item>
- /// <term>AfterNodeStop</term>
- /// <description>Invoked right after Ignite has stopped. Note that Ignite is not available
- /// during this event.</description>
- /// </item>
- /// </list>
- /// </summary>
- public interface ILifecycleBean
- {
- /// <summary>
- /// This method is called when lifecycle event occurs.
- /// </summary>
- /// <param name="evt">Lifecycle event.</param>
- void OnLifecycleEvent(LifecycleEventType evt);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Lifecycle/LifecycleEventType.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Lifecycle/LifecycleEventType.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Lifecycle/LifecycleEventType.cs
deleted file mode 100644
index beea555..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Lifecycle/LifecycleEventType.cs
+++ /dev/null
@@ -1,49 +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.Lifecycle
-{
- /// <summary>
- /// Ignite lifecycle event types. These events are used to notify lifecycle beans
- /// about changes in Ignite lifecycle state.
- /// <para />
- /// For more information and detailed examples refer to <see cref="ILifecycleBean"/>
- /// documentation.
- /// </summary>
- public enum LifecycleEventType
- {
- /// <summary>
- /// Invoked before node startup routine. Node is not initialized and cannot be used.
- /// </summary>
- BeforeNodeStart,
-
- /// <summary>
- /// Invoked after node startup is complete. Node is fully initialized and fully functional.
- /// </summary>
- AfterNodeStart,
-
- /// <summary>
- /// Invoked before node stopping routine. Node is fully functional at this point.
- /// </summary>
- BeforeNodeStop,
-
- /// <summary>
- /// Invoked after node had stopped. Node is stopped and cannot be used.
- /// </summary>
- AfterNodeStop
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Messaging/IMessageFilter.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Messaging/IMessageFilter.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Messaging/IMessageFilter.cs
deleted file mode 100644
index 456c5e6..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Messaging/IMessageFilter.cs
+++ /dev/null
@@ -1,35 +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.Messaging
-{
- using System;
-
- /// <summary>
- /// Represents messaging filter predicate.
- /// </summary>
- public interface IMessageFilter<in T>
- {
- /// <summary>
- /// Returns a value indicating whether provided message and node id satisfy this predicate.
- /// </summary>
- /// <param name="nodeId">Node identifier.</param>
- /// <param name="message">Message.</param>
- /// <returns>Value indicating whether provided message and node id satisfy this predicate.</returns>
- bool Invoke(Guid nodeId, T message);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Messaging/IMessaging.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Messaging/IMessaging.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Messaging/IMessaging.cs
deleted file mode 100644
index 96f46b9..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Messaging/IMessaging.cs
+++ /dev/null
@@ -1,105 +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.Messaging
-{
- using System;
- using System.Collections;
- using Apache.Ignite.Core.Cluster;
- using Apache.Ignite.Core.Common;
-
- /// <summary>
- /// Provides functionality for topic-based message exchange among nodes defined by <see cref="IClusterGroup"/>.
- /// Users can send ordered and unordered messages to various topics. Note that same topic name
- /// cannot be reused between ordered and unordered messages.
- /// <para/>
- /// All members are thread-safe and may be used concurrently from multiple threads.
- /// </summary>
- public interface IMessaging : IAsyncSupport<IMessaging>
- {
- /// <summary>
- /// Gets the cluster group to which this instance belongs.
- /// </summary>
- IClusterGroup ClusterGroup { get; }
-
- /// <summary>
- /// Sends a message with specified topic to the nodes in the underlying cluster group.
- /// </summary>
- /// <param name="message">Message to send.</param>
- /// <param name="topic">Topic to send to, null for default topic.</param>
- void Send(object message, object topic = null);
-
- /// <summary>
- /// Sends messages with specified topic to the nodes in the underlying cluster group.
- /// </summary>
- /// <param name="messages">Messages to send.</param>
- /// <param name="topic">Topic to send to, null for default topic.</param>
- void Send(IEnumerable messages, object topic = null);
-
- /// <summary>
- /// Sends a message with specified topic to the nodes in the underlying cluster group.
- /// Messages sent with this method will arrive in the same order they were sent. Note that if a topic is used
- /// for ordered messages, then it cannot be reused for non-ordered messages.
- /// </summary>
- /// <param name="message">Message to send.</param>
- /// <param name="topic">Topic to send to, null for default topic.</param>
- /// <param name="timeout">
- /// Message timeout, null for for default value from configuration (IgniteConfiguration.getNetworkTimeout).
- /// </param>
- void SendOrdered(object message, object topic = null, TimeSpan? timeout = null);
-
- /// <summary>
- /// Adds local listener for given topic on local node only. This listener will be notified whenever any
- /// node within the cluster group will send a message for a given topic to this node. Local listen
- /// subscription will happen regardless of whether local node belongs to this cluster group or not.
- /// </summary>
- /// <param name="filter">
- /// Predicate that is called on each received message. If predicate returns false,
- /// then it will be unsubscribed from any further notifications.
- /// </param>
- /// <param name="topic">Topic to subscribe to.</param>
- void LocalListen<T>(IMessageFilter<T> filter, object topic = null);
-
- /// <summary>
- /// Unregisters local listener for given topic on local node only.
- /// </summary>
- /// <param name="filter">Listener predicate.</param>
- /// <param name="topic">Topic to unsubscribe from.</param>
- void StopLocalListen<T>(IMessageFilter<T> filter, object topic = null);
-
- /// <summary>
- /// Adds a message listener for a given topic to all nodes in the cluster group (possibly including
- /// this node if it belongs to the cluster group as well). This means that any node within this cluster
- /// group can send a message for a given topic and all nodes within the cluster group will receive
- /// listener notifications.
- /// </summary>
- /// <param name="filter">Listener predicate.</param>
- /// <param name="topic">Topic to unsubscribe from.</param>
- /// <returns>
- /// Operation ID that can be passed to <see cref="StopRemoteListen"/> method to stop listening.
- /// </returns>
- [AsyncSupported]
- Guid RemoteListen<T>(IMessageFilter<T> filter, object topic = null);
-
- /// <summary>
- /// Unregisters all listeners identified with provided operation ID on all nodes in the cluster group.
- /// </summary>
- /// <param name="opId">Operation ID that was returned from <see cref="RemoteListen{T}"/> method.</param>
- [AsyncSupported]
- void StopRemoteListen(Guid opId);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableBuilder.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableBuilder.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableBuilder.cs
deleted file mode 100644
index 4f65840..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableBuilder.cs
+++ /dev/null
@@ -1,77 +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.Portable
-{
- using System.Diagnostics.CodeAnalysis;
-
- /// <summary>
- /// Portable object builder. Provides ability to build portable objects dynamically
- /// without having class definitions.
- /// <para />
- /// Note that type ID is required in order to build portable object. Usually it is
- /// enough to provide a simple type name and Ignite will generate the type ID
- /// automatically.
- /// </summary>
- public interface IPortableBuilder
- {
- /// <summary>
- /// Get object field value. If value is another portable object, then
- /// builder for this object will be returned. If value is a container
- /// for other objects (array, ICollection, IDictionary), then container
- /// will be returned with primitive types in deserialized form and
- /// portable objects as builders. Any change in builder or collection
- /// returned through this method will be reflected in the resulting
- /// portable object after build.
- /// </summary>
- /// <param name="fieldName">Field name.</param>
- /// <returns>Field value.</returns>
- T GetField<T>(string fieldName);
-
- /// <summary>
- /// Set object field value. Value can be of any type including other
- /// <see cref="IPortableObject"/> and other builders.
- /// </summary>
- /// <param name="fieldName">Field name.</param>
- /// <param name="val">Field value.</param>
- /// <returns>Current builder instance.</returns>
- IPortableBuilder SetField<T>(string fieldName, T val);
-
- /// <summary>
- /// Remove object field.
- /// </summary>
- /// <param name="fieldName">Field name.</param>
- /// <returns>Current builder instance.</returns>
- IPortableBuilder RemoveField(string fieldName);
-
- /// <summary>
- /// Set explicit hash code. If builder creating object from scratch,
- /// then hash code initially set to 0. If builder is created from
- /// exising portable object, then hash code of that object is used
- /// as initial value.
- /// </summary>
- /// <param name="hashCode">Hash code.</param>
- /// <returns>Current builder instance.</returns>
- IPortableBuilder SetHashCode(int hashCode);
-
- /// <summary>
- /// Build the object.
- /// </summary>
- /// <returns>Resulting portable object.</returns>
- IPortableObject Build();
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableIdMapper.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableIdMapper.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableIdMapper.cs
deleted file mode 100644
index 0c18eb9..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableIdMapper.cs
+++ /dev/null
@@ -1,40 +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.Portable
-{
- /// <summary>
- /// Maps class name and class field names to integer identifiers.
- /// </summary>
- public interface IPortableIdMapper
- {
- /// <summary>
- /// Gets type ID for the given type.
- /// </summary>
- /// <param name="typeName">Full type name.</param>
- /// <returns>ID of the class or 0 in case hash code is to be used.</returns>
- int GetTypeId(string typeName);
-
- /// <summary>
- /// Gets field ID for the given field of the given class.
- /// </summary>
- /// <param name="typeId">Type ID.</param>
- /// <param name="fieldName">Field name.</param>
- /// <returns>ID of the field or null in case hash code is to be used.</returns>
- int GetFieldId(int typeId, string fieldName);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableMarshalAware.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableMarshalAware.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableMarshalAware.cs
deleted file mode 100644
index 2795db4..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableMarshalAware.cs
+++ /dev/null
@@ -1,39 +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.Portable
-{
- /// <summary>
- /// Interface to implement custom portable serialization logic.
- /// </summary>
- public interface IPortableMarshalAware
- {
- /// <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);
-
- /// <summary>
- /// Reads this object from the given reader.
- /// </summary>
- /// <param name="reader">Reader.</param>
- /// <exception cref="System.IO.IOException">If read failed.</exception>
- void ReadPortable(IPortableReader reader);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableMetadata.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableMetadata.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableMetadata.cs
deleted file mode 100644
index 5bfa340..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableMetadata.cs
+++ /dev/null
@@ -1,52 +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.Portable
-{
- using System.Collections.Generic;
-
- /// <summary>
- /// Portable type metadata.
- /// </summary>
- public interface IPortableMetadata
- {
- /// <summary>
- /// Gets type name.
- /// </summary>
- /// <returns>Type name.</returns>
- string TypeName { get; }
-
- /// <summary>
- /// Gets field names for that type.
- /// </summary>
- /// <returns>Field names.</returns>
- ICollection<string> Fields { get; }
-
- /// <summary>
- /// Gets field type for the given field name.
- /// </summary>
- /// <param name="fieldName">Field name.</param>
- /// <returns>Field type.</returns>
- string GetFieldTypeName(string fieldName);
-
- /// <summary>
- /// Gets optional affinity key field name.
- /// </summary>
- /// <returns>Affinity key field name or null in case it is not provided.</returns>
- string AffinityKeyFieldName { get; }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableNameMapper.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableNameMapper.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableNameMapper.cs
deleted file mode 100644
index 96a9d38..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Portable/IPortableNameMapper.cs
+++ /dev/null
@@ -1,39 +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.Portable
-{
- /// <summary>
- /// Maps type and field names to different names.
- /// </summary>
- public interface IPortableNameMapper
- {
- /// <summary>
- /// Gets the type name.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns>Type name.</returns>
- string GetTypeName(string name);
-
- /// <summary>
- /// Gets the field name.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns>Field name.</returns>
- string GetFieldName(string name);
- }
-}