77 lines
2.1 KiB
C#
77 lines
2.1 KiB
C#
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<Uri, object> 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<Uri, object> 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<Uri, object> FileLocks = new Dictionary();
|
|
|
|
// Token: 0x040083FF RID: 33791
|
|
[Token(Token = "0x40083FF")]
|
|
private static object SyncRoot = new object();
|
|
}
|
|
}
|