Exemplo n.º 1
0
 /// <summary>byte[] -> PointRkdTreeDData</summary>
 public static PointRkdTreeDData BufferToPointRkdTreeDData(byte[] buffer)
 {
     if (buffer == null)
     {
         return(null);
     }
     using (var ms = new MemoryStream(buffer))
         using (var coder = new BinaryReadingCoder(ms))
         {
             object o = null;
             coder.Code(ref o);
             return((PointRkdTreeDData)o);
         }
 }
Exemplo n.º 2
0
        /// <summary></summary>
        public static PointRkdTreeDData GetPointRkdTreeDData(this Storage storage, string key, CancellationToken ct)
        {
            var data = storage.f_tryGetFromCache(key, ct);

            if (data != null)
            {
                return((PointRkdTreeDData)data);
            }

            var buffer = storage.f_get(key, ct);

            if (buffer == null)
            {
                return(null);
            }
            using (var ms = new MemoryStream(buffer))
                using (var coder = new BinaryReadingCoder(ms))
                {
                    coder.Code(ref data);
                }
            storage.f_add(key, data, null, ct);
            return((PointRkdTreeDData)data);
        }