예제 #1
0
        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);
            }
        }