Exemplo n.º 1
0
 /// <summary>
 /// 清除所有信息
 /// </summary>
 internal static void Clear()
 {
     errors.Clear();
     exceptions.SetNull();
     messages.Clear();
     isError = isMessage = false;
 }
Exemplo n.º 2
0
 internal void set(Type tableType, HashSet <Type> cacheTypes)
 {
     if (this.cacheTypes == null)
     {
         foreach (MemberCacheWait wait in waits)
         {
             wait.removeCacheType(tableType);
         }
         waits.SetNull();
         set(cacheTypes);
     }
 }
Exemplo n.º 3
0
 /// <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();
         }
     }
 }
Exemplo n.º 4
0
 /// <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;
     }
 }