21void EnsureValidTunables(std::size_t zippedClusterSize, std::size_t unzippedClusterSize,
22 std::size_t initialUnzippedPageSize, std::size_t maxUnzippedPageSize)
24 if (zippedClusterSize == 0) {
27 if (initialUnzippedPageSize == 0) {
30 if (maxUnzippedPageSize == 0) {
33 if (zippedClusterSize > unzippedClusterSize) {
35 "maximum uncompressed cluster size"));
37 if (initialUnzippedPageSize > maxUnzippedPageSize) {
40 if (maxUnzippedPageSize > unzippedClusterSize) {
42 "maximum uncompressed cluster size"));
50 return std::make_unique<RNTupleWriteOptions>(*
this);
80 throw RException(
R__FAIL(
"same page merging requires page checksums, which were previously disabled"));
#define R__FAIL(msg)
Short-hand to return an RResult<T> in an error state; the RError is implicitly converted into RResult...
Base class for all ROOT issued exceptions.
std::size_t GetPageBufferBudget() const
void SetMaxUnzippedClusterSize(std::size_t val)
std::size_t fMaxUnzippedPageSize
std::size_t GetApproxZippedClusterSize() const
std::size_t fInitialUnzippedPageSize
std::size_t fPageBufferBudget
std::size_t fMaxUnzippedClusterSize
void SetMaxUnzippedPageSize(std::size_t val)
void SetInitialUnzippedPageSize(std::size_t val)
virtual std::unique_ptr< RNTupleWriteOptions > Clone() const
void SetEnableSamePageMerging(bool val)
void SetApproxZippedClusterSize(std::size_t val)
std::size_t fApproxZippedClusterSize
std::uint32_t GetCompression() const
bool fEnableSamePageMerging
bool fEnablePageChecksums