コード例 #1
0
 IList<MessageModel> GetSyncMessages()
 {
     // during cloning, someone could modify it and break the enumerator
     lock (MessageBuffer) {
         if (MessageBuffer.Count == 0) {
             return new List<MessageModel>(0);
         }
         if (MessagesSyncCount <= 0) {
             return new List<MessageModel>(MessageBuffer);
         } else {
             var offset = MessageBuffer.Count - MessagesSyncCount;
             if (offset < 0) {
                 offset = 0;
             }
             return MessageBuffer.GetRange(offset, MessagesSyncCount);
         }
     }
 }