private void connectionManager_PullMulticastMetadatasEvent(object sender, PullMulticastMetadatasEventArgs e) { var connectionManager = sender as ConnectionManager; if (connectionManager == null) return; var packetManager = _packetControlManager[connectionManager.Node]; if (packetManager.StockMulticastMetadatas.Count > _maxMetadataCount * packetManager.StockMulticastMetadatas.SurvivalTime.TotalMinutes) return; Debug.WriteLine(string.Format("ConnectionManager: Pull MulticastMetadatas ({0})", e.MulticastMetadatas.Count())); foreach (var metadata in e.MulticastMetadatas.Take(_maxMetadataCount)) { if (_settings.MetadataManager.SetMetadata(metadata)) { packetManager.StockMulticastMetadatas.Add(metadata.CreateHash(_hashAlgorithm)); _pullMetadataCount.Increment(); } } }
private void connectionManager_PullMulticastMetadatasEvent(object sender, PullMulticastMetadatasEventArgs e) { var connectionManager = sender as ConnectionManager; if (connectionManager == null) return; var messageManager = _messagesManager[connectionManager.Node]; if (messageManager.StockWikiDocumentMetadatas.Count > _maxMetadataCount * messageManager.StockWikiDocumentMetadatas.SurvivalTime.TotalMinutes) return; if (messageManager.StockChatMessageMetadatas.Count > _maxMetadataCount * messageManager.StockChatMessageMetadatas.SurvivalTime.TotalMinutes) return; Debug.WriteLine(string.Format("ConnectionManager: Pull MulticastMetadatas ({0})", e.WikiDocumentMetadatas.Count() + e.ChatMessageMetadatas.Count())); foreach (var metadata in e.WikiDocumentMetadatas.Take(_maxMetadataCount)) { if (_settings.MetadataManager.SetMetadata(metadata)) { messageManager.StockWikiDocumentMetadatas.Add(metadata.CreateHash(_hashAlgorithm)); _multicastWikiLastAccessTimes[metadata.Tag] = DateTime.UtcNow; } _pullMetadataCount.Increment(); } foreach (var metadata in e.ChatMessageMetadatas.Take(_maxMetadataCount)) { if (_settings.MetadataManager.SetMetadata(metadata)) { messageManager.StockChatMessageMetadatas.Add(metadata.CreateHash(_hashAlgorithm)); _multicastChatLastAccessTimes[metadata.Tag] = DateTime.UtcNow; } _pullMetadataCount.Increment(); } }