TDataSetManagerFile Implementation of TDataSetManager handling datasets from root files under a specific directory path
virtual | ~TDataSetManagerFile() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static Bool_t | TDataSetManager::CheckDataSetSrvMaps(TUrl* furl, TString& fn, TList* srvmaplist = 0) |
static Bool_t | TDataSetManager::CheckStagedStatus(TFileInfo* fileInfo, Int_t fopt, Int_t maxfiles, Int_t newstagedfiles, TFileStager* stager, Bool_t createStager, Bool_t dbg, Bool_t& changed, Bool_t& touched, Bool_t& disappeared) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual Int_t | ClearCache(const char* uri = 0) |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
static TString | TDataSetManager::CreateUri(const char* dsGroup = 0, const char* dsUser = 0, const char* dsName = 0, const char* dsTree = 0) |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual Bool_t | ExistsDataSet(const char* uri) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
static Int_t | TDataSetManager::FillMetaData(TFileInfo* fi, TDirectory* d, const char* rdir = "/") |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual Long64_t | TDataSetManager::GetAvgFileSize() const |
virtual TFileCollection* | GetDataSet(const char* uri, const char* srv = 0) |
TFileCollection* | GetDataSet(const char* group, const char* user, const char* dsName, UInt_t option = 0, TMD5** checksum = 0) |
virtual TMap* | GetDataSets(const char* uri, UInt_t option = TDataSetManager::kExport) |
TMap* | GetDataSets(const char* group, const char* user, const char* dsName = 0, UInt_t option = 0) |
static TList* | TDataSetManager::GetDataSetSrvMaps() |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual Long64_t | TDataSetManager::GetGroupQuota(const char* group) |
virtual TMap* | TDataSetManager::GetGroupQuotaMap() |
virtual Long64_t | TDataSetManager::GetGroupUsed(const char* group) |
virtual const char* | TObject::GetIconName() const |
Long_t | GetModTime(const char* uri) |
const char* | GetMSSUrl() const |
virtual const char* | TObject::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
const char* | GetStageOpts() const |
virtual TMap* | TDataSetManager::GetSubDataSets(const char* uri, const char* excludeservers) |
virtual const char* | TObject::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual void | TDataSetManager::MonitorUsedSpace(TVirtualMonitoringWriter* monitoring) |
virtual Bool_t | TObject::Notify() |
virtual Int_t | NotifyUpdate(const char* group, const char* user, const char* dspath, Long_t mtime, const char* checksum = 0) |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
void | TObject::operator delete(void* ptr) |
void | TObject::operator delete(void* ptr, void* vp) |
void | TObject::operator delete[](void* ptr) |
void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
TDataSetManagerFile& | operator=(const TDataSetManagerFile&) |
virtual void | TObject::Paint(Option_t* option = "") |
static TList* | TDataSetManager::ParseDataSetSrvMaps(const TString& srvmaps) |
virtual void | ParseInitOpts(const char* opts) |
Bool_t | TDataSetManager::ParseUri(const char* uri, TString* dsGroup = 0, TString* dsUser = 0, TString* dsName = 0, TString* dsTree = 0, Bool_t onlyCurrent = kFALSE, Bool_t wildcards = kFALSE) |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
static void | TDataSetManager::ProcessFile(TFileInfo* fileInfo, Int_t sopt, Bool_t checkstg, Bool_t doall, TFileStager* stager, Bool_t createStager, const char* stageopts, Bool_t dbg, Bool_t& changed, Bool_t& opened) |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual Int_t | RegisterDataSet(const char* uri, TFileCollection* dataSet, const char* opt) |
virtual Bool_t | RemoveDataSet(const char* uri) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
virtual Int_t | ScanDataSet(const char* uri, UInt_t option = kReopen | kDebug) |
static Int_t | TDataSetManager::ScanFile(TFileInfo* fileinfo, Bool_t notify) |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | TDataSetManager::SetScanCounters(Int_t t = -1, Int_t o = -1, Int_t d = -1) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual Int_t | ShowCache(const char* uri = 0) |
virtual void | TDataSetManager::ShowDataSets(const char* uri = "*", const char* opt = "") |
virtual void | ShowMembers(TMemberInspector& insp) const |
virtual void | TDataSetManager::ShowQuota(const char* opt) |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
TDataSetManagerFile() | |
TDataSetManagerFile(const char* ins) | |
TDataSetManagerFile(const TDataSetManagerFile&) | |
TDataSetManagerFile(const char* group, const char* user, const char* ins) | |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
Int_t | WriteDataSet(const char* group, const char* user, const char* dsName, TFileCollection* dataset, UInt_t option = 0, TMD5* checksum = 0) |
Bool_t | BrowseDataSets(const char* group, const char* user, const char* dsName, UInt_t option, TObject* target) |
Int_t | ChecksumDataSet(const char* path, const char* md5path, TString& checksum) |
Int_t | CreateLsFile(const char* group, const char* user, Long_t& mtime, TString& checksum) |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
Bool_t | ExistsDataSet(const char* group, const char* user, const char* dsName) |
Int_t | FillLsDataSet(const char* group, const char* user, const char* dsName, TList* out, UInt_t option) |
const char* | GetDataSetPath(const char* group, const char* user, const char* dsName) |
const char* | GetDataSetPath(const char* group, const char* user, const char* dsName, TString& md5path, Bool_t local = kFALSE) |
virtual TMap* | TDataSetManager::GetGroupUsedMap() |
Int_t | TDataSetManager::GetNDisapparedFiles() const |
Int_t | TDataSetManager::GetNOpenedFiles() const |
Int_t | TDataSetManager::GetNTouchedFiles() const |
void | TDataSetManager::GetQuota(const char* group, const char* user, const char* dsName, TFileCollection* dataset) |
virtual TMap* | TDataSetManager::GetUserUsedMap() |
void | Init() |
void | TObject::MakeZombie() |
void | TDataSetManager::PrintDataSet(TFileCollection* fc, Int_t popt = 0) |
void | TDataSetManager::PrintUsedSpace() |
Bool_t | TDataSetManager::ReadGroupConfig(const char* cf = 0) |
Bool_t | RemoveDataSet(const char* group, const char* user, const char* dsName) |
Int_t | ScanDataSet(const char* group, const char* user, const char* dsName, UInt_t option = kReopen | kDebug) |
static Long64_t | TDataSetManager::ToBytes(const char* size = 0) |
virtual void | UpdateUsedSpace() |
Int_t | CheckLocalCache(const char* group, const char* user, const char* dsName = "ls", UInt_t option = 0) |
void | InitLocalCache() |
Long64_t | TDataSetManager::fAvgFileSize | Average file size to be used to estimate the dataset size (in MB) |
TUri | TDataSetManager::fBase | Base URI used to parse dataset names |
TString | TDataSetManager::fCommonGroup | Group that stores the COMMON datasets |
TString | TDataSetManager::fCommonUser | User that stores the COMMON datasets |
TString | TDataSetManager::fGroup | Group to which the owner of this session belongs |
TString | TDataSetManager::fGroupConfigFile | Path to the group config file |
TMap | TDataSetManager::fGroupQuota | Group quotas (read from config file) |
TMap | TDataSetManager::fGroupUsed | <group> --> <used bytes> (TParameter) |
Long_t | TDataSetManager::fMTimeGroupConfig | Last modification of the group config file |
Int_t | TDataSetManager::fNDisappearedFiles | Number of files disappared in the last ScanDataSet operation |
Int_t | TDataSetManager::fNOpenedFiles | Number of files opened in the last ScanDataSet operation |
Int_t | TDataSetManager::fNTouchedFiles | Number of files touched in the last ScanDataSet operation |
TString | TDataSetManager::fUser | Owner of the session |
TMap | TDataSetManager::fUserUsed | <group> --> <map of users> --> <value> |
static TString | TDataSetManager::fgCommonDataSetTag | Name for common datasets, default: COMMON |
static TList* | TDataSetManager::fgDataSetSrvMaps | List of TPair(TRegexp, TObjString) for mapping server coordinates |
Int_t | fCacheUpdatePeriod | Period for checking for new updated information |
TString | fDataSetDir | Location of datasets |
TString | fDataSetLockFile | Dataset lock file |
Bool_t | fIsRemote | True if the repository is remote |
TString | fListFile | File to check repository updates |
TString | fLocalCacheDir | Local cache when the repository is remote |
Int_t | fLockFileTimeLimit | Limit in seconds after a lock automatically expires |
TString | fMSSUrl | URL for the Mass Storage System |
Bool_t | fOpenPerms | True if file permissions must be open |
TString | fStageOpts | Option string to be used in issuing staging requests |
Bool_t | fUseCache | True if the cache is used for browsing remote repositories |
Parse the input string and set the init bits accordingly Format is dir:<datasetdir> [mss:<mss-url>] [opt:<base-options>] The <datasetdir> is mandatory. See TDataSetManager::ParseInitOpts for the available base options. The base options are already initialized by the base constructor
Returns path of the indicated dataset. The extension is '.root' for all files except for 'dsName==ls' which have extension '.txt'. If 'local' is kTRUE the local cache path is returned instead in the form <cachedir>/<group>.<user>.<dsName>.<ext>. NB: contains a static TString for result, so copy result before using twice.
Save into the <datasetdir>/kDataSet_DataSetList file the name of the updated or created or modified dataset. For still existing datasets, fill the modification date in seconds anf the checksum. Returns 0 on success, -1 on error
Adds the dataset in the folder of group, user to the list in target. If dsName is defined, only the information about the specified dataset is processed. The unsigned int 'option' is forwarded to GetDataSet and BrowseDataSet. Available options (to be .or.ed): kPrint print the dataset content kQuotaUpdate update quotas kExport use export naming kList get a list of dataset names NB1: options "kPrint", "kQuoatUpdate" and "kExport" are mutually exclusive NB2: for options "kPrint" and "kQuotaUpdate" return is null.
General purpose call to go through the existing datasets. If <user> is 0 or "*", act on all datasets for the given <group>. If <group> is 0 or "*", act on all datasets. If <dsName> is defined, only the information about the specified dataset is processed. Action depends on option; available options: kExport Return a TMap object containing all the information about datasets in the form: { <group>, <map of users> } | { <map of datasets>, <dataset>} (<dataset> are TFileCollection objects) kShowDefault as kExport with in addition a default selection including the datasets from the current user, the ones from the group and the common ones kPrint print the dataset content; no output is returned kList get a list of available dataset names kForceScan Re-open files while processing kPrint (do not use the pre-processed information) kNoHeaderPrint Labelling header is not printed kQuotaUpdate update {group, user} quotas; no output is returned NB1: options "kPrint", "kQuoatUpdate" and "kExport" are mutually exclusive NB2: for options "kPrint" and "kQuoatUpdate" return is null.
Returns the dataset <dsName> of user <user> in group <group> . If checksum is non-zero, it will contain the pointer to a TMD5 sum object with the checksum of the file, has to be deleted by the user. If option has the bi kReadShort set, the shortobject is read, that does not contain the list of files. This is much faster.
Check if the local cache information for group, user, dsName is up-to-date If not, make the relevant updates Return 0 if OK, 1 if the dataset does not exists anymore, -1 on failure
Writes indicated dataset. If option has the bit kFileMustExist set, the file must still exist, otherwise the new dataset is not written (returns 3 in this case). If checksum is non-zero the files current checksum is checked against it, if it does not match the file is not written (the function returns 2 in this case, if the file has disappeared it is also not written (i.e. checksum implies the bit kFileMustExist set in option). Returns != 0 for success, 0 for error
Calculate the checksum of the indicated dataset at 'path' and save it to the appropriate file 'md5path'. The MD5 string is returned in 'md5sum'. Return 0 on success, -1 on error.
Removes the indicated dataset
Checks if the indicated dataset exits
Register a dataset, perfoming quota checkings and verification, if required. If a dataset with the same name already exists the action fails unless 'opts' contains 'O', in which case the old dataset is overwritten, or contains 'U', in which case 'newDataSet' is added to the existing dataset (duplications are ignored, if any). If 'opts' contains 'V' the dataset files are also verified (if the dataset manager is configured to allow so). By default the dataset is not verified. If 'opts' contains 'T' the in the dataset object (status bits, meta,...) is trusted, i.e. not reset (if the dataset manager is configured to allow so). Returns 0 on success, -1 on failure
Scans the dataset indicated by <uri> and returns the number of missing files. Returns -1 if any failure occurs, >= 0 on success. For more details, see documentation of ScanDataSet(TFileCollection *dataset, const char *option)
See documentation of ScanDataSet(TFileCollection *dataset, UInt_t option)
Returns all datasets for the <group> and <user> specified by <uri>. If <user> is 0, it returns all datasets for the given <group>. If <group> is 0, it returns all datasets. The returned TMap contains: <group> --> <map of users> --> <map of datasets> --> <dataset> (TFileCollection) The unsigned int 'option' is forwarded to GetDataSet and BrowseDataSet. Available options (to be .or.ed): kShowDefault a default selection is shown that include the ones from the current user, the ones from the group and the common ones kPrint print the dataset content kQuotaUpdate update quotas kExport use export naming NB1: options "kPrint", "kQuoatUpdate" and "kExport" are mutually exclusive NB2: for options "kPrint" and "kQuoatUpdate" return is null.
Utility function used in various methods for user dataset upload.
Gets last dataset modification time. Returns -1 on error, or number of seconds since epoch on success