/// <summary>
 /// 搜索树字典获取数据
 /// </summary>
 /// <param name="dictionary">搜索树字典</param>
 /// <param name="skipCount">跳过记录数</param>
 /// <param name="getCount">获取记录数</param>
 /// <param name="parser">参数解析</param>
 internal SearchTreeDictionaryGetter(Cache.Value.SearchTreeDictionary <keyType, valueType> dictionary, int skipCount, int getCount, ref OperationParameter.NodeParser parser)
 {
     OnReturn        = parser.OnReturn;
     cache           = parser.Cache;
     this.dictionary = dictionary;
     this.skipCount  = skipCount;
     this.getCount   = getCount;
     parser.OnReturn = null;
 }
示例#2
0
 /// <summary>
 /// 缓存快照
 /// </summary>
 /// <param name="cache">缓存管理</param>
 /// <param name="isLoadArraySize"></param>
 internal Cache(AutoCSer.CacheServer.CacheManager cache, bool isLoadArraySize)
 {
     if (cache.Array.Length != 0)
     {
         dataStructures = cache.DataStructures.Values
                          .getLeftArray(value => new ServerDataStructure(value))
                          .GetSortDesc(value => value.Identity.Index);
         if (isLoadArraySize)
         {
             array = cache.Array.copy();
             cache.FreeIndexs.SortDesc();
             step = 1;
         }
         else
         {
             step = 2;
         }
         stream = new UnmanagedStream(64 << 10);
     }
     else
     {
         step = 4;
     }
 }
 /// <summary>
 /// 异步操作
 /// </summary>
 /// <param name="cache">缓存管理</param>
 /// <param name="buffer">操作数据缓冲区</param>
 /// <param name="onOperation">操作完成回调</param>
 internal OperationAsynchronous(AutoCSer.CacheServer.CacheManager cache, Buffer buffer, Func <AutoCSer.Net.TcpServer.ReturnValue <ReturnParameter>, bool> onOperation)
 {
     this.cache       = cache;
     this.buffer      = buffer;
     this.onOperation = onOperation;
 }
示例#4
0
 /// <summary>
 /// 缓存管理 TCP 服务器端同步调用
 /// </summary>
 /// <param name="cache">缓存管理</param>
 /// <param name="type">调用类型</param>
 internal CacheManager(AutoCSer.CacheServer.CacheManager cache, CacheManagerServerCallType type)
 {
     this.cache = cache;
     this.type  = type;
 }
 /// <summary>
 /// 异步操作
 /// </summary>
 /// <param name="cache">缓存管理</param>
 /// <param name="parameter">短路径操作参数</param>
 /// <param name="onOperation">操作完成回调</param>
 internal ShortPathOperationAsynchronous(AutoCSer.CacheServer.CacheManager cache, ref OperationParameter.ShortPathOperationNode parameter, Func <AutoCSer.Net.TcpServer.ReturnValue <ReturnParameter>, bool> onOperation)
 {
     this.cache       = cache;
     this.parameter   = parameter;
     this.onOperation = onOperation;
 }
示例#6
0
 /// <summary>
 /// 获取缓存数据
 /// </summary>
 /// <param name="cache">缓存管理</param>
 /// <param name="onCache">获取缓存数据回调委托</param>
 internal GetCache(AutoCSer.CacheServer.CacheManager cache, Func <AutoCSer.Net.TcpServer.ReturnValue <CacheReturnParameter>, bool> onCache)
 {
     this.cache   = cache;
     this.onCache = onCache;
 }