private static void OnReceiveComplete(IAsyncResult ar) { FeedAsyncResult result = ar as FeedAsyncResult; FeedInputChannel channel = result.Channel; Feed feed = channel.EndReceive(result); if (FeedEngine.FeedReceived != null) { FeedEngine.FeedReceived(feed); } if (receivers.Count > 0) { FeedReceiver receiver = receivers[channel.Destination] as FeedReceiver; if (receiver != null) { receiver.Receive(feed); } } // Update the storage if (Storage != null) { Storage.Add(feed); } }