Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

81 lines
2.1 KiB
C#

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<Uri, object> 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<Uri, object> 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<Uri, object> FileLocks = new Dictionary();
// Token: 0x040085B8 RID: 34232
[Token(Token = "0x40085B8")]
private static object SyncRoot = new object();
}
}