|
|
|||
File indexing completed on 2025-11-30 10:25:50
0001 /// \file ROOT/RNTupleWriteOptionsDaos.hxx 0002 /// \ingroup NTuple 0003 /// \author Jakob Blomer <jblomer@cern.ch> 0004 /// \date 2024-02-22 0005 /// \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback 0006 /// is welcome! 0007 0008 /************************************************************************* 0009 * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. * 0010 * All rights reserved. * 0011 * * 0012 * For the licensing terms see $ROOTSYS/LICENSE. * 0013 * For the list of contributors see $ROOTSYS/README/CREDITS. * 0014 *************************************************************************/ 0015 0016 #ifndef ROOT_RNTupleWriteOptionsDaos 0017 #define ROOT_RNTupleWriteOptionsDaos 0018 0019 #include <ROOT/RNTupleWriteOptions.hxx> 0020 0021 #include <cstdint> 0022 #include <memory> 0023 #include <string> 0024 #include <utility> 0025 0026 namespace ROOT { 0027 namespace Experimental { 0028 0029 // clang-format off 0030 /** 0031 \class ROOT::Experimental::RNTupleWriteOptionsDaos 0032 \ingroup NTuple 0033 \brief DAOS-specific user-tunable settings for storing ntuples 0034 */ 0035 // clang-format on 0036 class RNTupleWriteOptionsDaos : public ROOT::RNTupleWriteOptions { 0037 std::string fObjectClass{"SX"}; 0038 /// The maximum cage size is set to the equivalent of 16 uncompressed pages - 16MiB by default. 0039 /// A `fMaxCageSize` of 0 disables the caging mechanism. 0040 uint32_t fMaxCageSize = 16 * RNTupleWriteOptions::fMaxUnzippedPageSize; 0041 0042 public: 0043 ~RNTupleWriteOptionsDaos() override = default; 0044 std::unique_ptr<RNTupleWriteOptions> Clone() const override 0045 { 0046 return std::make_unique<RNTupleWriteOptionsDaos>(*this); 0047 } 0048 0049 const std::string &GetObjectClass() const { return fObjectClass; } 0050 /// Set the object class used to generate OIDs that relate to user data. Any 0051 /// `OC_xxx` constant defined in `daos_obj_class.h` may be used here without 0052 /// the OC_ prefix. 0053 void SetObjectClass(const std::string &val) { fObjectClass = val; } 0054 0055 uint32_t GetMaxCageSize() const { return fMaxCageSize; } 0056 /// Set the upper bound for page concatenation into cages, in bytes. It is assumed 0057 /// that cage size will be no smaller than the approximate uncompressed page size. 0058 /// To disable page concatenation, set this value to 0. 0059 void SetMaxCageSize(uint32_t cageSz) { fMaxCageSize = cageSz; } 0060 }; 0061 0062 } // namespace Experimental 0063 } // namespace ROOT 0064 0065 #endif // ROOT_RNTupleWriteOptionsDaos
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|