Mercurial > hg > orthanc
diff OrthancServer/Sources/ServerJobs/ArchiveJob.h @ 4797:4e765c18ace7 storage-cache
enable using multiple threads to load instances when generating zip archive/media
author | Alain Mazy <am@osimis.io> |
---|---|
date | Thu, 07 Oct 2021 13:31:36 +0200 |
parents | cdab941fe17d |
children | 7afbb54bd028 |
line wrap: on
line diff
--- a/OrthancServer/Sources/ServerJobs/ArchiveJob.h Thu Sep 30 12:14:19 2021 +0200 +++ b/OrthancServer/Sources/ServerJobs/ArchiveJob.h Thu Oct 07 13:31:36 2021 +0200 @@ -55,10 +55,14 @@ class ResourceIdentifiers; class ZipCommands; class ZipWriterIterator; - + class InstanceLoader; + class SynchronousInstanceLoader; + class ThreadedInstanceLoader; + std::unique_ptr<ZipWriter::IOutputStream> synchronousTarget_; // Only valid before "Start()" std::unique_ptr<TemporaryFile> asynchronousTarget_; ServerContext& context_; + std::unique_ptr<InstanceLoader> instanceLoader_; boost::shared_ptr<ArchiveIndex> archive_; bool isMedia_; bool enableExtendedSopClass_; @@ -75,6 +79,9 @@ bool transcode_; DicomTransferSyntax transferSyntax_; + // New in Orthanc 1.9.8 + unsigned int loaderThreads_; + void FinalizeTarget(); public: @@ -97,6 +104,8 @@ void SetTranscode(DicomTransferSyntax transferSyntax); + void SetLoaderThreads(unsigned int loaderThreads); + virtual void Reset() ORTHANC_OVERRIDE; virtual void Start() ORTHANC_OVERRIDE;