コード例 #1
0
        // for internal use
        public List <Message> GetMessagesInternal(DateTime timeStamp)
        {
            var result       = new List <Message>();
            var messageRooms = messages.GetKeys();

            foreach (var room in messageRooms)
            {
                var messagesInRoom = messages.ReceiveValue(room).ToList();
                for (var messageIndex = messagesInRoom.Count - 1; messageIndex >= 0; messageIndex--)
                {
                    var message = messagesInRoom[messageIndex];
                    if (message.TimeStamp <= timeStamp) // using message ordering in 'messages'
                    {
                        break;
                    }
                    result.Insert(0, new Message(message));
                }
            }
            return(result);
        }