private StreamSummaryManager FindStreamSummaryManager(StreamBinding streamBinding, bool createStreamSummaryManager = true) { if (streamBinding == null) { throw new ArgumentNullException(nameof(streamBinding)); } lock (this.streamSummaryManagers) { var key = Tuple.Create(streamBinding.StoreName, streamBinding.StorePath, streamBinding.StreamName, streamBinding.StreamAdapterType); StreamSummaryManager streamSummaryManager = default(StreamSummaryManager); if (this.streamSummaryManagers.Contains(key)) { streamSummaryManager = this.streamSummaryManagers[key]; } else if (createStreamSummaryManager) { streamSummaryManager = new StreamSummaryManager( streamBinding.StoreName, streamBinding.StorePath, streamBinding.StreamName, streamBinding.StreamAdapterType); this.streamSummaryManagers.Add(streamSummaryManager); } return(streamSummaryManager); } }
protected override Tuple <string, string, string, Type> GetKeyForItem(StreamSummaryManager streamSummaryManager) { return(Tuple.Create(streamSummaryManager.StoreName, streamSummaryManager.StorePath, streamSummaryManager.StreamName, streamSummaryManager.StreamAdapterType)); }