Esempio n. 1
0
    void _Fetch(string url, int version, ResolveAction resolve)
    {
        EnsureMainthread();

        if (cacheState == CorgiCacheState.None ||
            cacheState == CorgiCacheState.EndFetching)
        {
            if (cacheState == CorgiCacheState.None)
            {
                handles[url] = new CacheHandle();
            }

            memory.Load(url, version, resolve, OnMemoryFaield);
        }
        else
        {
            var handle = handles[url];
            new Thread(() =>
            {
                handle.waitEvent.WaitOne(2000);
                mainThreadTasks.Add(() => {
                    memory.Load(url, version, resolve, OnMemoryFaield);
                });
            }).Start();
        }
    }
Esempio n. 2
0
 private bool ConfirmHandle(CacheHandle handle)
 {
     if (handle == null)
     {
         return(false);
     }
     if (handle.Node.List != _collection)
     {
         return(false);
     }
     return(true);
 }