/// <summary> /// 清除所有信息 /// </summary> internal static void Clear() { errors.Clear(); exceptions.SetNull(); messages.Clear(); isError = isMessage = false; }
internal void set(Type tableType, HashSet <Type> cacheTypes) { if (this.cacheTypes == null) { foreach (MemberCacheWait wait in waits) { wait.removeCacheType(tableType); } waits.SetNull(); set(cacheTypes); } }
/// <summary> /// 错误处理 /// </summary> private void error() { if (Interlocked.CompareExchange(ref isError, 1, 0) == 0) { client.isLoaded = false; AutoCSer.Threading.ThreadPool.TinyBackground.Start(client.onError); array.SetNull(); if (keepCallback != null) { keepCallback.Dispose(); } } }
/// <summary> /// 缓存管理 /// </summary> /// <param name="config">缓存服务配置</param> /// <param name="tcpServer">缓存服务</param> internal CacheManager(MasterServerConfig config, AutoCSer.Net.TcpInternalServer.Server tcpServer) { Config = config; TcpServer = tcpServer; tcpQueue = tcpServer.CallQueue; shortPaths = new ShortPathItem[config.GetShortPathCount]; if (config.IsFile) { disposeHandle = Dispose; IsFile = true; File = new FileStreamWriter(this, config); foreach (Cache.MessageQueue.Node messageQueue in LoadMessageQueues) { messageQueue.Start(); } LoadMessageQueues.SetNull(); IsLoaded = CanWrite = true; AutoCSer.DomainUnload.Unloader.Add(disposeHandle, DomainUnload.Type.Action); } else { IsLoaded = CanWrite = true; } }