Exemple #1
0
        /// <summary>
        /// 根据客户端id获取未被加载过的日志数据
        /// </summary>
        /// <param name="clientId">客户端id</param>
        /// <returns>未被加载过的日志数据</returns>
        public IList <ILogEntry> GetUnloadEntrysByClientId(string clientId)
        {
            long lastId;

            clientIds.TryGetValue(clientId, out lastId);

            var results = logEntrys.GetElementRangeByScore(lastId + 1, long.MaxValue);

            if (results.Length > 0)
            {
                clientIds[clientId] = results[results.Length - 1].Id;
            }
            return(results);
        }
Exemple #2
0
        public void GetElementRangeByScore()
        {
            var list = new SortSet <int, int>();

            for (var i = 0; i < 10; i++)
            {
                list.Add(i, i);
            }

            var elements = list.GetElementRangeByScore(3, 8);
            var n        = 3;

            foreach (var e in elements)
            {
                Assert.AreEqual(n++, e);
            }
            var list2 = new SortSet <int, int>();

            Assert.AreEqual(0, list2.GetElementRangeByScore(3, 8).Length);
        }