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(); } }
private bool ConfirmHandle(CacheHandle handle) { if (handle == null) { return(false); } if (handle.Node.List != _collection) { return(false); } return(true); }