http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CacheQueryReadEvent.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CacheQueryReadEvent.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CacheQueryReadEvent.cs deleted file mode 100644 index 7338eab..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CacheQueryReadEvent.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.Events -{ - using System; - using Apache.Ignite.Core.Portable; - - /// <summary> - /// Cache query read event. - /// </summary> - public sealed class CacheQueryReadEvent : EventBase - { - /** */ - private readonly string _queryType; - - /** */ - private readonly string _cacheName; - - /** */ - private readonly string _className; - - /** */ - private readonly string _clause; - - /** */ - private readonly Guid _subjectId; - - /** */ - private readonly string _taskName; - - /** */ - private readonly object _key; - - /** */ - private readonly object _value; - - /** */ - private readonly object _oldValue; - - /** */ - private readonly object _row; - - /// <summary> - /// Constructor. - /// </summary> - /// <param name="r">The reader to read data from.</param> - internal CacheQueryReadEvent(IPortableRawReader r) : base(r) - { - _queryType = r.ReadString(); - _cacheName = r.ReadString(); - _className = r.ReadString(); - _clause = r.ReadString(); - _subjectId = r.ReadGuid() ?? Guid.Empty; - _taskName = r.ReadString(); - _key = r.ReadObject<object>(); - _value = r.ReadObject<object>(); - _oldValue = r.ReadObject<object>(); - _row = r.ReadObject<object>(); - } - - /// <summary> - /// Gets query type. - /// </summary> - public string QueryType { get { return _queryType; } } - - /// <summary> - /// Gets cache name on which query was executed. - /// </summary> - public string CacheName { get { return _cacheName; } } - - /// <summary> - /// Gets queried class name. Applicable for SQL and full text queries. - /// </summary> - public string ClassName { get { return _className; } } - - /// <summary> - /// Gets query clause. Applicable for SQL, SQL fields and full text queries. - /// </summary> - public string Clause { get { return _clause; } } - - /// <summary> - /// Gets security subject ID. - /// </summary> - public Guid SubjectId { get { return _subjectId; } } - - /// <summary> - /// Gets the name of the task that executed the query (if any). - /// </summary> - public string TaskName { get { return _taskName; } } - - /// <summary> - /// Gets read entry key. - /// </summary> - public object Key { get { return _key; } } - - /// <summary> - /// Gets read entry value. - /// </summary> - public object Value { get { return _value; } } - - /// <summary> - /// Gets read entry old value (applicable for continuous queries). - /// </summary> - public object OldValue { get { return _oldValue; } } - - /// <summary> - /// Gets read results set row. - /// </summary> - public object Row { get { return _row; } } - - /** <inheritDoc /> */ - public override string ToShortString() - { - return string.Format("{0}: QueryType={1}, CacheName={2}, ClassName={3}, Clause={4}, SubjectId={5}, " + - "TaskName={6}, Key={7}, Value={8}, OldValue={9}, Row={10}", Name, QueryType, - CacheName, ClassName, Clause, SubjectId, TaskName, Key, Value, OldValue, Row); - } - } -}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CacheRebalancingEvent.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CacheRebalancingEvent.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CacheRebalancingEvent.cs deleted file mode 100644 index 656550a..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CacheRebalancingEvent.cs +++ /dev/null @@ -1,98 +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.Events -{ - using Apache.Ignite.Core.Cluster; - using Apache.Ignite.Core.Portable; - - /// <summary> - /// In-memory database (cache) rebalancing event. Rebalance event happens every time there is a change - /// </summary> - public sealed class CacheRebalancingEvent : EventBase - { - /** */ - private readonly string _cacheName; - - /** */ - private readonly int _partition; - - /** */ - private readonly IClusterNode _discoveryNode; - - /** */ - private readonly int _discoveryEventType; - - /** */ - private readonly string _discoveryEventName; - - /** */ - private readonly long _discoveryTimestamp; - - /// <summary> - /// Constructor. - /// </summary> - /// <param name="r">The reader to read data from.</param> - internal CacheRebalancingEvent(IPortableRawReader r) : base(r) - { - _cacheName = r.ReadString(); - _partition = r.ReadInt(); - _discoveryNode = ReadNode(r); - _discoveryEventType = r.ReadInt(); - _discoveryEventName = r.ReadString(); - _discoveryTimestamp = r.ReadLong(); - } - - /// <summary> - /// Gets cache name. - /// </summary> - public string CacheName { get { return _cacheName; } } - - /// <summary> - /// Gets partition for the event. - /// </summary> - public int Partition { get { return _partition; } } - - /// <summary> - /// Gets shadow of the node that triggered this rebalancing event. - /// </summary> - public IClusterNode DiscoveryNode { get { return _discoveryNode; } } - - /// <summary> - /// Gets type of discovery event that triggered this rebalancing event. - /// </summary> - public int DiscoveryEventType { get { return _discoveryEventType; } } - - /// <summary> - /// Gets name of discovery event that triggered this rebalancing event. - /// </summary> - public string DiscoveryEventName { get { return _discoveryEventName; } } - - /// <summary> - /// Gets timestamp of discovery event that caused this rebalancing event. - /// </summary> - public long DiscoveryTimestamp { get { return _discoveryTimestamp; } } - - /** <inheritDoc /> */ - public override string ToShortString() - { - return string.Format("{0}: CacheName={1}, Partition={2}, DiscoveryNode={3}, DiscoveryEventType={4}, " + - "DiscoveryEventName={5}, DiscoveryTimestamp={6}", Name, CacheName, Partition, - DiscoveryNode, DiscoveryEventType, DiscoveryEventName, DiscoveryTimestamp); - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CheckpointEvent.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CheckpointEvent.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CheckpointEvent.cs deleted file mode 100644 index 7b7ea59..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/CheckpointEvent.cs +++ /dev/null @@ -1,50 +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.Events -{ - using Apache.Ignite.Core.Portable; - - /// <summary> - /// Grid checkpoint event. - /// </summary> - public sealed class CheckpointEvent : EventBase - { - /** */ - private readonly string _key; - - /// <summary> - /// Constructor. - /// </summary> - /// <param name="r">The reader to read data from.</param> - internal CheckpointEvent(IPortableRawReader r) : base(r) - { - _key = r.ReadString(); - } - - /// <summary> - /// Gets checkpoint key associated with this event. - /// </summary> - public string Key { get { return _key; } } - - /** <inheritDoc /> */ - public override string ToShortString() - { - return string.Format("{0}: Key={1}", Name, Key); - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/DiscoveryEvent.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/DiscoveryEvent.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/DiscoveryEvent.cs deleted file mode 100644 index 5b5443c..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/DiscoveryEvent.cs +++ /dev/null @@ -1,80 +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.Events -{ - using System.Collections.Generic; - using System.Collections.ObjectModel; - using Apache.Ignite.Core.Cluster; - using Apache.Ignite.Core.Impl; - using Apache.Ignite.Core.Portable; - - /// <summary> - /// Grid discovery event. - /// </summary> - public sealed class DiscoveryEvent : EventBase - { - /** */ - private readonly IClusterNode _eventNode; - - /** */ - private readonly long _topologyVersion; - - /** */ - private readonly ReadOnlyCollection<IClusterNode> _topologyNodes; - - /// <summary> - /// Constructor. - /// </summary> - /// <param name="r">The reader to read data from.</param> - internal DiscoveryEvent(IPortableRawReader r) : base(r) - { - _eventNode = ReadNode(r); - _topologyVersion = r.ReadLong(); - - var nodes = IgniteUtils.ReadNodes(r); - - _topologyNodes = nodes == null ? null : new ReadOnlyCollection<IClusterNode>(nodes); - } - - /// <summary> - /// Gets node that caused this event to be generated. It is potentially different from the node on which this - /// event was recorded. For example, node A locally recorded the event that a remote node B joined the topology. - /// In this case this method will return ID of B. - /// </summary> - public IClusterNode EventNode { get { return _eventNode; } } - - /// <summary> - /// Gets topology version if this event is raised on topology change and configured discovery - /// SPI implementation supports topology versioning. - /// </summary> - public long TopologyVersion { get { return _topologyVersion; } } - - /// <summary> - /// Gets topology nodes from topology snapshot. If SPI implementation does not support versioning, the best - /// effort snapshot will be captured. - /// </summary> - public ICollection<IClusterNode> TopologyNodes { get { return _topologyNodes; } } - - /** <inheritDoc /> */ - public override string ToShortString() - { - return string.Format("{0}: EventNode={1}, TopologyVersion={2}, TopologyNodes={3}", Name, EventNode, - TopologyVersion, TopologyNodes.Count); - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventBase.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventBase.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventBase.cs deleted file mode 100644 index 2b905a1..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventBase.cs +++ /dev/null @@ -1,160 +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.Events -{ - using System; - using Apache.Ignite.Core.Cluster; - using Apache.Ignite.Core.Common; - using Apache.Ignite.Core.Impl.Portable; - using Apache.Ignite.Core.Portable; - - /// <summary> - /// Base event implementation. - /// </summary> - public abstract class EventBase : IEvent, IEquatable<EventBase> - { - /** */ - private readonly IgniteGuid _id; - - /** */ - private readonly long _localOrder; - - /** */ - private readonly IClusterNode _node; - - /** */ - private readonly string _message; - - /** */ - private readonly int _type; - - /** */ - private readonly string _name; - - /** */ - private readonly DateTime _timeStamp; - - /// <summary> - /// Initializes a new instance of the <see cref="EventBase"/> class. - /// </summary> - /// <param name="r">The reader to read data from.</param> - protected EventBase(IPortableRawReader r) - { - _id = IgniteGuid.ReadPortable(r); - - _localOrder = r.ReadLong(); - - _node = ReadNode(r); - - _message = r.ReadString(); - _type = r.ReadInt(); - _name = r.ReadString(); - _timeStamp = r.ReadDate() ?? DateTime.Now; - } - - /** <inheritDoc /> */ - public IgniteGuid Id - { - get { return _id; } - } - - /** <inheritDoc /> */ - public long LocalOrder - { - get { return _localOrder; } - } - - /** <inheritDoc /> */ - public IClusterNode Node - { - get { return _node; } - } - - /** <inheritDoc /> */ - public string Message - { - get { return _message; } - } - - /** <inheritDoc /> */ - public int Type - { - get { return _type; } - } - - /** <inheritDoc /> */ - public string Name - { - get { return _name; } - } - - /** <inheritDoc /> */ - public DateTime TimeStamp - { - get { return _timeStamp; } - } - - /** <inheritDoc /> */ - public virtual string ToShortString() - { - return ToString(); - } - - /** <inheritDoc /> */ - public bool Equals(EventBase other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - - return _id.Equals(other._id); - } - - /** <inheritDoc /> */ - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - if (ReferenceEquals(this, obj)) return true; - if (obj.GetType() != GetType()) return false; - - return Equals((EventBase) obj); - } - - /** <inheritDoc /> */ - public override int GetHashCode() - { - return _id.GetHashCode(); - } - - /** <inheritDoc /> */ - public override string ToString() - { - return string.Format("CacheEntry [Name={0}, Type={1}, TimeStamp={2}, Message={3}]", Name, Type, TimeStamp, - Message); - } - - /// <summary> - /// Reads a node from stream. - /// </summary> - /// <param name="reader">Reader.</param> - /// <returns>Node or null.</returns> - protected static IClusterNode ReadNode(IPortableRawReader reader) - { - return ((PortableReaderImpl)reader).Marshaller.Ignite.GetNode(reader.ReadGuid()); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventReader.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventReader.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventReader.cs deleted file mode 100644 index aa9f538..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventReader.cs +++ /dev/null @@ -1,72 +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.Events -{ - using System; - using Apache.Ignite.Core.Portable; - - /// <summary> - /// Event reader. - /// </summary> - internal static class EventReader - { - /// <summary> - /// Reads an event. - /// </summary> - /// <typeparam name="T">Type of the event</typeparam> - /// <param name="reader">Reader.</param> - /// <returns>Deserialized event.</returns> - /// <exception cref="System.InvalidCastException">Incompatible event type.</exception> - public static T Read<T>(IPortableReader reader) where T : IEvent - { - var r = reader.RawReader(); - - var clsId = r.ReadInt(); - - if (clsId == -1) - return default(T); - - return (T) CreateInstance(clsId, r); - } - - /// <summary> - /// Creates an event instance by type id. - /// </summary> - /// <param name="clsId">Type id.</param> - /// <param name="reader">Reader.</param> - /// <returns>Created and deserialized instance.</returns> - /// <exception cref="System.InvalidOperationException">Invalid event class id: + clsId</exception> - private static IEvent CreateInstance(int clsId, IPortableRawReader reader) - { - switch (clsId) - { - case 2: return new CacheEvent(reader); - case 3: return new CacheQueryExecutedEvent(reader); - case 4: return new CacheQueryReadEvent(reader); - case 5: return new CacheRebalancingEvent(reader); - case 6: return new CheckpointEvent(reader); - case 7: return new DiscoveryEvent(reader); - case 8: return new JobEvent(reader); - case 9: return new SwapSpaceEvent(reader); - case 10: return new TaskEvent(reader); - } - - throw new InvalidOperationException("Invalid event class id: " + clsId); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventType.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventType.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventType.cs deleted file mode 100644 index 1e649bb..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/EventType.cs +++ /dev/null @@ -1,514 +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.Events -{ - using System.Diagnostics.CodeAnalysis; - using System.Linq; - using System.Reflection; - - /// <summary> - /// Contains event type constants. The decision to use class and not enumeration is dictated - /// by allowing users to create their own events and/or event types which would be impossible with enumerations. - /// <para /> - /// Note that this interface defines not only individual type constants, - /// but arrays of types as well to be conveniently used with <see cref="IEvents"/> methods. - /// <para /> - /// NOTE: all types in range <b>from 1 to 1000 are reserved</b> for internal Ignite events - /// and should not be used by user-defined events. - /// </summary> - public static class EventType - { - /// <summary> - /// Built-in event type: checkpoint was saved. - /// </summary> - public static readonly int EvtCheckpointSaved = 1; - - /// <summary> - /// Built-in event type: checkpoint was loaded. - /// </summary> - public static readonly int EvtCheckpointLoaded = 2; - - /// <summary> - /// Built-in event type: checkpoint was removed. Reasons are: timeout expired, or or it was manually removed, - /// or it was automatically removed by the task session. - /// </summary> - public static readonly int EvtCheckpointRemoved = 3; - - /// <summary> - /// Built-in event type: node joined topology. New node has been discovered and joined grid topology. Note that - /// even though a node has been discovered there could be a number of warnings in the log. In certain - /// situations Ignite doesn't prevent a node from joining but prints warning messages into the log. - /// </summary> - public static readonly int EvtNodeJoined = 10; - - /// <summary> - /// Built-in event type: node has normally left topology. - /// </summary> - public static readonly int EvtNodeLeft = 11; - - /// <summary> - /// Built-in event type: node failed. Ignite detected that node has presumably crashed and is considered - /// failed. - /// </summary> - public static readonly int EvtNodeFailed = 12; - - /// <summary> - /// Built-in event type: node metrics updated. Generated when node's metrics are updated. In most cases this - /// callback is invoked with every heartbeat received from a node (including local node). - /// </summary> - public static readonly int EvtNodeMetricsUpdated = 13; - - /// <summary> - /// Built-in event type: local node segmented. Generated when node determines that it runs in invalid network - /// segment. - /// </summary> - public static readonly int EvtNodeSegmented = 14; - - /// <summary> - /// Built-in event type: client node disconnected. - /// </summary> - public static readonly int EvtClientNodeDisconnected = 16; - - /// <summary> - /// Built-in event type: client node reconnected. - /// </summary> - public static readonly int EvtClientNodeReconnected = 17; - - /// <summary> - /// Built-in event type: task started. - /// </summary> - public static readonly int EvtTaskStarted = 20; - - /// <summary> - /// Built-in event type: task finished. Task got finished. This event is triggered every time a task finished - /// without exception. - /// </summary> - public static readonly int EvtTaskFinished = 21; - - /// <summary> - /// Built-in event type: task failed. Task failed. This event is triggered every time a task finished with an - /// exception. Note that prior to this event, there could be other events recorded specific to the failure. - /// </summary> - public static readonly int EvtTaskFailed = 22; - - /// <summary> - /// Built-in event type: task timed out. - /// </summary> - public static readonly int EvtTaskTimedout = 23; - - /// <summary> - /// Built-in event type: task session attribute set. - /// </summary> - public static readonly int EvtTaskSessionAttrSet = 24; - - /// <summary> - /// Built-in event type: task reduced. - /// </summary> - public static readonly int EvtTaskReduced = 25; - - /// <summary> - /// Built-in event type: Ignite job was mapped in {@link org.apache.ignite.compute.ComputeTask#map(List, Object)} - /// method. - /// </summary> - public static readonly int EvtJobMapped = 40; - - /// <summary> - /// Built-in event type: Ignite job result was received by {@link - /// org.apache.ignite.compute.ComputeTask#result(org.apache.ignite.compute.ComputeJobResult, List)} method. - /// </summary> - public static readonly int EvtJobResulted = 41; - - /// <summary> - /// Built-in event type: Ignite job failed over. - /// </summary> - public static readonly int EvtJobFailedOver = 43; - - /// <summary> - /// Built-in event type: Ignite job started. - /// </summary> - public static readonly int EvtJobStarted = 44; - - /// <summary> - /// Built-in event type: Ignite job finished. Job has successfully completed and produced a result which from the - /// user perspective can still be either negative or positive. - /// </summary> - public static readonly int EvtJobFinished = 45; - - /// <summary> - /// Built-in event type: Ignite job timed out. - /// </summary> - public static readonly int EvtJobTimedout = 46; - - /// <summary> - /// Built-in event type: Ignite job rejected during collision resolution. - /// </summary> - public static readonly int EvtJobRejected = 47; - - /// <summary> - /// Built-in event type: Ignite job failed. Job has failed. This means that there was some error event during job - /// execution and job did not produce a result. - /// </summary> - public static readonly int EvtJobFailed = 48; - - /// <summary> - /// Built-in event type: Ignite job queued. Job arrived for execution and has been queued (added to passive queue - /// during collision resolution). - /// </summary> - public static readonly int EvtJobQueued = 49; - - /// <summary> - /// Built-in event type: Ignite job cancelled. - /// </summary> - public static readonly int EvtJobCancelled = 50; - - /// <summary> - /// Built-in event type: entry created. - /// </summary> - public static readonly int EvtCacheEntryCreated = 60; - - /// <summary> - /// Built-in event type: entry destroyed. - /// </summary> - public static readonly int EvtCacheEntryDestroyed = 61; - - /// <summary> - /// Built-in event type: entry evicted. - /// </summary> - public static readonly int EvtCacheEntryEvicted = 62; - - /// <summary> - /// Built-in event type: object put. - /// </summary> - public static readonly int EvtCacheObjectPut = 63; - - /// <summary> - /// Built-in event type: object read. - /// </summary> - public static readonly int EvtCacheObjectRead = 64; - - /// <summary> - /// Built-in event type: object removed. - /// </summary> - public static readonly int EvtCacheObjectRemoved = 65; - - /// <summary> - /// Built-in event type: object locked. - /// </summary> - public static readonly int EvtCacheObjectLocked = 66; - - /// <summary> - /// Built-in event type: object unlocked. - /// </summary> - public static readonly int EvtCacheObjectUnlocked = 67; - - /// <summary> - /// Built-in event type: cache object swapped from swap storage. - /// </summary> - public static readonly int EvtCacheObjectSwapped = 68; - - /// <summary> - /// Built-in event type: cache object unswapped from swap storage. - /// </summary> - public static readonly int EvtCacheObjectUnswapped = 69; - - /// <summary> - /// Built-in event type: cache object was expired when reading it. - /// </summary> - public static readonly int EvtCacheObjectExpired = 70; - - /// <summary> - /// Built-in event type: swap space data read. - /// </summary> - public static readonly int EvtSwapSpaceDataRead = 71; - - /// <summary> - /// Built-in event type: swap space data stored. - /// </summary> - public static readonly int EvtSwapSpaceDataStored = 72; - - /// <summary> - /// Built-in event type: swap space data removed. - /// </summary> - public static readonly int EvtSwapSpaceDataRemoved = 73; - - /// <summary> - /// Built-in event type: swap space cleared. - /// </summary> - public static readonly int EvtSwapSpaceCleared = 74; - - /// <summary> - /// Built-in event type: swap space data evicted. - /// </summary> - public static readonly int EvtSwapSpaceDataEvicted = 75; - - /// <summary> - /// Built-in event type: cache object stored in off-heap storage. - /// </summary> - public static readonly int EvtCacheObjectToOffheap = 76; - - /// <summary> - /// Built-in event type: cache object moved from off-heap storage back into memory. - /// </summary> - public static readonly int EvtCacheObjectFromOffheap = 77; - - /// <summary> - /// Built-in event type: cache rebalance started. - /// </summary> - public static readonly int EvtCacheRebalanceStarted = 80; - - /// <summary> - /// Built-in event type: cache rebalance stopped. - /// </summary> - public static readonly int EvtCacheRebalanceStopped = 81; - - /// <summary> - /// Built-in event type: cache partition loaded. - /// </summary> - public static readonly int EvtCacheRebalancePartLoaded = 82; - - /// <summary> - /// Built-in event type: cache partition unloaded. - /// </summary> - public static readonly int EvtCacheRebalancePartUnloaded = 83; - - /// <summary> - /// Built-in event type: cache entry rebalanced. - /// </summary> - public static readonly int EvtCacheRebalanceObjectLoaded = 84; - - /// <summary> - /// Built-in event type: cache entry unloaded. - /// </summary> - public static readonly int EvtCacheRebalanceObjectUnloaded = 85; - - /// <summary> - /// Built-in event type: all nodes that hold partition left topology. - /// </summary> - public static readonly int EvtCacheRebalancePartDataLost = 86; - - /// <summary> - /// Built-in event type: query executed. - /// </summary> - public static readonly int EvtCacheQueryExecuted = 96; - - /// <summary> - /// Built-in event type: query entry read. - /// </summary> - public static readonly int EvtCacheQueryObjectRead = 97; - - /// <summary> - /// Built-in event type: cache started. - /// </summary> - public static readonly int EvtCacheStarted = 98; - - /// <summary> - /// Built-in event type: cache started. - /// </summary> - public static readonly int EvtCacheStopped = 99; - - /// <summary> - /// Built-in event type: cache nodes left. - /// </summary> - public static readonly int EvtCacheNodesLeft = 100; - - /// <summary> - /// All events indicating an error or failure condition. It is convenient to use when fetching all events - /// indicating error or failure. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsError = - { - EvtJobTimedout, - EvtJobFailed, - EvtJobFailedOver, - EvtJobRejected, - EvtJobCancelled, - EvtTaskTimedout, - EvtTaskFailed, - EvtCacheRebalanceStarted, - EvtCacheRebalanceStopped - }; - - /// <summary> - /// All discovery events except for <see cref="EvtNodeMetricsUpdated" />. Subscription to <see - /// cref="EvtNodeMetricsUpdated" /> can generate massive amount of event processing in most cases is not - /// necessary. If this event is indeed required you can subscribe to it individually or use <see - /// cref="EvtsDiscoveryAll" /> array. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsDiscovery = - { - EvtNodeJoined, - EvtNodeLeft, - EvtNodeFailed, - EvtNodeSegmented, - EvtClientNodeDisconnected, - EvtClientNodeReconnected - }; - - /// <summary> - /// All discovery events. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsDiscoveryAll = - { - EvtNodeJoined, - EvtNodeLeft, - EvtNodeFailed, - EvtNodeSegmented, - EvtNodeMetricsUpdated, - EvtClientNodeDisconnected, - EvtClientNodeReconnected - }; - - /// <summary> - /// All Ignite job execution events. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsJobExecution = - { - EvtJobMapped, - EvtJobResulted, - EvtJobFailedOver, - EvtJobStarted, - EvtJobFinished, - EvtJobTimedout, - EvtJobRejected, - EvtJobFailed, - EvtJobQueued, - EvtJobCancelled - }; - - /// <summary> - /// All Ignite task execution events. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsTaskExecution = - { - EvtTaskStarted, - EvtTaskFinished, - EvtTaskFailed, - EvtTaskTimedout, - EvtTaskSessionAttrSet, - EvtTaskReduced - }; - - /// <summary> - /// All cache events. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsCache = - { - EvtCacheEntryCreated, - EvtCacheEntryDestroyed, - EvtCacheObjectPut, - EvtCacheObjectRead, - EvtCacheObjectRemoved, - EvtCacheObjectLocked, - EvtCacheObjectUnlocked, - EvtCacheObjectSwapped, - EvtCacheObjectUnswapped, - EvtCacheObjectExpired - }; - - /// <summary> - /// All cache rebalance events. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsCacheRebalance = - { - EvtCacheRebalanceStarted, - EvtCacheRebalanceStopped, - EvtCacheRebalancePartLoaded, - EvtCacheRebalancePartUnloaded, - EvtCacheRebalanceObjectLoaded, - EvtCacheRebalanceObjectUnloaded, - EvtCacheRebalancePartDataLost - }; - - /// <summary> - /// All cache lifecycle events. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsCacheLifecycle = - { - EvtCacheStarted, - EvtCacheStopped, - EvtCacheNodesLeft - }; - - /// <summary> - /// All cache query events. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsCacheQuery = - { - EvtCacheQueryExecuted, - EvtCacheQueryObjectRead - }; - - /// <summary> - /// All swap space events. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsSwapspace = - { - EvtSwapSpaceCleared, - EvtSwapSpaceDataRemoved, - EvtSwapSpaceDataRead, - EvtSwapSpaceDataStored, - EvtSwapSpaceDataEvicted - }; - - /// <summary> - /// All Ignite events. - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsAll = GetAllEvents(); - - /// <summary> - /// All Ignite events (<b>excluding</b> metric update event). - /// </summary> - [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly", - Justification = "Breaking change. Should be fixed in the next non-compatible release.")] - public static readonly int[] EvtsAllMinusMetricUpdate = - EvtsAll.Where(x => x != EvtNodeMetricsUpdated).ToArray(); - - /// <summary> - /// Gets all the events. - /// </summary> - /// <returns>All event ids.</returns> - private static int[] GetAllEvents() - { - return typeof (EventType).GetFields(BindingFlags.Public | BindingFlags.Static) - .Where(x => x.FieldType == typeof (int)) - .Select(x => (int) x.GetValue(null)).ToArray(); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEvent.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEvent.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEvent.cs deleted file mode 100644 index 181aeef..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEvent.cs +++ /dev/null @@ -1,74 +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.Events -{ - using System; - using Apache.Ignite.Core.Cluster; - using Apache.Ignite.Core.Common; - - /// <summary> - /// Represents a Ignite event. - /// </summary> - public interface IEvent - { - /// <summary> - /// Gets globally unique ID of this event. - /// </summary> - IgniteGuid Id { get; } - - /// <summary> - /// Gets locally unique ID that is atomically incremented for each event. Unlike global <see cref="Id" /> - /// this local ID can be used for ordering events on this node. - /// <para/> - /// Note that for performance considerations Ignite doesn't order events globally. - /// </summary> - long LocalOrder { get; } - - /// <summary> - /// Node where event occurred and was recorded. - /// </summary> - IClusterNode Node { get; } - - /// <summary> - /// Gets optional message for this event. - /// </summary> - string Message { get; } - - /// <summary> - /// Gets type of this event. All system event types are defined in <see cref="EventType"/> - /// </summary> - int Type { get; } - - /// <summary> - /// Gets name of this event. - /// </summary> - string Name { get; } - - /// <summary> - /// Gets event timestamp. Timestamp is local to the node on which this event was produced. - /// Note that more than one event can be generated with the same timestamp. - /// For ordering purposes use <see cref="LocalOrder"/> instead. - /// </summary> - DateTime TimeStamp { get; } - - /// <summary> - /// Gets shortened version of ToString result. - /// </summary> - string ToShortString(); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEventFilter.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEventFilter.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEventFilter.cs deleted file mode 100644 index 7523c52..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEventFilter.cs +++ /dev/null @@ -1,36 +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.Events -{ - using System; - - /// <summary> - /// Represents an event filter. - /// </summary> - /// <typeparam name="T">Event type.</typeparam> - public interface IEventFilter<in T> where T : IEvent - { - /// <summary> - /// Determines whether specified event passes this filtger. - /// </summary> - /// <param name="nodeId">Node identifier.</param> - /// <param name="evt">Event.</param> - /// <returns>Value indicating whether specified event passes this filtger.</returns> - bool Invoke(Guid nodeId, T evt); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEvents.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEvents.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEvents.cs deleted file mode 100644 index e13513c..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/IEvents.cs +++ /dev/null @@ -1,182 +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.Events -{ - using System; - using System.Collections.Generic; - using System.Diagnostics.CodeAnalysis; - using Apache.Ignite.Core.Cluster; - using Apache.Ignite.Core.Common; - - /// <summary> - /// Provides functionality for local and remote event notifications on nodes defined by <see cref="ClusterGroup"/>. - /// <para/> - /// All members are thread-safe and may be used concurrently from multiple threads. - /// </summary> - public interface IEvents : IAsyncSupport<IEvents> - { - /// <summary> - /// Gets the cluster group to which this instance belongs. - /// </summary> - IClusterGroup ClusterGroup { get; } - - /// <summary> - /// Queries nodes in this cluster group for events using passed in predicate filter for event selection. - /// </summary> - /// <typeparam name="T">Type of events.</typeparam> - /// <param name="filter">Predicate filter used to query events on remote nodes.</param> - /// <param name="timeout">Maximum time to wait for result, null or 0 to wait forever.</param> - /// <param name="types">Event types to be queried.</param> - /// <returns>Collection of Ignite events returned from specified nodes.</returns> - [AsyncSupported] - [SuppressMessage("Microsoft.Design", "CA1002:DoNotExposeGenericLists")] - List<T> RemoteQuery<T>(IEventFilter<T> filter, TimeSpan? timeout = null, params int[] types) - where T : IEvent; - - /// <summary> - /// Adds event listener for specified events to all nodes in the cluster group (possibly including local node - /// if it belongs to the cluster group as well). This means that all events occurring on any node within this - /// cluster group that pass remote filter will be sent to local node for local listener notifications. - /// <para/> - /// The listener can be unsubscribed automatically if local node stops, if localListener callback - /// returns false or if <see cref="StopRemoteListen"/> is called. - /// </summary> - /// <typeparam name="T">Type of events.</typeparam> - /// <param name="bufSize">Remote events buffer size. Events from remote nodes won't be sent until buffer - /// is full or time interval is exceeded.</param> - /// <param name="interval">Maximum time interval after which events from remote node will be sent. Events - /// from remote nodes won't be sent until buffer is full or time interval is exceeded.</param> - /// <param name="autoUnsubscribe">Flag indicating that event listeners on remote nodes should be automatically - /// unregistered if master node (node that initiated event listening) leaves topology. - /// If this flag is false, listeners will be unregistered only when <see cref="StopRemoteListen"/> - /// method is called, or the localListener returns false.</param> - /// <param name="localListener"> Listener callback that is called on local node. If null, these events will - /// be handled on remote nodes by passed in remoteFilter.</param> - /// <param name="remoteFilter"> - /// Filter callback that is called on remote node. Only events that pass the remote filter will be - /// sent to local node. If null, all events of specified types will be sent to local node. - /// This remote filter can be used to pre-handle events remotely, before they are passed in to local callback. - /// It will be auto-unsubscribed on the node where event occurred in case if it returns false. - /// </param> - /// <param name="types"> - /// Types of events to listen for. If not provided, all events that pass the provided remote filter - /// will be sent to local node. - /// </param> - /// <returns> - /// Operation ID that can be passed to <see cref="StopRemoteListen"/> method to stop listening. - /// </returns> - [AsyncSupported] - Guid RemoteListen<T>(int bufSize = 1, TimeSpan? interval = null, bool autoUnsubscribe = true, - IEventFilter<T> localListener = null, IEventFilter<T> remoteFilter = null, params int[] types) - where T : IEvent; - - /// <summary> - /// Stops listening to remote events. This will unregister all listeners identified with provided operation ID - /// on all nodes defined by <see cref="ClusterGroup"/>. - /// </summary> - /// <param name="opId">Operation ID that was returned from <see cref="RemoteListen{T}"/>.</param> - [AsyncSupported] - void StopRemoteListen(Guid opId); - - /// <summary> - /// Waits for the specified events. - /// </summary> - /// <param name="types">Types of the events to wait for. - /// If not provided, all events will be passed to the filter.</param> - /// <returns>Ignite event.</returns> - [AsyncSupported] - IEvent WaitForLocal(params int[] types); - - /// <summary> - /// Waits for the specified events. - /// </summary> - /// <typeparam name="T">Type of events.</typeparam> - /// <param name="filter">Optional filtering predicate. Event wait will end as soon as it returns false.</param> - /// <param name="types">Types of the events to wait for. - /// If not provided, all events will be passed to the filter.</param> - /// <returns>Ignite event.</returns> - [AsyncSupported] - T WaitForLocal<T>(IEventFilter<T> filter, params int[] types) where T : IEvent; - - /// <summary> - /// Queries local node for events using of specified types. - /// </summary> - /// <param name="types">Event types to be queried. Optional.</param> - /// <returns>Collection of Ignite events found on local node.</returns> - [SuppressMessage("Microsoft.Design", "CA1002:DoNotExposeGenericLists")] - List<IEvent> LocalQuery(params int[] types); - - /// <summary> - /// Records customer user generated event. All registered local listeners will be notified. - /// <para/> - /// NOTE: all types in range <b>from 1 to 1000 are reserved</b> for - /// internal Ignite events and should not be used by user-defined events. - /// Attempt to record internal event with this method will cause <see cref="ArgumentException"/> to be thrown. - /// </summary> - /// <param name="evt">Locally generated event.</param> - /// <exception cref="ArgumentException">If event type is within Ignite reserved range (1 � 1000)</exception> - void RecordLocal(IEvent evt); - - /// <summary> - /// Adds an event listener for local events. Note that listener will be added regardless of whether - /// local node is in this cluster group or not. - /// </summary> - /// <typeparam name="T">Type of events.</typeparam> - /// <param name="listener">Predicate that is called on each received event. If predicate returns false, - /// it will be unregistered and will stop receiving events.</param> - /// <param name="types">Event types for which this listener will be notified, should not be empty.</param> - void LocalListen<T>(IEventFilter<T> listener, params int[] types) where T : IEvent; - - /// <summary> - /// Removes local event listener. - /// </summary> - /// <typeparam name="T">Type of events.</typeparam> - /// <param name="listener">Local event listener to remove.</param> - /// <param name="types">Types of events for which to remove listener. If not specified, then listener - /// will be removed for all types it was registered for.</param> - /// <returns>True if listener was removed, false otherwise.</returns> - bool StopLocalListen<T>(IEventFilter<T> listener, params int[] types) where T : IEvent; - - /// <summary> - /// Enables provided events. Allows to start recording events that were disabled before. - /// Note that provided events will be enabled regardless of whether local node is in this cluster group or not. - /// </summary> - /// <param name="types">Events to enable.</param> - void EnableLocal(params int[] types); - - /// <summary> - /// Disables provided events. Allows to stop recording events that were enabled before. Note that specified - /// events will be disabled regardless of whether local node is in this cluster group or not. - /// </summary> - /// <param name="types">Events to disable.</param> - void DisableLocal(params int[] types); - - /// <summary> - /// Gets types of enabled events. - /// </summary> - /// <returns>Types of enabled events.</returns> - int[] GetEnabledEvents(); - - /// <summary> - /// Determines whether the specified event is enabled. - /// </summary> - /// <param name="type">Event type.</param> - /// <returns>Value indicating whether the specified event is enabled.</returns> - bool IsEnabled(int type); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/JobEvent.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/JobEvent.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/JobEvent.cs deleted file mode 100644 index 81d537f..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/JobEvent.cs +++ /dev/null @@ -1,100 +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.Events -{ - using System; - using Apache.Ignite.Core.Cluster; - using Apache.Ignite.Core.Common; - using Apache.Ignite.Core.Portable; - - /// <summary> - /// Ignite job event. - /// </summary> - public sealed class JobEvent : EventBase - { - /** */ - private readonly string _taskName; - - /** */ - private readonly string _taskClassName; - - /** */ - private readonly IgniteGuid _taskSessionId; - - /** */ - private readonly IgniteGuid _jobId; - - /** */ - private readonly IClusterNode _taskNode; - - /** */ - private readonly Guid _taskSubjectId; - - /// <summary> - /// Constructor. - /// </summary> - /// <param name="r">The reader to read data from.</param> - internal JobEvent(IPortableRawReader r) : base(r) - { - _taskName = r.ReadString(); - _taskClassName = r.ReadString(); - _taskSessionId = IgniteGuid.ReadPortable(r); - _jobId = IgniteGuid.ReadPortable(r); - _taskNode = ReadNode(r); - _taskSubjectId = r.ReadGuid() ?? Guid.Empty; - } - - /// <summary> - /// Gets name of the task that triggered the event. - /// </summary> - public string TaskName { get { return _taskName; } } - - /// <summary> - /// Gets name of task class that triggered this event. - /// </summary> - public string TaskClassName { get { return _taskClassName; } } - - /// <summary> - /// Gets task session ID of the task that triggered this event. - /// </summary> - public IgniteGuid TaskSessionId { get { return _taskSessionId; } } - - /// <summary> - /// Gets job ID. - /// </summary> - public IgniteGuid JobId { get { return _jobId; } } - - /// <summary> - /// Get node where parent task of the job has originated. - /// </summary> - public IClusterNode TaskNode { get { return _taskNode; } } - - /// <summary> - /// Gets task subject ID. - /// </summary> - public Guid TaskSubjectId { get { return _taskSubjectId; } } - - /** <inheritDoc /> */ - public override string ToShortString() - { - return string.Format("{0}: TaskName={1}, TaskClassName={2}, TaskSessionId={3}, JobId={4}, TaskNode={5}, " + - "TaskSubjectId={6}", Name, TaskName, TaskClassName, TaskSessionId, JobId, TaskNode, - TaskSubjectId); - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs deleted file mode 100644 index 676c2e0..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs +++ /dev/null @@ -1,50 +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.Events -{ - using Apache.Ignite.Core.Portable; - - /// <summary> - /// Grid swap space event. - /// </summary> - public sealed class SwapSpaceEvent : EventBase - { - /** */ - private readonly string _space; - - /// <summary> - /// Constructor. - /// </summary> - /// <param name="r">The reader to read data from.</param> - internal SwapSpaceEvent(IPortableRawReader r) : base(r) - { - _space = r.ReadString(); - } - - /// <summary> - /// Gets swap space name. - /// </summary> - public string Space { get { return _space; } } - - /** <inheritDoc /> */ - public override string ToShortString() - { - return string.Format("{0}: Space={1}", Name, Space); - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs deleted file mode 100644 index 7149fb3..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs +++ /dev/null @@ -1,91 +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.Events -{ - using System; - using Apache.Ignite.Core.Common; - using Apache.Ignite.Core.Portable; - - /// <summary> - /// Ignite task event. - /// </summary> - public sealed class TaskEvent : EventBase - { - /** */ - private readonly string _taskName; - - /** */ - private readonly string _taskClassName; - - /** */ - private readonly IgniteGuid _taskSessionId; - - /** */ - private readonly bool _internal; - - /** */ - private readonly Guid _subjectId; - - /// <summary> - /// Constructor. - /// </summary> - /// <param name="r">The reader to read data from.</param> - internal TaskEvent(IPortableRawReader r) : base(r) - { - _taskName = r.ReadString(); - _taskClassName = r.ReadString(); - _taskSessionId = IgniteGuid.ReadPortable(r); - _internal = r.ReadBoolean(); - _subjectId = r.ReadGuid() ?? Guid.Empty; - } - - /// <summary> - /// Gets name of the task that triggered the event. - /// </summary> - public string TaskName { get { return _taskName; } } - - /// <summary> - /// Gets name of task class that triggered this event. - /// </summary> - public string TaskClassName { get { return _taskClassName; } } - - /// <summary> - /// Gets session ID of the task that triggered the event. - /// </summary> - public IgniteGuid TaskSessionId { get { return _taskSessionId; } } - - /// <summary> - /// Returns true if task is created by Ignite and is used for system needs. - /// </summary> - public bool Internal { get { return _internal; } } - - /// <summary> - /// Gets security subject ID initiated this task event, if available. This property is not available for - /// <see cref="EventType.EvtTaskSessionAttrSet" /> task event. - /// Subject ID will be set either to node ID or client ID initiated task execution. - /// </summary> - public Guid SubjectId { get { return _subjectId; } } - - /** <inheritDoc /> */ - public override string ToShortString() - { - return string.Format("{0}: TaskName={1}, TaskClassName={2}, TaskSessionId={3}, Internal={4}, " + - "SubjectId={5}", Name, TaskName, TaskClassName, TaskSessionId, Internal, SubjectId); - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/IIgnite.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/IIgnite.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/IIgnite.cs deleted file mode 100644 index a9fae89..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/IIgnite.cs +++ /dev/null @@ -1,144 +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 -{ - using System; - using Apache.Ignite.Core.Cache; - using Apache.Ignite.Core.Cluster; - using Apache.Ignite.Core.Compute; - using Apache.Ignite.Core.Datastream; - using Apache.Ignite.Core.Events; - using Apache.Ignite.Core.Messaging; - using Apache.Ignite.Core.Portable; - using Apache.Ignite.Core.Services; - using Apache.Ignite.Core.Transactions; - - /// <summary> - /// Main entry point for all Ignite APIs. - /// You can obtain an instance of <c>IGrid</c> through <see cref="Ignition.GetIgnite()"/>, - /// or for named grids you can use <see cref="Ignition.GetIgnite(string)"/>. Note that you - /// can have multiple instances of <c>IGrid</c> running in the same process by giving - /// each instance a different name. - /// <para/> - /// All members are thread-safe and may be used concurrently from multiple threads. - /// </summary> - public interface IIgnite : IDisposable - { - /// <summary> - /// Gets the name of the grid this Ignite instance (and correspondingly its local node) belongs to. - /// Note that single process can have multiple Ignite instances all belonging to different grids. Grid - /// name allows to indicate to what grid this particular Ignite instance (i.e. Ignite runtime and its - /// local node) belongs to. - /// <p/> - /// If default Ignite instance is used, then <c>null</c> is returned. Refer to <see cref="Ignition"/> documentation - /// for information on how to start named grids. - /// </summary> - /// <returns>Name of the grid, or <c>null</c> for default grid.</returns> - string Name { get; } - - /// <summary> - /// Gets an instance of <see cref="ICluster" /> interface. - /// </summary> - ICluster GetCluster(); - - /// <summary> - /// Gets compute functionality over this grid projection. All operations - /// on the returned ICompute instance will only include nodes from - /// this projection. - /// </summary> - /// <returns>Compute instance over this grid projection.</returns> - ICompute GetCompute(); - - /// <summary> - /// Gets the cache instance for the given name to work with keys and values of specified types. - /// <para/> - /// You can get instances of ICache of the same name, but with different key/value types. - /// These will use the same named cache, but only allow working with entries of specified types. - /// Attempt to retrieve an entry of incompatible type will result in <see cref="InvalidCastException"/>. - /// Use <see cref="GetCache{TK,TV}"/> in order to work with entries of arbitrary types. - /// </summary> - /// <param name="name">Cache name.</param> - /// <returns>Cache instance for given name.</returns> - /// <typeparam name="TK">Cache key type.</typeparam> - /// <typeparam name="TV">Cache value type.</typeparam> - ICache<TK, TV> GetCache<TK, TV>(string name); - - /// <summary> - /// Gets existing cache with the given name or creates new one using template configuration. - /// </summary> - /// <typeparam name="TK">Cache key type.</typeparam> - /// <typeparam name="TV">Cache value type.</typeparam> - /// <param name="name">Cache name.</param> - /// <returns>Existing or newly created cache.</returns> - ICache<TK, TV> GetOrCreateCache<TK, TV>(string name); - - /// <summary> - /// Dynamically starts new cache using template configuration. - /// </summary> - /// <typeparam name="TK">Cache key type.</typeparam> - /// <typeparam name="TV">Cache value type.</typeparam> - /// <param name="name">Cache name.</param> - /// <returns>Existing or newly created cache.</returns> - ICache<TK, TV> CreateCache<TK, TV>(string name); - - /// <summary> - /// Gets a new instance of data streamer associated with given cache name. Data streamer - /// is responsible for loading external data into Ignite. For more information - /// refer to <see cref="IDataStreamer{K,V}"/> documentation. - /// </summary> - /// <param name="cacheName">Cache name (<c>null</c> for default cache).</param> - /// <returns>Data streamer.</returns> - IDataStreamer<TK, TV> GetDataStreamer<TK, TV>(string cacheName); - - /// <summary> - /// Gets an instance of <see cref="IPortables"/> interface. - /// </summary> - /// <returns>Instance of <see cref="IPortables"/> interface</returns> - IPortables GetPortables(); - - /// <summary> - /// Gets affinity service to provide information about data partitioning and distribution. - /// </summary> - /// <param name="name">Cache name.</param> - /// <returns>Cache data affinity service.</returns> - ICacheAffinity GetAffinity(string name); - - /// <summary> - /// Gets Ignite transactions facade. - /// </summary> - ITransactions GetTransactions(); - - /// <summary> - /// Gets messaging facade over all cluster nodes. - /// </summary> - /// <returns>Messaging instance over all cluster nodes.</returns> - IMessaging GetMessaging(); - - /// <summary> - /// Gets events facade over all cluster nodes. - /// </summary> - /// <returns>Events facade over all cluster nodes.</returns> - IEvents GetEvents(); - - /// <summary> - /// Gets services facade over all cluster nodes. - /// </summary> - /// <returns>Services facade over all cluster nodes.</returns> - IServices GetServices(); - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs deleted file mode 100644 index 5a03e93..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs +++ /dev/null @@ -1,140 +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 -{ - using System.Collections.Generic; - using System.Diagnostics.CodeAnalysis; - using Apache.Ignite.Core.Lifecycle; - using Apache.Ignite.Core.Portable; - - /// <summary> - /// Grid configuration. - /// </summary> - public class IgniteConfiguration - { - /// <summary> - /// Default initial JVM memory in megabytes. - /// </summary> - public const int DefaultJvmInitMem = 512; - - /// <summary> - /// Default maximum JVM memory in megabytes. - /// </summary> - public const int DefaultJvmMaxMem = 1024; - - /// <summary> - /// Default constructor. - /// </summary> - public IgniteConfiguration() - { - JvmInitialMemoryMb = DefaultJvmInitMem; - JvmMaxMemoryMb = DefaultJvmMaxMem; - } - - /// <summary> - /// Copying constructor. - /// </summary> - /// <param name="cfg">Configuration.</param> - internal IgniteConfiguration(IgniteConfiguration cfg) - { - SpringConfigUrl = cfg.SpringConfigUrl; - JvmDllPath = cfg.JvmDllPath; - IgniteHome = cfg.IgniteHome; - JvmClasspath = cfg.JvmClasspath; - SuppressWarnings = cfg.SuppressWarnings; - - JvmOptions = cfg.JvmOptions != null ? new List<string>(cfg.JvmOptions) : null; - Assemblies = cfg.Assemblies != null ? new List<string>(cfg.Assemblies) : null; - - PortableConfiguration = cfg.PortableConfiguration != null - ? new PortableConfiguration(cfg.PortableConfiguration) - : null; - - LifecycleBeans = cfg.LifecycleBeans != null ? new List<ILifecycleBean>(cfg.LifecycleBeans) : null; - - JvmInitialMemoryMb = cfg.JvmInitialMemoryMb; - JvmMaxMemoryMb = cfg.JvmMaxMemoryMb; - } - - /// <summary> - /// Gets or sets the portable configuration. - /// </summary> - /// <value> - /// The portable configuration. - /// </value> - public PortableConfiguration PortableConfiguration { get; set; } - - /// <summary> - /// URL to Spring configuration file. - /// </summary> - [SuppressMessage("Microsoft.Design", "CA1056:UriPropertiesShouldNotBeStrings")] - public string SpringConfigUrl { get; set; } - - /// <summary> - /// Path jvm.dll file. If not set, it's location will be determined - /// using JAVA_HOME environment variable. - /// If path is neither set nor determined automatically, an exception - /// will be thrown. - /// </summary> - public string JvmDllPath { get; set; } - - /// <summary> - /// Path to Ignite home. If not set environment variable IGNITE_HOME will be used. - /// </summary> - public string IgniteHome { get; set; } - - /// <summary> - /// Classpath used by JVM on Ignite start. - /// </summary> - public string JvmClasspath { get; set; } - - /// <summary> - /// Collection of options passed to JVM on Ignite start. - /// </summary> - public ICollection<string> JvmOptions { get; set; } - - /// <summary> - /// List of additional .Net assemblies to load on Ignite start. Each item can be either - /// fully qualified assembly name, path to assembly to DLL or path to a directory when - /// assemblies reside. - /// </summary> - public IList<string> Assemblies { get; set; } - - /// <summary> - /// Whether to suppress warnings. - /// </summary> - public bool SuppressWarnings { get; set; } - - /// <summary> - /// Lifecycle beans. - /// </summary> - public ICollection<ILifecycleBean> LifecycleBeans { get; set; } - - /// <summary> - /// Initial amount of memory in megabytes given to JVM. Maps to -Xms Java option. - /// Defaults to <see cref="DefaultJvmInitMem"/>. - /// </summary> - public int JvmInitialMemoryMb { get; set; } - - /// <summary> - /// Maximum amount of memory in megabytes given to JVM. Maps to -Xmx Java option. - /// Defaults to <see cref="DefaultJvmMaxMem"/>. - /// </summary> - public int JvmMaxMemoryMb { get; set; } - } -}
