internal void StreamChanged(StorageStreamChangeType changeType, StorageStream stream) { if (!SystemStreamId.IsSystemStreamId(stream.StreamId) || stream.StreamId == SystemStreamId.EmptySpace) { switch (changeType) { case StorageStreamChangeType.SegmentsAndMetadata: if (!streamsChangedDuringTransaction.Contains(stream)) { streamsChangedDuringTransaction.Add(stream); } break; case StorageStreamChangeType.Closing: if (streamsChangedDuringTransaction.Contains(stream)) { streamsChangedDuringTransaction.Remove(stream); } openedStreams.Remove(stream.StreamId); //e.Stream.Changed -= StorageStream_Changed; break; } } }
/// <summary> /// Informs listener that stream has changed /// </summary> private void NotifyChanged(StorageStreamChangeType changeType) { switch (changeType) { case StorageStreamChangeType.SegmentsAndMetadata: if (!changeNotified) { changeNotified = true; //if (Changed != null) // Changed(this, new StorageStreamChangedArgs(this, changeType)); storage.StreamChanged(changeType, this); } break; case StorageStreamChangeType.Closing: // When closing, always notify the storage storage.StreamChanged(changeType, this); break; } }
internal void StreamChanged(StorageStreamChangeType changeType, StorageStream stream) { if (!SystemStreamId.IsSystemStreamId(stream.StreamId) || stream.StreamId == SystemStreamId.EmptySpace) { switch (changeType) { case StorageStreamChangeType.SegmentsAndMetadata: if (!streamsChangedDuringTransaction.Contains(stream)) streamsChangedDuringTransaction.Add(stream); break; case StorageStreamChangeType.Closing: if (streamsChangedDuringTransaction.Contains(stream)) streamsChangedDuringTransaction.Remove(stream); openedStreams.Remove(stream.StreamId); //e.Stream.Changed -= StorageStream_Changed; break; } } }