using System; using System.Collections.Generic; using System.Threading; using Cpp2IlInjected; namespace BestHTTP.Caching { // Token: 0x020020A2 RID: 8354 [Token(Token = "0x20020A2")] internal sealed class HTTPCacheFileLock { // Token: 0x0600D236 RID: 53814 RVA: 0x003006D8 File Offset: 0x002FE8D8 [Token(Token = "0x600D236")] [Address(RVA = "0x2411CF0", Offset = "0x2410CF0", VA = "0x182411CF0")] internal static object Acquire(Uri uri) { for (;;) { int num = 0; object syncRoot = HTTPCacheFileLock.SyncRoot; int num2 = 0; if (!HTTPCacheFileLock.FileLocks.TryGetValue(uri, num2)) { break; } Monitor.Exit(syncRoot); if (num == 0) { goto Block_1; } } Dictionary fileLocks = HTTPCacheFileLock.FileLocks; object obj = new object(); throw new NullReferenceException(); Block_1: throw new NullReferenceException(); } // Token: 0x0600D237 RID: 53815 RVA: 0x00300728 File Offset: 0x002FE928 [Token(Token = "0x600D237")] [Address(RVA = "0x2411FD0", Offset = "0x2410FD0", VA = "0x182411FD0")] internal static void Remove(Uri uri) { object syncRoot = HTTPCacheFileLock.SyncRoot; Dictionary fileLocks = HTTPCacheFileLock.FileLocks; throw new NullReferenceException(); } // Token: 0x0600D238 RID: 53816 RVA: 0x00300770 File Offset: 0x002FE970 [Token(Token = "0x600D238")] [Address(RVA = "0x2411EB0", Offset = "0x2410EB0", VA = "0x182411EB0")] internal static void Clear() { int num; do { num = 0; object syncRoot = HTTPCacheFileLock.SyncRoot; HTTPCacheFileLock.FileLocks.Clear(); Monitor.Exit(syncRoot); } while (num != 0); } // Token: 0x0600D239 RID: 53817 RVA: 0x003007A0 File Offset: 0x002FE9A0 [Token(Token = "0x600D239")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public HTTPCacheFileLock() { } // Token: 0x040085B7 RID: 34231 [Token(Token = "0x40085B7")] private static Dictionary FileLocks = new Dictionary(); // Token: 0x040085B8 RID: 34232 [Token(Token = "0x40085B8")] private static object SyncRoot = new object(); } }