public void SubscribeToAggregatedUpdates(ClientConsumer client) { lock (_consumerLock) { _clients.Add(client); foreach (var update in _aggregatedUpdates) client.OnNewUpdate(update); } }
public void SubscribeToAggregatedUpdates(ClientConsumer client) { lock (_consumerLock) { _clients.Add(client); foreach (var update in _aggregatedUpdates) { client.OnNewUpdate(update); } } }
static void Main(string[] args) { var aggregatedRepository = new AggregatedRepository(); var facebookProducer = new FacebookProducer(); var twitterProducer = new TwitterProducer(); facebookProducer.SubscribeToUpdates(aggregatedRepository); twitterProducer.SubscribeToUpdates(aggregatedRepository); var client = new ClientConsumer(); aggregatedRepository.SubscribeToAggregatedUpdates(client); Thread.Sleep(3000); aggregatedRepository.StopConsuming(); Console.Read(); }