ROOT » NET » NETXNG » TNetXNGFile

class TNetXNGFile: public TFile


TNetXNGFile

Authors: Justin Salmon, Lukasz Janyst
CERN, 2013

Enables access to XRootD files using the new client.


Function Members (Methods)

public:
virtual~TNetXNGFile()
voidTObject::AbstractMethod(const char* method) const
virtual voidTDirectoryFile::Add(TObject* obj, Bool_t replace = kFALSE)
static voidTDirectory::AddDirectory(Bool_t add = kTRUE)
static Bool_tTDirectory::AddDirectoryStatus()
virtual voidTDirectoryFile::Append(TObject* obj, Bool_t replace = kFALSE)
virtual Int_tTDirectoryFile::AppendKey(TKey* key)
virtual voidTObject::AppendPad(Option_t* option = "")
static TFileOpenHandle*TFile::AsyncOpen(const char* name, Option_t* option = "", const char* ftitle = "", Int_t compress = 1, Int_t netopt = 0)
virtual voidTDirectoryFile::Browse(TBrowser* b)
virtual voidTDirectoryFile::Build(TFile* motherFile = 0, TDirectory* motherDir = 0)
virtual Bool_tTDirectoryFile::cd(const char* path = 0)
static Bool_tTDirectory::Cd(const char* path)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTDirectory::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual TObject*TDirectoryFile::CloneObject(const TObject* obj, Bool_t autoadd = kTRUE)
virtual voidClose(const Option_t* option = "")
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTFile::Copy(TObject&) const
virtual Bool_tTFile::Cp(const char* dst, Bool_t progressbar = kTRUE, UInt_t buffersize = 1000000)
static Bool_tTFile::Cp(const char* src, const char* dst, Bool_t progressbar = kTRUE, UInt_t buffersize = 1000000)
virtual TKey*TFile::CreateKey(TDirectory* mother, const TObject* obj, const char* name, Int_t bufsize)
virtual TKey*TFile::CreateKey(TDirectory* mother, const void* obj, const TClass* cl, const char* name, Int_t bufsize)
static TDirectory*&TDirectory::CurrentDirectory()
static TFile*&TFile::CurrentFile()
static voidTDirectory::DecodeNameCycle(const char* namecycle, char* name, Short_t& cycle, const size_t namesize = 0)
virtual voidTFile::Delete(const char* namecycle = "")
virtual voidTDirectory::DeleteAll(Option_t* option = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTFile::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTFile::DrawMap(const char* keys = "*", Option_t* option = "")MENU
virtual voidTObject::Dump() constMENU
static voidTDirectory::EncodeNameCycle(char* buffer, const char* name, Short_t cycle)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTFile::FillBuffer(char*& buffer)
virtual TKey*TDirectoryFile::FindKey(const char* keyname) const
virtual TKey*TDirectoryFile::FindKeyAny(const char* keyname) const
virtual TObject*TDirectory::FindObject(const char* name) const
virtual TObject*TDirectory::FindObject(const TObject* obj) const
virtual TObject*TDirectoryFile::FindObjectAny(const char* name) const
virtual TObject*TDirectoryFile::FindObjectAnyFile(const char* name) const
virtual voidFlush()
virtual TObject*TDirectoryFile::Get(const char* namecycle)
TArchiveFile*TFile::GetArchive() const
Long64_tTFile::GetArchiveOffset() const
static TFile::EAsyncOpenStatusTFile::GetAsyncOpenStatus(const char* name)
static TFile::EAsyncOpenStatusTFile::GetAsyncOpenStatus(TFileOpenHandle* handle)
Int_tTFile::GetBestBuffer() const
virtual Int_tTDirectoryFile::GetBufferSize() const
virtual Long64_tTFile::GetBytesRead() const
virtual Long64_tTFile::GetBytesReadExtra() const
virtual Int_tTFile::GetBytesToPrefetch() const
virtual Long64_tTFile::GetBytesWritten() const
static const char*TFile::GetCacheFileDir()
TFileCacheRead*TFile::GetCacheRead(TObject* tree = 0) const
TFileCacheWrite*TFile::GetCacheWrite() const
TArrayC*TFile::GetClassIndex() const
Int_tTFile::GetCompressionAlgorithm() const
Float_tTFile::GetCompressionFactor()
Int_tTFile::GetCompressionLevel() const
Int_tTFile::GetCompressionSettings() const
const TDatime&TDirectoryFile::GetCreationDate() const
virtual TDirectory*TDirectoryFile::GetDirectory(const char* apath, Bool_t printError = false, const char* funcname = "GetDirectory")
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Long64_tTFile::GetEND() const
virtual const TUrl*TFile::GetEndpointUrl() const
static const TUrl*TFile::GetEndpointUrl(const char* name)
virtual Int_tTFile::GetErrno() const
Int_tTFile::GetFd() const
virtual TFile*TDirectoryFile::GetFile() const
static Long64_tTFile::GetFileBytesRead()
static Long64_tTFile::GetFileBytesWritten()
static Long64_tTFile::GetFileCounter()
static Int_tTFile::GetFileReadCalls()
virtual const char*TObject::GetIconName() const
virtual TKey*TDirectoryFile::GetKey(const char* name, Short_t cycle = 9999) const
virtual TList*TDirectory::GetList() const
TList*TFile::GetListOfFree() const
virtual TList*TDirectoryFile::GetListOfKeys() const
TObjArray*TFile::GetListOfProcessIDs() const
const TDatime&TDirectoryFile::GetModificationDate() const
virtual TObject*TDirectory::GetMother() const
virtual TDirectory*TDirectory::GetMotherDir() const
virtual const char*TNamed::GetName() const
virtual Int_tTFile::GetNbytesFree() const
virtual Int_tTFile::GetNbytesInfo() const
virtual Int_tTDirectoryFile::GetNbytesKeys() const
virtual TStringGetNewUrl()
virtual Int_tTFile::GetNfree() const
virtual Int_tTDirectoryFile::GetNkeys() const
virtual Int_tTFile::GetNProcessIDs() const
virtual void*TDirectoryFile::GetObjectChecked(const char* namecycle, const char* classname)
virtual void*TDirectoryFile::GetObjectChecked(const char* namecycle, const TClass* cl)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual void*TDirectoryFile::GetObjectUnchecked(const char* namecycle)
static Bool_tTFile::GetOnlyStaged()
static UInt_tTFile::GetOpenTimeout()
virtual Option_t*TFile::GetOption() const
virtual const char*TDirectory::GetPath() const
virtual const char*TDirectory::GetPathStatic() const
static Int_tTFile::GetReadaheadSize()
virtual Int_tTFile::GetReadCalls() const
static Bool_tTFile::GetReadStreamerInfo()
Int_tTFile::GetRecordHeader(char* buf, Long64_t first, Int_t maxbytes, Int_t& nbytes, Int_t& objlen, Int_t& keylen)
Long64_tTFile::GetRelOffset() const
virtual Long64_tTDirectoryFile::GetSeekDir() const
virtual Long64_tTFile::GetSeekFree() const
virtual Long64_tTFile::GetSeekInfo() const
virtual Long64_tTDirectoryFile::GetSeekKeys() const
virtual Long64_tTDirectoryFile::GetSeekParent() const
virtual Long64_tGetSize() const
const TList*TFile::GetStreamerInfoCache()
virtual TList*TFile::GetStreamerInfoList()
virtual const char*TNamed::GetTitle() const
static TFile::EFileTypeTFile::GetType(const char* name, Option_t* option = "", TString* prefix = 0)
virtual UInt_tTObject::GetUniqueID() const
TUUIDTDirectory::GetUUID() const
Int_tTFile::GetVersion() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
static voidTFile::IncrementFileCounter()
virtual voidTFile::IncrementProcessIDs()
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidInit(Bool_t create)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTFile::IsArchive() const
Bool_tTFile::IsBinary() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTDirectory::IsFolder() const
virtual Bool_tTDirectoryFile::IsModified() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsOpen() const
Bool_tTFile::IsRaw() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTDirectoryFile::IsWritable() const
Bool_tTObject::IsZombie() const
virtual voidTFile::ls(Option_t* option = "") const
virtual voidTFile::MakeFree(Long64_t first, Long64_t last)
virtual voidTFile::MakeProject(const char* dirname, const char* classes = "*", Option_t* option = "new")MENU
virtual voidTFile::Map()MENU
virtual Bool_tTFile::Matches(const char* name)
voidTObject::MayNotUse(const char* method) const
virtual TDirectory*TDirectoryFile::mkdir(const char* name, const char* title = "")
virtual Bool_tTFile::MustFlush() const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static TFile*TFile::Open(TFileOpenHandle* handle)
static TFile*TFile::Open(const char* name, Option_t* option = "", const char* ftitle = "", Int_t compress = 1, Int_t netopt = 0)
virtual TFile*TDirectoryFile::OpenFile(const char* name, Option_t* option = "", const char* ftitle = "", Int_t compress = 1, Int_t netopt = 0)
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
voidTObject::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)
virtual voidTFile::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTFile::Print(Option_t* option = "") const
virtual voidTDirectoryFile::Purge(Short_t nkeep = 1)
virtual voidTDirectory::pwd() const
virtual Int_tTObject::Read(const char* name)
virtual voidTDirectoryFile::ReadAll(Option_t* option = "")
virtual Bool_tReadBuffer(char* buffer, Int_t length)
virtual Bool_tReadBuffer(char* buffer, Long64_t position, Int_t length)
virtual Bool_tTFile::ReadBufferAsync(Long64_t offs, Int_t len)
virtual Bool_tReadBuffers(char* buffer, Long64_t* position, Int_t* length, Int_t nbuffs)
virtual voidTFile::ReadFree()
virtual Int_tTDirectoryFile::ReadKeys(Bool_t forceRead = kTRUE)
virtual TProcessID*TFile::ReadProcessID(UShort_t pidf)
virtual voidTFile::ReadStreamerInfo()
virtual Int_tTDirectoryFile::ReadTObject(TObject* obj, const char* keyname)
virtual Int_tTFile::Recover()
virtual voidTDirectory::RecursiveRemove(TObject* obj)
virtual TObject*TDirectory::Remove(TObject*)
virtual Int_tReOpen(Option_t* modestr)
virtual voidTDirectoryFile::ResetAfterMerge(TFileMergeInfo*)
voidTObject::ResetBit(UInt_t f)
virtual voidTFile::ResetErrno() const
virtual voidTDirectoryFile::rmdir(const char* name)
virtual voidTDirectoryFile::Save()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual Int_tTDirectoryFile::SaveObjectAs(const TObject* obj, const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
virtual voidTDirectoryFile::SaveSelf(Bool_t force = kFALSE)
virtual voidSeek(Long64_t offset, TFile::ERelativeTo position = kBeg)
virtual voidSetAsyncOpenStatus(TFile::EAsyncOpenStatus status)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTDirectoryFile::SetBufferSize(Int_t bufsize)
static Bool_tTFile::SetCacheFileDir(const char* cacheDir, Bool_t operateDisconnected = kTRUE, Bool_t forceCacheread = kFALSE)
virtual voidTFile::SetCacheRead(TFileCacheRead* cache, TObject* tree = 0, TFile::ECacheAction action = kDisconnect)
virtual voidTFile::SetCacheWrite(TFileCacheWrite* cache)
virtual voidTFile::SetCompressionAlgorithm(Int_t algorithm = 0)
virtual voidTFile::SetCompressionLevel(Int_t level = 1)
virtual voidTFile::SetCompressionSettings(Int_t settings = 1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTFile::SetEND(Long64_t last)
static voidTFile::SetFileBytesRead(Long64_t bytes = 0)
static voidTFile::SetFileBytesWritten(Long64_t bytes = 0)
static voidTFile::SetFileReadCalls(Int_t readcalls = 0)
virtual voidTDirectoryFile::SetModified()
virtual voidTDirectory::SetMother(TObject* mother)
virtual voidTDirectory::SetName(const char* newname)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTFile::SetOffset(Long64_t offset, TFile::ERelativeTo pos = kBeg)
static Bool_tTFile::SetOnlyStaged(Bool_t onlystaged)
static UInt_tTFile::SetOpenTimeout(UInt_t timeout)
virtual voidTFile::SetOption(Option_t* option = ">")
static voidTFile::SetReadaheadSize(Int_t bufsize = 256000)
virtual voidTFile::SetReadCalls(Int_t readcalls = 0)
static voidTFile::SetReadStreamerInfo(Bool_t readinfo = kTRUE)
virtual voidTDirectoryFile::SetSeekDir(Long64_t v)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTDirectoryFile::SetTRefAction(TObject* ref, TObject* parent)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidTDirectoryFile::SetWritable(Bool_t writable = kTRUE)
virtual voidShowMembers(TMemberInspector& insp) const
virtual voidTFile::ShowStreamerInfo()
static Bool_tTFile::ShrinkCacheFileDir(Long64_t shrinkSize, Long_t cleanupInteval = 0)
virtual Int_tTFile::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
voidTFile::SumBuffer(Int_t bufsize)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
TNetXNGFile()
TNetXNGFile(const char* url, Option_t* mode = "", const char* title = "", Int_t compress = 1, Int_t netopt = 0, Bool_t parallelopen = kFALSE)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTFile::Write(const char* name = 0, Int_t opt = 0, Int_t bufsiz = 0)
virtual Int_tTFile::Write(const char* name = 0, Int_t opt = 0, Int_t bufsiz = 0) const
virtual Bool_tWriteBuffer(const char* buffer, Int_t length)
virtual voidTDirectoryFile::WriteDirHeader()
virtual voidTFile::WriteFree()
virtual voidTFile::WriteHeader()
virtual voidTDirectoryFile::WriteKeys()
virtual Int_tTDirectoryFile::WriteObjectAny(const void* obj, const char* classname, const char* name, Option_t* option = "", Int_t bufsize = 0)
virtual Int_tTDirectoryFile::WriteObjectAny(const void* obj, const TClass* cl, const char* name, Option_t* option = "", Int_t bufsize = 0)
virtual UShort_tTFile::WriteProcessID(TProcessID* pid)
virtual voidTFile::WriteStreamerInfo()
virtual Int_tTDirectoryFile::WriteTObject(const TObject* obj, const char* name = 0, Option_t* option = "", Int_t bufsize = 0)
protected:
Bool_tTDirectory::cd1(const char* path)
static Bool_tTDirectory::Cd1(const char* path)
virtual voidTDirectoryFile::CleanTargets()
virtual Long64_tTFile::DirCreateEntry(TDirectory*)
virtual Int_tTFile::DirReadKeys(TDirectory*)
virtual voidTFile::DirWriteHeader(TDirectory*)
virtual voidTFile::DirWriteKeys(TDirectory*)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTDirectory::FillFullPath(TString& buf) const
Bool_tTFile::FlushWriteCache()
virtual TFile::EAsyncOpenStatusTFile::GetAsyncOpenStatus()
Int_tTFile::MakeProjectParMake(const char* packname, const char* filename)
Int_tTFile::MakeProjectParProofInf(const char* packname, const char* proofinfdir)
voidTObject::MakeZombie()
Int_tTFile::ReadBufferViaCache(char* buf, Int_t len)
voidTDirectory::RegisterContext(TDirectory::TContext* ctxt)
virtual Int_tTFile::SysClose(Int_t fd)
virtual Int_tTFile::SysOpen(const char* pathname, Int_t flags, UInt_t mode)
virtual Int_tTFile::SysRead(Int_t fd, void* buf, Int_t len)
virtual Long64_tTFile::SysSeek(Int_t fd, Long64_t offset, Int_t whence)
virtual Int_tTFile::SysStat(Int_t fd, Long_t* id, Long64_t* size, Long_t* flags, Long_t* modtime)
virtual Int_tTFile::SysSync(Int_t fd)
virtual Int_tTFile::SysWrite(Int_t fd, const void* buf, Int_t len)
voidTDirectory::UnregisterContext(TDirectory::TContext* ctxt)
Int_tTFile::WriteBufferViaCache(const char* buf, Int_t len)
private:
virtual Bool_tGetVectorReadLimits()
virtual Bool_tIsUseable() const
TNetXNGFile&operator=(const TNetXNGFile& other)
Int_tParseOpenMode(Option_t* in, TString& modestr, XrdCl::OpenFlags::Flags& mode, Bool_t assumeRead)
virtual voidSetEnv()
TNetXNGFile(const TNetXNGFile& other)

Data Members

public:
static TFile::EAsyncOpenStatusTFile::kAOSFailure
static TFile::EAsyncOpenStatusTFile::kAOSInProgress
static TFile::EAsyncOpenStatusTFile::kAOSNotAsync
static TFile::EAsyncOpenStatusTFile::kAOSSuccess
static TFile::ERelativeToTFile::kBeg
static TFile::EStatusBitsTFile::kBinaryFile
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TDirectoryFile::(anonymous)TDirectoryFile::kCloseDirectory
static TFile::ERelativeToTFile::kCur
static TFile::EFileTypeTFile::kDefault
static TFile::EStatusBitsTFile::kDevNull
static TFile::ECacheActionTFile::kDisconnect
static TFile::ECacheActionTFile::kDoNotDisconnect
static TFile::ERelativeToTFile::kEnd
static TFile::EOpenTimeOutTFile::kEternalTimeout
static TFile::EFileTypeTFile::kFile
static TFile::EStatusBitsTFile::kHasReferences
static TObject::EStatusBitsTObject::kHasUUID
static TFile::EOpenTimeOutTFile::kInstantTimeout
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TFile::EFileTypeTFile::kLocal
static TFile::EFileTypeTFile::kMerge
static TObject::EStatusBitsTObject::kMustCleanup
static TFile::EFileTypeTFile::kNet
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TFile::EStatusBitsTFile::kRecovered
static TFile::EStatusBitsTFile::kRedirected
static TObject::(anonymous)TObject::kSingleKey
static TFile::(anonymous)TFile::kStartBigFile
static TFile::EFileTypeTFile::kWeb
static TObject::(anonymous)TObject::kWriteDelete
static TFile::EStatusBitsTFile::kWriteError
static TObject::(anonymous)TObject::kZombie
protected:
TArchiveFile*TFile::fArchive!Archive file from which we read this file
Long64_tTFile::fArchiveOffset!Offset at which file starts in archive
TFileOpenHandle*TFile::fAsyncHandle!For proper automatic cleanup
TFile::EAsyncOpenStatusTFile::fAsyncOpenStatus!Status of an asynchronous open request
Long64_tTFile::fBEGINFirst used byte in file
Int_tTDirectoryFile::fBufferSizeDefault buffer size to create new TKeys
Long64_tTFile::fBytesReadNumber of bytes read from this file
Long64_tTFile::fBytesReadExtraNumber of extra bytes (overhead) read by the readahead buffer
Long64_tTFile::fBytesWriteNumber of bytes written to this file
TFileCacheRead*TFile::fCacheRead!Pointer to the read cache (if any)
TMap*TFile::fCacheReadMap!Pointer to the read cache (if any)
TFileCacheWrite*TFile::fCacheWrite!Pointer to the write cache (if any)
TArrayC*TFile::fClassIndex!Index of TStreamerInfo classes written to this file
Int_tTFile::fCompressCompression level and algorithm
TDirectory::TContext*TDirectory::fContext!Pointer to a list of TContext object pointing to this TDirectory
Int_tTFile::fDFile descriptor
TDatimeTDirectoryFile::fDatimeCDate and time when directory is created
TDatimeTDirectoryFile::fDatimeMDate and time of last modification
Long64_tTFile::fENDLast used byte in file
TFile*TDirectoryFile::fFilepointer to current file in memory
TList*TFile::fFreeFree segments linked list table
TList*TFile::fInfoCache!Cached list of the streamer infos in this file
Bool_tTFile::fInitDone!True if the file has been initialized
Bool_tTFile::fIsArchive!True if this is a pure archive file
Bool_tTFile::fIsPcmFile!True if the file is a ROOT pcm file.
Bool_tTFile::fIsRootFile!True is this is a ROOT file, raw file otherwise
TList*TDirectoryFile::fKeysPointer to keys list in memory
TList*TDirectory::fListList of objects in memory
Bool_tTDirectoryFile::fModifiedtrue if directory has been modified
TObject*TDirectory::fMotherpointer to mother of the directory
Bool_tTFile::fMustFlush!True if the file buffers must be flushed
Int_tTFile::fNProcessIDsNumber of TProcessID written to this file
TStringTNamed::fNameobject identifier
Int_tTFile::fNbytesFreeNumber of bytes for free segments structure
Int_tTFile::fNbytesInfoNumber of bytes for StreamerInfo record
Int_tTDirectoryFile::fNbytesKeysNumber of bytes for the keys
Int_tTDirectoryFile::fNbytesNameNumber of bytes in TNamed at creation time
Bool_tTFile::fNoAnchorInName!True if we don't want to force the anchor to be appended to the file name
Long64_tTFile::fOffset!Seek offset cache
TList*TFile::fOpenPhases!Time info about open phases
TStringTFile::fOptionFile options
TStringTDirectory::fPathBuffer!Buffer for GetPath() function
TObjArray*TFile::fProcessIDs!Array of pointers to TProcessIDs
Int_tTFile::fReadCallsNumber of read calls ( not counting the cache calls )
TStringTFile::fRealNameEffective real file name (not original url)
Long64_tTDirectoryFile::fSeekDirLocation of directory on file
Long64_tTFile::fSeekFreeLocation on disk of free segments structure
Long64_tTFile::fSeekInfoLocation on disk of StreamerInfo record
Long64_tTDirectoryFile::fSeekKeysLocation of Keys record on file
Long64_tTDirectoryFile::fSeekParentLocation of parent directory on file
Double_tTFile::fSum2BufferSum of squares of buffer sizes of objects written so far
Double_tTFile::fSumBufferSum of buffer sizes of objects written so far
TStringTNamed::fTitleobject title
TUUIDTDirectory::fUUIDUnique identifier
Char_tTFile::fUnitsNumber of bytes for file pointers
TUrlTFile::fUrl!URL of file
Int_tTFile::fVersionFile format version
Bool_tTDirectoryFile::fWritabletrue if directory is writable
Int_tTFile::fWrittenNumber of objects written so far
static Bool_tTDirectory::fgAddDirectory!flag to add histograms, graphs,etc to the directory
static TList*TFile::fgAsyncOpenRequestsList of handles for pending open requests
static atomic<Long64_t>TFile::fgBytesReadNumber of bytes read by all TFile objects
static atomic<Long64_t>TFile::fgBytesWriteNumber of bytes written by all TFile objects
static TStringTFile::fgCacheFileDirDirectory where to locally stage files
static Bool_tTFile::fgCacheFileDisconnectedIndicates, we trust in the files in the cache dir without stat on the cached file
static Bool_tTFile::fgCacheFileForceIndicates, to force all READ to CACHEREAD
static atomic<Long64_t>TFile::fgFileCounterCounter for all opened files
static Bool_tTFile::fgOnlyStagedBefore the file is opened, it is checked, that the file is staged, if not, the open fails
static UInt_tTFile::fgOpenTimeoutTimeout for open operations in ms - 0 corresponds to blocking i/o
static atomic<Int_t>TFile::fgReadCallsNumber of bytes read from all TFile objects
static Bool_tTFile::fgReadInfoif true (default) ReadStreamerInfo is called when opening a file
static Int_tTFile::fgReadaheadSizeReadahead buffer size
private:
XrdCl::File*fFileUnderlying XRootD file
XrdSysCondVar*fInitCondVarUsed to block an async open request
XrdCl::OpenFlags::FlagsfModeOpen mode of the current file
TStringfNewUrl
Int_tfQueryReadVParams
Int_tfReadvIorMaxMax size of a single readv chunk
Int_tfReadvIovMaxMax number of readv chunks
XrdCl::URL*fUrlURL of the current file

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TNetXNGFile(const char* url, Option_t* mode = "", const char* title = "", Int_t compress = 1, Int_t netopt = 0, Bool_t parallelopen = kFALSE)
 Constructor

 param url:          URL of the entry-point server to be contacted
 param mode:         initial file access mode
 param title:        title of the file (shown by ROOT browser)
 param compress:     compression level and algorithm
 param netopt:       TCP window size in bytes (unused)
 param parallelopen: open asynchronously
~TNetXNGFile()
 Destructor
void Init(Bool_t create)
 Initialize the file. Makes sure that the file is really open before
 calling TFile::Init. It may block.
Long64_t GetSize() const
 Get the file size. Returns -1 in the case that the file could not be
 stat'ed.
Bool_t IsOpen() const
 Check if the file is open
void SetAsyncOpenStatus(TFile::EAsyncOpenStatus status)
 Set the status of an asynchronous file open
void Close(const Option_t* option = "")
 Close the file

 param option: if == "R", all TProcessIDs referenced by this file are
               deleted (is this valid in xrootd context?)
Int_t ReOpen(Option_t* modestr)
 Reopen the file with the new access mode

 param mode: the new access mode
 returns:    0 in case the mode was successfully modified, 1 in case
             the mode did not change (was already as requested or wrong
             input arguments) and -1 in case of failure, in which case
             the file cannot be used anymore
Bool_t ReadBuffer(char* buffer, Int_t length)
 Read a data chunk of the given size

 param buffer: a pointer to a buffer big enough to hold the data
 param length: number of bytes to be read
 returns:      kTRUE in case of failure
Bool_t ReadBuffer(char* buffer, Long64_t position, Int_t length)
 Read a data chunk of the given size, starting from the given offset

 param buffer:   a pointer to a buffer big enough to hold the data
 param position: offset from the beginning of the file
 param length:   number of bytes to be read
 returns:        kTRUE in case of failure
Bool_t ReadBuffers(char* buffer, Long64_t* position, Int_t* length, Int_t nbuffs)
 Read scattered data chunks in one operation

 param buffer:   a pointer to a buffer big enough to hold all of the
                 requested data
 param position: position[i] is the seek position of chunk i of len
                 length[i]
 param length:   length[i] is the length of the chunk at offset
                 position[i]
 param nbuffs:   number of chunks
 returns:        kTRUE in case of failure
Bool_t WriteBuffer(const char* buffer, Int_t length)
 Write a data chunk

 param buffer: the data to be written
 param length: the size of the buffer
 returns:      kTRUE in case of failure
void Flush()
void Seek(Long64_t offset, TFile::ERelativeTo position = kBeg)
 Set the position within the file

 param offset:   the new offset relative to position
 param position: the relative position, either kBeg, kCur or kEnd
Int_t ParseOpenMode(Option_t* in, TString& modestr, XrdCl::OpenFlags::Flags& mode, Bool_t assumeRead)
 Parse a file open mode given as a string into a canonically formatted
 output mode string and an integer code that the xroot client can use

 param    in:         the file open mode as a string (in)
          modestr:    open mode string after parsing (out)
          mode:       correctly parsed option mode code (out)
          assumeRead: if the open mode is not recognised assume read (in)
 returns:             0 in case the mode was successfully parsed,
                     -1 in case of failure
Bool_t IsUseable() const
 Check the file is open and isn't a zombie
Bool_t GetVectorReadLimits()
 Find the server-specific readv config params. Returns kFALSE in case of
 error, kTRUE otherwise.
void SetEnv()
 Map ROOT and xrootd environment variables
TNetXNGFile()
{}
TNetXNGFile(const char* url, Option_t* mode = "", const char* title = "", Int_t compress = 1, Int_t netopt = 0, Bool_t parallelopen = kFALSE)
TString GetNewUrl()
{ return fNewUrl; }