Пример #1
0
        public override void AfterUpdate(string name, RavenJObject metadata)
        {
            var revisionFile = actions.PutRevisionFile(name, null, metadata);

            if (revisionFile == null)
            {
                return;
            }

            FileSystem.Storage.Batch(accessor =>
            {
                var start             = 0;
                const int pagesToLoad = 1024;

                FileAndPagesInformation fileWithPages;

                do
                {
                    fileWithPages = accessor.GetFile(name, start, pagesToLoad);

                    foreach (var page in fileWithPages.Pages)
                    {
                        accessor.AssociatePage(revisionFile, page.Id, page.PositionInFile, page.Size);
                    }

                    start += pagesToLoad;
                } while (fileWithPages.Pages.Count == pagesToLoad);

                accessor.CompleteFileUpload(revisionFile);
            });
        }
Пример #2
0
 public override void AfterPut(string name, long?size, RavenJObject metadata)
 {
     actions.PutRevisionFile(name, size, metadata);
 }