Esempio n. 1
0
        public CacheList(uint size)
        {
            list      = new LinkedList <CacheNode <T, V> >();
            FirstNode = CacheNode <T, V> .CreateLLNode(default(T), default(V));

            list.AddFirst(FirstNode);
            LastNode = CacheNode <T, V> .CreateLLNode(default(T), default(V));

            list.AddLast(LastNode);
        }
Esempio n. 2
0
        private Func <TKey, LinkedListNode <CacheNode <TKey, TValue> > > createNewLockedNode(TValue value)
        {
            return((key) =>
            {
                var newNode = CacheNode <TKey, TValue> .CreateLLNode(key, value);

                do
                {
                } while (!newNode.Value.TryLock());
                return newNode;
            });
        }