示例#1
0
        /// <inheritdoc />
        public async Task <T> GetArchivedObject <T>(long id, int revision, string typename = null)
        {
            typename ??= typeof(T).Name;

            ArchivedObject data = await load.ExecuteEntityAsync(typename, id, revision);

            if (data == null)
            {
                throw new NotFoundException(typeof(ArchivedObject), $"{typeof(T).Name}/{id}.{revision}");
            }

            await using MemoryStream source = new MemoryStream(data.Data);
            await using GZipStream gzip     = new GZipStream(source, CompressionMode.Decompress);

            return(Json.Read <T>(gzip));
        }
示例#2
0
 public void AddStoredObject(ArchivedObject o)
 {
     objects.Add(o.path, o);
 }