using System; using System.Collections.Generic; using System.Threading; using Cpp2IlInjected; namespace BestHTTP.Caching { // Token: 0x02001FC2 RID: 8130 [Token(Token = "0x2001FC2")] internal sealed class HTTPCacheFileLock { // Token: 0x0600CE68 RID: 52840 RVA: 0x002F8168 File Offset: 0x002F6368 [Token(Token = "0x600CE68")] [Address(RVA = "0xAA4CA0", Offset = "0xAA3AA0", VA = "0x180AA4CA0")] internal static object Acquire(Uri uri) { int num; do { num = 0; object syncRoot = HTTPCacheFileLock.SyncRoot; int num2 = 0; if (!HTTPCacheFileLock.FileLocks.TryGetValue(uri, num2)) { Dictionary fileLocks = HTTPCacheFileLock.FileLocks; object obj = new object(); fileLocks.Add(uri, obj); } Monitor.Exit(syncRoot); } while (num != 0); throw new NullReferenceException(); } // Token: 0x0600CE69 RID: 52841 RVA: 0x002F81BC File Offset: 0x002F63BC [Token(Token = "0x600CE69")] [Address(RVA = "0xAA4F80", Offset = "0xAA3D80", VA = "0x180AA4F80")] internal static void Remove(Uri uri) { object syncRoot = HTTPCacheFileLock.SyncRoot; Dictionary fileLocks = HTTPCacheFileLock.FileLocks; throw new NullReferenceException(); } // Token: 0x0600CE6A RID: 52842 RVA: 0x002F8204 File Offset: 0x002F6404 [Token(Token = "0x600CE6A")] [Address(RVA = "0xAA4E60", Offset = "0xAA3C60", VA = "0x180AA4E60")] internal static void Clear() { int num; do { num = 0; object syncRoot = HTTPCacheFileLock.SyncRoot; HTTPCacheFileLock.FileLocks.Clear(); Monitor.Exit(syncRoot); } while (num != 0); } // Token: 0x0600CE6B RID: 52843 RVA: 0x002F8234 File Offset: 0x002F6434 [Token(Token = "0x600CE6B")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public HTTPCacheFileLock() { } // Token: 0x040083FE RID: 33790 [Token(Token = "0x40083FE")] private static Dictionary FileLocks = new Dictionary(); // Token: 0x040083FF RID: 33791 [Token(Token = "0x40083FF")] private static object SyncRoot = new object(); } }