comparison OrthancServer/Sources/Database/StatelessDatabaseOperations.h @ 5061:e95fadefeb72

new MaximumStorageMode configuration
author Alain Mazy <am@osimis.io>
date Tue, 09 Aug 2022 17:57:38 +0200
parents 6fed78e13233
children 0ea402b4d901
comparison
equal deleted inserted replaced
5060:e69a3ff39bc5 5061:e95fadefeb72
409 409
410 void Recycle(uint64_t maximumStorageSize, 410 void Recycle(uint64_t maximumStorageSize,
411 unsigned int maximumPatients, 411 unsigned int maximumPatients,
412 uint64_t addedInstanceSize, 412 uint64_t addedInstanceSize,
413 const std::string& newPatientId); 413 const std::string& newPatientId);
414
415 bool HasReachedMaxStorageSize(uint64_t maximumStorageSize,
416 uint64_t addedInstanceSize);
417
418 bool HasReachedMaxPatientCount(unsigned int maximumPatientCount,
419 const std::string& patientId);
420
421 bool IsRecyclingNeeded(uint64_t maximumStorageSize,
422 unsigned int maximumPatients,
423 uint64_t addedInstanceSize,
424 const std::string& newPatientId);
414 }; 425 };
415 426
416 427
417 class IReadOnlyOperations : public boost::noncopyable 428 class IReadOnlyOperations : public boost::noncopyable
418 { 429 {
455 466
456 void ApplyInternal(IReadOnlyOperations* readOperations, 467 void ApplyInternal(IReadOnlyOperations* readOperations,
457 IReadWriteOperations* writeOperations); 468 IReadWriteOperations* writeOperations);
458 469
459 protected: 470 protected:
460 void StandaloneRecycling(uint64_t maximumStorageSize, 471 void StandaloneRecycling(MaxStorageMode maximumStorageMode,
472 uint64_t maximumStorageSize,
461 unsigned int maximumPatientCount); 473 unsigned int maximumPatientCount);
462 474
463 public: 475 public:
464 explicit StatelessDatabaseOperations(IDatabaseWrapper& database); 476 explicit StatelessDatabaseOperations(IDatabaseWrapper& database);
465 477
656 bool overwrite, 668 bool overwrite,
657 bool hasTransferSyntax, 669 bool hasTransferSyntax,
658 DicomTransferSyntax transferSyntax, 670 DicomTransferSyntax transferSyntax,
659 bool hasPixelDataOffset, 671 bool hasPixelDataOffset,
660 uint64_t pixelDataOffset, 672 uint64_t pixelDataOffset,
673 MaxStorageMode maximumStorageMode,
661 uint64_t maximumStorageSize, 674 uint64_t maximumStorageSize,
662 unsigned int maximumPatients, 675 unsigned int maximumPatients,
663 bool isReconstruct); 676 bool isReconstruct);
664 677
665 StoreStatus AddAttachment(int64_t& newRevision /*out*/, 678 StoreStatus AddAttachment(int64_t& newRevision /*out*/,