Files
2026-04-08 23:40:05 +02:00

97 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x020019E5 RID: 6629
[Token(Token = "0x20019E5")]
[StructLayout(3)]
internal sealed class HTTPCacheFileLock
{
// Token: 0x0600B28E RID: 45710 RVA: 0x0029FA98 File Offset: 0x0029DC98
[Token(Token = "0x600B28E")]
[Address(RVA = "0x1F0DC30", Offset = "0x1F0C630", VA = "0x181F0DC30")]
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<Uri, object> fileLocks = HTTPCacheFileLock.FileLocks;
object obj = new object();
fileLocks.Add(uri, obj);
}
Monitor.Exit(syncRoot);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B28F RID: 45711 RVA: 0x0029FAF0 File Offset: 0x0029DCF0
[Token(Token = "0x600B28F")]
[Address(RVA = "0x1F0DF70", Offset = "0x1F0C970", VA = "0x181F0DF70")]
internal static void Remove(Uri uri)
{
int num;
do
{
num = 0;
object syncRoot = HTTPCacheFileLock.SyncRoot;
if (HTTPCacheFileLock.FileLocks.ContainsKey(uri))
{
bool flag = HTTPCacheFileLock.FileLocks.Remove(uri);
}
Monitor.Exit(syncRoot);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B290 RID: 45712 RVA: 0x0029FB3C File Offset: 0x0029DD3C
[Token(Token = "0x600B290")]
[Address(RVA = "0x1F0DE30", Offset = "0x1F0C830", VA = "0x181F0DE30")]
internal static void Clear()
{
int num;
do
{
num = 0;
object syncRoot = HTTPCacheFileLock.SyncRoot;
HTTPCacheFileLock.FileLocks.Clear();
Monitor.Exit(syncRoot);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B291 RID: 45713 RVA: 0x0029FB70 File Offset: 0x0029DD70
[Token(Token = "0x600B291")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public HTTPCacheFileLock()
{
}
// Token: 0x040075BB RID: 30139
[Token(Token = "0x40075BB")]
private static Dictionary<Uri, object> FileLocks = new Dictionary();
// Token: 0x040075BC RID: 30140
[Token(Token = "0x40075BC")]
private static object SyncRoot = new object();
}
}