void srm_OnNeighborStateChange(SimpleRegionInfo neighbor, NeighborStateChangeType changeType) { if (stateChangeCounts.ContainsKey(changeType)) { stateChangeCounts[changeType]++; } else { stateChangeCounts[changeType] = 1; } }
/// <summary> /// Called by the surrounding region manager when there is a region state change /// </summary> /// <param name="neighbor"></param> /// <param name="changeType"></param> void SurroundingRegions_OnNeighborStateChange(SimpleRegionInfo neighbor, NeighborStateChangeType changeType) { switch (changeType) { case NeighborStateChangeType.NeighborUp: this.HandleNeighborUp(neighbor); break; case NeighborStateChangeType.NeighborDown: this.HandleNeighborDown(neighbor); break; } }
/// <summary> /// Triggers the state change event /// </summary> /// <param name="neighbor"></param> /// <param name="neighborStateChangeType"></param> private void TriggerNeighborStateChange(SimpleRegionInfo neighbor, NeighborStateChangeType neighborStateChangeType) { if (neighborStateChangeType != NeighborStateChangeType.NeighborPing) { _log.InfoFormat("[REGIONMANAGER]: Neighbor region {0} at {1} state change {2}", neighbor.RegionHandle, Util.RegionHandleToLocationString(neighbor.RegionHandle), neighborStateChangeType); } var stateChangeHandler = this.OnNeighborStateChange; if (stateChangeHandler != null) { stateChangeHandler(neighbor, neighborStateChangeType); } }