Example #1
0
    public static byte[] Get(string name)
    {
        var dic = GetFileList();

        if (dic == null)
        {
            return((byte[])DataCache.Get(name));
        }
        if (dic.ContainsKey(name))
        {
            var list  = dic[name];
            var input = new List <byte[]>();
            var cache = DataCache;
            list = list.OrderBy(x => x.Item2).ToList();
            for (int i = 0; i < list.Count; i++)
            {
                input.Add(cache.Get(list[i].Item1) as byte[]);
            }

            var holder = new CachingObjectHolder(name, input);
            return(CacheHelper.Join(holder));
        }
        else
        {
            return((byte[])DataCache.Get(name));
        }
    }
Example #2
0
    public static byte[] Join(CachingObjectHolder cachingObjectHolder)
    {
        var totalByteSize = cachingObjectHolder.Partials.Sum(x => x.Length);
        var output        = new byte[totalByteSize];
        var globalCounter = 0;

        for (int i = 0; i < cachingObjectHolder.Partials.Count; i++)
        {
            for (int j = 0; j < cachingObjectHolder.Partials[i].Length; j++)
            {
                output[globalCounter] = cachingObjectHolder.Partials[i][j];
                globalCounter++;
            }
        }

        return(output);
    }