Beispiel #1
0
        public WantMessage GetWant()
        {
            WantMessage want = new WantMessage();

            List <MessageId> receivedIDs = (
                from rm in ReceivedMessages
                select rm.Rumor.FullId).ToList();

            List <string> distinctOrigins = (
                from rid in receivedIDs
                select rid.origin).Distinct().ToList();

            foreach (string orig in distinctOrigins)
            {
                List <MessageId> groupedMessages = (
                    from rm in ReceivedMessages
                    where rm.Rumor.FullId.origin == orig
                    orderby rm.Rumor.FullId.sequence descending
                    select rm.Rumor.FullId).ToList();

                want.AddWant(groupedMessages[0]);
            }

            return(want);
        }