20void EnsureValidTunables(std::size_t zippedClusterSize, std::size_t unzippedClusterSize,
21 std::size_t initialUnzippedPageSize, std::size_t maxUnzippedPageSize)
23 if (zippedClusterSize == 0) {
26 if (initialUnzippedPageSize == 0) {
29 if (maxUnzippedPageSize == 0) {
32 if (zippedClusterSize > unzippedClusterSize) {
34 "maximum uncompressed cluster size"));
36 if (initialUnzippedPageSize > maxUnzippedPageSize) {
39 if (maxUnzippedPageSize > unzippedClusterSize) {
41 "maximum uncompressed cluster size"));
49 return std::make_unique<RNTupleWriteOptions>(*
this);
79 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