97 lines
2.3 KiB
C#
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();
|
|
}
|
|
}
|