Logo ROOT   6.16/01
Reference Guide
List of all members | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
TXNetFile Class Reference

Definition at line 55 of file TXNetFile.h.

Public Member Functions

 TXNetFile ()
 
 TXNetFile (const char *url, Option_t *option="", const char *fTitle="", Int_t compress=1, Int_t netopt=0, Bool_t parallelopen=kFALSE, const char *logicalurl=0)
 Create a TXNetFile object. More...
 
virtual ~TXNetFile ()
 Destructor. More...
 
virtual void Close (const Option_t *opt="")
 Close the file (see TNetFile::Close() or TFile::Close() for more details). More...
 
virtual void Flush ()
 Flushes un-written data. More...
 
virtual TFile::EAsyncOpenStatus GetAsyncOpenStatus ()
 Return status of asynchronous request. More...
 
virtual Int_t GetBytesToPrefetch () const
 Max number of bytes to prefetch. More...
 
virtual Bool_t IsOpen () const
 Return kTRUE if the file is open, kFALSE otherwise. More...
 
virtual void Print (Option_t *option="") const
 Print the local statistics. More...
 
virtual Bool_t ReadBuffer (char *buf, Int_t len)
 Override TNetFile::ReadBuffer to deal with the xrootd server. More...
 
virtual Bool_t ReadBuffer (char *buf, Long64_t pos, Int_t len)
 Pass through to TNetFile implementation which will call back eventually to our ReadBuffer with 2 arguments to deal with xrootd errors. More...
 
virtual Bool_t ReadBufferAsync (Long64_t offs, Int_t len)
 Implementation dealing with the xrootd server. More...
 
virtual Bool_t ReadBuffers (char *buf, Long64_t *pos, Int_t *len, Int_t nbuf)
 Read the nbuf blocks described in arrays pos and len, where pos[i] is the seek position of block i of length len[i]. More...
 
virtual Int_t ReOpen (const Option_t *mode)
 Re-open the file (see TNetFile::ReOpen() or TFile::ReOpen() for more details). More...
 
virtual void ResetCache ()
 Reset the cache. More...
 
virtual Bool_t WriteBuffer (const char *buffer, Int_t BufferLength)
 Override TNetFile::WriteBuffer to deal with the xrootd server. More...
 
- Public Member Functions inherited from TNetFile
 TNetFile ()
 
 TNetFile (const char *url, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseGeneralPurpose, Int_t netopt=0)
 Create a TNetFile object. More...
 
virtual ~TNetFile ()
 TNetFile dtor. Send close message and close socket. More...
 
void Close (Option_t *option="")
 Close remote file. More...
 
void Flush ()
 Flush file to disk. More...
 
const TUrlGetEndpointUrl () const
 
Int_t GetErrorCode () const
 
Bool_t IsOpen () const
 Retruns kTRUE if file is open, kFALSE otherwise. More...
 
Bool_t Matches (const char *url)
 Return kTRUE if 'url' matches the coordinates of this file. More...
 
Bool_t ReadBuffer (char *buf, Int_t len)
 Read specified byte range from remote file via rootd daemon. More...
 
Bool_t ReadBuffer (char *buf, Long64_t pos, Int_t len)
 Read specified byte range from remote file via rootd daemon. More...
 
Bool_t ReadBuffers (char *buf, Long64_t *pos, Int_t *len, Int_t nbuf)
 Read a list of buffers given in pos[] and len[] and return it in a single buffer. More...
 
Int_t ReOpen (Option_t *mode)
 Reopen a file with a different access mode, like from READ to UPDATE or from NEW, CREATE, RECREATE, UPDATE to READ. More...
 
void Seek (Long64_t offset, ERelativeTo pos=kBeg)
 Set position from where to start reading. More...
 
Bool_t WriteBuffer (const char *buf, Int_t len)
 Write specified byte range to remote file via rootd daemon. More...
 
- Public Member Functions inherited from TFile
 TFile ()
 File default Constructor. More...
 
 TFile (const char *fname, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseGeneralPurpose)
 Opens or creates a local ROOT file. More...
 
virtual ~TFile ()
 File destructor. More...
 
virtual void Close (Option_t *option="")
 Close a file. More...
 
virtual void Copy (TObject &) const
 Copy this to obj. More...
 
virtual Bool_t Cp (const char *dst, Bool_t progressbar=kTRUE, UInt_t buffersize=1000000)
 Allows to copy this file to the dst URL. More...
 
virtual TKeyCreateKey (TDirectory *mother, const TObject *obj, const char *name, Int_t bufsize)
 Creates key for object and converts data to buffer. More...
 
virtual TKeyCreateKey (TDirectory *mother, const void *obj, const TClass *cl, const char *name, Int_t bufsize)
 Creates key for object and converts data to buffer. More...
 
virtual void Delete (const char *namecycle="")
 Delete object namecycle. More...
 
virtual void Draw (Option_t *option="")
 Fill Graphics Structure and Paint. More...
 
virtual void DrawMap (const char *keys="*", Option_t *option="")
 Draw map of objects in this file. More...
 
virtual void FillBuffer (char *&buffer)
 Encode file output buffer. More...
 
virtual void Flush ()
 Synchronize a file's in-memory and on-disk states. More...
 
TArchiveFileGetArchive () const
 
Long64_t GetArchiveOffset () const
 
Int_t GetBestBuffer () const
 Return the best buffer size of objects on this file. More...
 
virtual Long64_t GetBytesRead () const
 
virtual Long64_t GetBytesReadExtra () const
 
virtual Int_t GetBytesToPrefetch () const
 Max number of bytes to prefetch. More...
 
virtual Long64_t GetBytesWritten () const
 Return the total number of bytes written so far to the file. More...
 
TFileCacheReadGetCacheRead (const TObject *tree=0) const
 Return a pointer to the current read cache. More...
 
TFileCacheWriteGetCacheWrite () const
 Return a pointer to the current write cache. More...
 
TArrayCGetClassIndex () const
 
Int_t GetCompressionAlgorithm () const
 
Float_t GetCompressionFactor ()
 Return the file compression factor. More...
 
Int_t GetCompressionLevel () const
 
Int_t GetCompressionSettings () const
 
virtual Long64_t GetEND () const
 
virtual const TUrlGetEndpointUrl () const
 
virtual Int_t GetErrno () const
 Method returning errno. Is overriden in TRFIOFile. More...
 
Int_t GetFd () const
 
TListGetListOfFree () const
 
TObjArrayGetListOfProcessIDs () const
 
virtual Int_t GetNbytesFree () const
 
virtual Int_t GetNbytesInfo () const
 
virtual TString GetNewUrl ()
 
virtual Int_t GetNfree () const
 
virtual Int_t GetNProcessIDs () const
 
Option_tGetOption () const
 
virtual Int_t GetReadCalls () const
 
Int_t GetRecordHeader (char *buf, Long64_t first, Int_t maxbytes, Int_t &nbytes, Int_t &objlen, Int_t &keylen)
 Read the logical record header starting at a certain postion. More...
 
Long64_t GetRelOffset () const
 
virtual Long64_t GetSeekFree () const
 
virtual Long64_t GetSeekInfo () const
 
virtual Long64_t GetSize () const
 Returns the current file size. More...
 
const TListGetStreamerInfoCache ()
 Returns the cached list of StreamerInfos used in this file. More...
 
virtual TListGetStreamerInfoList () final
 Read the list of TStreamerInfo objects written to this file. More...
 
Int_t GetVersion () const
 
virtual void IncrementProcessIDs ()
 
virtual Bool_t IsArchive () const
 
Bool_t IsBinary () const
 
virtual Bool_t IsOpen () const
 Returns kTRUE in case file is open and kFALSE if file is not open. More...
 
Bool_t IsRaw () const
 
virtual void ls (Option_t *option="") const
 List file contents. More...
 
virtual void MakeFree (Long64_t first, Long64_t last)
 Mark unused bytes on the file. More...
 
virtual void MakeProject (const char *dirname, const char *classes="*", Option_t *option="new")
 Generate source code necessary to access the objects stored in the file. More...
 
virtual void Map ()
 
virtual void Map (Option_t *opt)
 List the contents of a file sequentially. More...
 
virtual Bool_t Matches (const char *name)
 Return kTRUE if 'url' matches the coordinates of this file. More...
 
virtual Bool_t MustFlush () const
 
virtual void Paint (Option_t *option="")
 Paint all objects in the file. More...
 
virtual void Print (Option_t *option="") const
 Print all objects in the file. More...
 
virtual Bool_t ReadBuffer (char *buf, Int_t len)
 Read a buffer from the file. More...
 
virtual Bool_t ReadBuffer (char *buf, Long64_t pos, Int_t len)
 Read a buffer from the file at the offset 'pos' in the file. More...
 
virtual Bool_t ReadBufferAsync (Long64_t offs, Int_t len)
 
virtual Bool_t ReadBuffers (char *buf, Long64_t *pos, Int_t *len, Int_t nbuf)
 Read the nbuf blocks described in arrays pos and len. More...
 
virtual void ReadFree ()
 Read the FREE linked list. More...
 
virtual TProcessIDReadProcessID (UShort_t pidf)
 The TProcessID with number pidf is read from this file. More...
 
virtual void ReadStreamerInfo ()
 Read the list of StreamerInfo from this file. More...
 
virtual Int_t Recover ()
 Attempt to recover file if not correctly closed. More...
 
virtual Int_t ReOpen (Option_t *mode)
 Reopen a file with a different access mode. More...
 
virtual void ResetErrno () const
 Method resetting the errno. Is overridden in TRFIOFile. More...
 
virtual void Seek (Long64_t offset, ERelativeTo pos=kBeg)
 Seek to a specific position in the file. Pos it either kBeg, kCur or kEnd. More...
 
virtual void SetCacheRead (TFileCacheRead *cache, TObject *tree=0, ECacheAction action=kDisconnect)
 Set a pointer to the read cache. More...
 
virtual void SetCacheWrite (TFileCacheWrite *cache)
 Set a pointer to the write cache. More...
 
virtual void SetCompressionAlgorithm (Int_t algorithm=ROOT::RCompressionSetting::EAlgorithm::kUseGlobal)
 See comments for function SetCompressionSettings. More...
 
virtual void SetCompressionLevel (Int_t level=ROOT::RCompressionSetting::ELevel::kUseMin)
 See comments for function SetCompressionSettings. More...
 
virtual void SetCompressionSettings (Int_t settings=ROOT::RCompressionSetting::EDefaults::kUseGeneralPurpose)
 Used to specify the compression level and algorithm. More...
 
virtual void SetEND (Long64_t last)
 
virtual void SetOffset (Long64_t offset, ERelativeTo pos=kBeg)
 Set position from where to start reading. More...
 
virtual void SetOption (Option_t *option=">")
 
virtual void SetReadCalls (Int_t readcalls=0)
 
virtual void ShowStreamerInfo ()
 Show the StreamerInfo of all classes written to this file. More...
 
virtual Int_t Sizeof () const
 Return the size in bytes of the file header. More...
 
void SumBuffer (Int_t bufsize)
 Increment statistics for buffer sizes of objects in this file. More...
 
virtual Int_t Write (const char *name=0, Int_t opt=0, Int_t bufsiz=0)
 Write memory objects to this file. More...
 
virtual Int_t Write (const char *name=0, Int_t opt=0, Int_t bufsiz=0) const
 One can not save a const TDirectory object. More...
 
virtual Bool_t WriteBuffer (const char *buf, Int_t len)
 Write a buffer to the file. More...
 
virtual void WriteFree ()
 Write FREE linked list on the file. More...
 
virtual void WriteHeader ()
 Write File Header. More...
 
virtual UShort_t WriteProcessID (TProcessID *pid)
 Check if the ProcessID pidd is already in the file, if not, add it and return the index number in the local file list. More...
 
virtual void WriteStreamerInfo ()
 Write the list of TStreamerInfo as a single object in this file The class Streamer description for all classes written to this file is saved. More...
 
- Public Member Functions inherited from TDirectoryFile
 TDirectoryFile ()
 Default Constructor. More...
 
 TDirectoryFile (const char *name, const char *title, Option_t *option="", TDirectory *motherDir=0)
 Create a new TDirectoryFile. More...
 
virtual ~TDirectoryFile ()
 Destructor. More...
 
void Add (TObject *obj, Bool_t replace=kFALSE)
 
virtual void Append (TObject *obj, Bool_t replace=kFALSE)
 Append object to this directory. More...
 
Int_t AppendKey (TKey *key)
 Insert key in the linked list of keys of this directory. More...
 
virtual void Browse (TBrowser *b)
 Browse the content of the directory. More...
 
void Build (TFile *motherFile=0, TDirectory *motherDir=0)
 Initialise directory to defaults. More...
 
virtual Bool_t cd (const char *path=0)
 Change current directory to "this" directory. More...
 
virtual TObjectCloneObject (const TObject *obj, Bool_t autoadd=kTRUE)
 Make a clone of an object using the Streamer facility. More...
 
virtual void Close (Option_t *option="")
 Delete all objects from memory and directory structure itself. More...
 
virtual void Copy (TObject &) const
 Copy this to obj. More...
 
virtual void Delete (const char *namecycle="")
 Delete Objects or/and keys in a directory. More...
 
virtual void FillBuffer (char *&buffer)
 Encode directory header into output buffer. More...
 
virtual TKeyFindKey (const char *keyname) const
 Find key with name keyname in the current directory. More...
 
virtual TKeyFindKeyAny (const char *keyname) const
 Find key with name keyname in the current directory or its subdirectories. More...
 
virtual TObjectFindObjectAny (const char *name) const
 Find object by name in the list of memory objects of the current directory or its sub-directories. More...
 
virtual TObjectFindObjectAnyFile (const char *name) const
 Scan the memory lists of all files for an object with name. More...
 
virtual TObjectGet (const char *namecycle)
 Return pointer to object identified by namecycle. More...
 
virtual Int_t GetBufferSize () const
 Return the buffer size to create new TKeys. More...
 
const TDatimeGetCreationDate () const
 
virtual TDirectoryGetDirectory (const char *apath, Bool_t printError=false, const char *funcname="GetDirectory")
 Find a directory named "apath". More...
 
virtual TFileGetFile () const
 
virtual TKeyGetKey (const char *name, Short_t cycle=9999) const
 Return pointer to key with name,cycle. More...
 
virtual TListGetListOfKeys () const
 
const TDatimeGetModificationDate () const
 
virtual Int_t GetNbytesKeys () const
 
virtual Int_t GetNkeys () const
 
template<class T >
void GetObject (const char *namecycle, T *&ptr)
 
virtual voidGetObjectChecked (const char *namecycle, const char *classname)
 See documentation of TDirectoryFile::GetObjectCheck(const char *namecycle, const TClass *cl) More...
 
virtual voidGetObjectChecked (const char *namecycle, const TClass *cl)
 Return pointer to object identified by namecycle if and only if the actual object is a type suitable to be stored as a pointer to a "expectedClass" If expectedClass is null, no check is performed. More...
 
virtual voidGetObjectUnchecked (const char *namecycle)
 Return pointer to object identified by namecycle. More...
 
virtual Long64_t GetSeekDir () const
 
virtual Long64_t GetSeekKeys () const
 
virtual Long64_t GetSeekParent () const
 
Bool_t IsModified () const
 
Bool_t IsWritable () const
 
virtual void ls (Option_t *option="") const
 List Directory contents. More...
 
virtual TDirectorymkdir (const char *name, const char *title="")
 Create a sub-directory "a" or a hierarchy of sub-directories "a/b/c/...". More...
 
virtual TFileOpenFile (const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseGeneralPurpose, Int_t netopt=0)
 Interface to TFile::Open. More...
 
virtual void Purge (Short_t nkeep=1)
 Purge lowest key cycles in a directory. More...
 
virtual void ReadAll (Option_t *option="")
 Read objects from a ROOT file directory into memory. More...
 
virtual Int_t ReadKeys (Bool_t forceRead=kTRUE)
 Read the linked list of keys. More...
 
virtual Int_t ReadTObject (TObject *obj, const char *keyname)
 Read object with keyname from the current directory. More...
 
virtual void ResetAfterMerge (TFileMergeInfo *)
 Reset the TDirectory after its content has been merged into another Directory. More...
 
virtual void rmdir (const char *name)
 Removes subdirectory from the directory. More...
 
virtual void Save ()
 Save recursively all directory keys and headers. More...
 
virtual Int_t SaveObjectAs (const TObject *obj, const char *filename="", Option_t *option="") const
 Save object in filename. More...
 
virtual void SaveSelf (Bool_t force=kFALSE)
 Save Directory keys and header. More...
 
virtual void SetBufferSize (Int_t bufsize)
 Set the default buffer size when creating new TKeys. More...
 
void SetModified ()
 
void SetSeekDir (Long64_t v)
 
virtual void SetTRefAction (TObject *ref, TObject *parent)
 Find the action to be executed in the dictionary of the parent class and store the corresponding exec number into fBits. More...
 
void SetWritable (Bool_t writable=kTRUE)
 Set the new value of fWritable recursively. More...
 
virtual Int_t Sizeof () const
 Return the size in bytes of the directory header. More...
 
virtual Int_t Write (const char *name=0, Int_t opt=0, Int_t bufsize=0)
 Write all objects in memory to disk. More...
 
virtual Int_t Write (const char *name=0, Int_t opt=0, Int_t bufsize=0) const
 One can not save a const TDirectory object. More...
 
virtual void WriteDirHeader ()
 Overwrite the Directory header record. More...
 
virtual void WriteKeys ()
 Write Keys linked list on the file. More...
 
virtual Int_t WriteObjectAny (const void *obj, const char *classname, const char *name, Option_t *option="", Int_t bufsize=0)
 Write object from pointer of class classname in this directory. More...
 
virtual Int_t WriteObjectAny (const void *obj, const TClass *cl, const char *name, Option_t *option="", Int_t bufsize=0)
 Write object of class with dictionary cl in this directory. More...
 
virtual Int_t WriteTObject (const TObject *obj, const char *name=0, Option_t *option="", Int_t bufsize=0)
 Write object obj to this directory. More...
 
- Public Member Functions inherited from TDirectory
 TDirectory ()
 Directory default constructor. More...
 
 TDirectory (const char *name, const char *title, Option_t *option="", TDirectory *motherDir=0)
 Create a new Directory. More...
 
virtual ~TDirectory ()
 Destructor. More...
 
virtual void Add (TObject *obj, Bool_t replace=kFALSE)
 
virtual void Append (TObject *obj, Bool_t replace=kFALSE)
 Append object to this directory. More...
 
virtual Int_t AppendKey (TKey *)
 
virtual void Browse (TBrowser *b)
 Browse the content of the directory. More...
 
virtual void Build (TFile *motherFile=0, TDirectory *motherDir=0)
 Initialise directory to defaults. More...
 
virtual Bool_t cd (const char *path=0)
 Change current directory to "this" directory. More...
 
virtual void Clear (Option_t *option="")
 Delete all objects from a Directory list. More...
 
virtual TObjectCloneObject (const TObject *obj, Bool_t autoadd=kTRUE)
 Clone an object. More...
 
virtual void Close (Option_t *option="")
 Delete all objects from memory and directory structure itself. More...
 
virtual void Copy (TObject &) const
 Copy this to obj. More...
 
virtual void Delete (const char *namecycle="")
 Delete Objects or/and keys in a directory. More...
 
virtual void DeleteAll (Option_t *option="")
 Delete all objects from memory. More...
 
virtual void Draw (Option_t *option="")
 Fill Graphics Structure and Paint. More...
 
virtual TKeyFindKey (const char *) const
 
virtual TKeyFindKeyAny (const char *) const
 
virtual TObjectFindObject (const char *name) const
 Find object by name in the list of memory objects. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Find object in the list of memory objects. More...
 
virtual TObjectFindObjectAny (const char *name) const
 Find object by name in the list of memory objects of the current directory or its sub-directories. More...
 
virtual TObjectFindObjectAnyFile (const char *) const
 
virtual TObjectGet (const char *namecycle)
 Return pointer to object identified by namecycle. More...
 
virtual Int_t GetBufferSize () const
 
virtual TDirectoryGetDirectory (const char *namecycle, Bool_t printError=false, const char *funcname="GetDirectory")
 Find a directory using apath. More...
 
virtual TFileGetFile () const
 
virtual TKeyGetKey (const char *, Short_t=9999) const
 
virtual TListGetList () const
 
virtual TListGetListOfKeys () const
 
virtual TObjectGetMother () const
 
virtual TDirectoryGetMotherDir () const
 
virtual Int_t GetNbytesKeys () const
 
virtual Int_t GetNkeys () const
 
template<class T >
void GetObject (const char *namecycle, T *&ptr)
 
virtual voidGetObjectChecked (const char *namecycle, const char *classname)
 See documentation of TDirectory::GetObjectCheck(const char *namecycle, const TClass *cl) More...
 
virtual voidGetObjectChecked (const char *namecycle, const TClass *cl)
 Return pointer to object identified by namecycle if and only if the actual object is a type suitable to be stored as a pointer to a "expectedClass" If expectedClass is null, no check is performed. More...
 
virtual voidGetObjectUnchecked (const char *namecycle)
 Return pointer to object identified by namecycle. More...
 
virtual const char * GetPath () const
 Returns the full path of the directory. More...
 
virtual const char * GetPathStatic () const
 Returns the full path of the directory. More...
 
virtual Long64_t GetSeekDir () const
 
virtual Long64_t GetSeekKeys () const
 
virtual Long64_t GetSeekParent () const
 
TUUID GetUUID () const
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsModified () const
 
virtual Bool_t IsWritable () const
 
virtual void ls (Option_t *option="") const
 List Directory contents. More...
 
virtual TDirectorymkdir (const char *name, const char *title="")
 Create a sub-directory "a" or a hierarchy of sub-directories "a/b/c/...". More...
 
virtual TFileOpenFile (const char *, Option_t *="", const char *="", Int_t=1, Int_t=0)
 
virtual void Paint (Option_t *option="")
 Paint all objects in the directory. More...
 
virtual void Print (Option_t *option="") const
 Print all objects in the directory. More...
 
virtual void Purge (Short_t=1)
 
virtual void pwd () const
 Print the path of the directory. More...
 
virtual void ReadAll (Option_t *="")
 
virtual Int_t ReadKeys (Bool_t=kTRUE)
 
virtual Int_t ReadTObject (TObject *, const char *)
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove object from a Directory. More...
 
virtual TObjectRemove (TObject *)
 Remove an object from the in-memory list. More...
 
virtual void rmdir (const char *name)
 Removes subdirectory from the directory When directory is deleted, all keys in all subdirectories will be read first and deleted from file (if exists) Equivalent call is Delete("name;*");. More...
 
virtual void Save ()
 
virtual Int_t SaveObjectAs (const TObject *, const char *="", Option_t *="") const
 Save object in filename, if filename is 0 or "", a file with "objectname.root" is created. More...
 
virtual void SaveSelf (Bool_t=kFALSE)
 
virtual void SetBufferSize (Int_t)
 
virtual void SetModified ()
 
virtual void SetMother (TObject *mother)
 
virtual void SetName (const char *newname)
 Set the name for directory If the directory name is changed after the directory was written once, ROOT currently would NOT change the name of correspondent key in the mother directory. More...
 
virtual void SetSeekDir (Long64_t)
 
virtual void SetTRefAction (TObject *, TObject *)
 
virtual void SetWritable (Bool_t)
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
virtual Int_t Write (const char *=0, Int_t=0, Int_t=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *=0, Int_t=0, Int_t=0) const
 Write this object to the current directory. More...
 
virtual void WriteDirHeader ()
 
virtual void WriteKeys ()
 
template<class T >
Int_t WriteObject (const T *obj, const char *name, Option_t *option="", Int_t bufsize=0)
 
virtual Int_t WriteObjectAny (const void *, const char *, const char *, Option_t *="", Int_t=0)
 
virtual Int_t WriteObjectAny (const void *, const TClass *, const char *, Option_t *="", Int_t=0)
 
virtual Int_t WriteTObject (const TObject *obj, const char *name=0, Option_t *="", Int_t=0)
 See TDirectoryFile::WriteTObject for details. More...
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor. More...
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor. More...
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual void SetName (const char *name)
 Set the name of the TNamed. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Private Member Functions

 TXNetFile (const TXNetFile &)
 
void CreateXClient (const char *url, Option_t *option, Int_t netopt, Bool_t parallelopen)
 The real creation work is done here. More...
 
void Init (Bool_t create)
 Initialize the file. More...
 
Bool_t Open (Option_t *option, Bool_t parallelopen)
 The real creation work is done here. More...
 
TXNetFileoperator= (const TXNetFile &)
 
Int_t ParseOptions (const char *opts, Int_t &cachesz, Int_t &readaheadsz, Int_t &rmpolicy, Int_t &mxredir, Int_t &rastrategy, Int_t &readtrimblksz)
 Parse input options for cache parameters. More...
 
void SynchronizeCacheSize ()
 Synchronize the cache size Alternative purging policy. More...
 
Int_t SysClose (Int_t fd)
 Override TNetFile::SysClose (see parent's method for more details). More...
 
Int_t SysOpen (const char *pathname, Int_t flags, UInt_t mode)
 Override TNetFile::SysOpen (see parent's method for more details). More...
 
Int_t SysStat (Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime)
 Override TNetFile::SysStat (see parent's method for more details). More...
 

Static Private Member Functions

static void FormUrl (TUrl uut, TString &uu)
 Form url for rootd socket. More...
 
static Int_t GetRootdProtocol (TSocket *s)
 Find out the remote rootd protocol version. More...
 
static void SetEnv ()
 Set the relevant environment variables. More...
 

Private Attributes

XrdClient * fClient
 
voidfInitMtx
 
Bool_t fIsRootd
 

Static Private Attributes

static TFileStagerfgFileStager = 0
 
static Bool_t fgInitDone = kFALSE
 
static Bool_t fgRootdBC = kTRUE
 

Friends

class TXNetSystem
 

Additional Inherited Members

- Public Types inherited from TFile
enum  { kStartBigFile = 2000000000 }
 
enum  EAsyncOpenStatus { kAOSNotAsync = -1 , kAOSFailure = 0 , kAOSInProgress = 1 , kAOSSuccess = 2 }
 Asynchronous open request status. More...
 
enum  ECacheAction { kDisconnect = 0 , kDoNotDisconnect = 1 }
 TTreeCache flushing semantics. More...
 
enum  EFileType {
  kDefault = 0 , kLocal = 1 , kNet = 2 , kWeb = 3 ,
  kFile = 4 , kMerge = 5
}
 File type. More...
 
enum  EOpenTimeOut { kInstantTimeout = 0 , kEternalTimeout = 999999999 }
 Open timeout constants. More...
 
enum  ERelativeTo { kBeg = 0 , kCur = 1 , kEnd = 2 }
 
enum  EStatusBits {
  kRecovered = BIT(10) , kHasReferences = BIT(11) , kDevNull = BIT(12) , kWriteError = BIT(14) ,
  kBinaryFile = BIT(15) , kRedirected = BIT(16)
}
 TFile status bits. BIT(13) is taken up by TObject. More...
 
- Public Types inherited from TDirectoryFile
enum  { kCloseDirectory = BIT(7) }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) ,
  kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13)
}
 
- Static Public Member Functions inherited from TFile
static TFileOpenHandleAsyncOpen (const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseGeneralPurpose, Int_t netopt=0)
 Submit an asynchronous open request. More...
 
static Bool_t Cp (const char *src, const char *dst, Bool_t progressbar=kTRUE, UInt_t buffersize=1000000)
 Allows to copy file from src to dst URL. More...
 
static TFile *& CurrentFile ()
 Return the current ROOT file if any. More...
 
static EAsyncOpenStatus GetAsyncOpenStatus (const char *name)
 Get status of the async open request related to 'name'. More...
 
static EAsyncOpenStatus GetAsyncOpenStatus (TFileOpenHandle *handle)
 Get status of the async open request related to 'handle'. More...
 
static const char * GetCacheFileDir ()
 Get the directory where to locally stage/cache remote files. More...
 
static const TUrlGetEndpointUrl (const char *name)
 Get final URL for file being opened asynchronously. More...
 
static Long64_t GetFileBytesRead ()
 Static function returning the total number of bytes read from all files. More...
 
static Long64_t GetFileBytesWritten ()
 Static function returning the total number of bytes written to all files. More...
 
static Long64_t GetFileCounter ()
 
static Int_t GetFileReadCalls ()
 Static function returning the total number of read calls from all files. More...
 
static Bool_t GetOnlyStaged ()
 Returns staged only flag. More...
 
static UInt_t GetOpenTimeout ()
 Returns open timeout (in ms). More...
 
static Int_t GetReadaheadSize ()
 Static function returning the readahead buffer size. More...
 
static Bool_t GetReadStreamerInfo ()
 If the streamerinfos are to be read at file opening. More...
 
static EFileType GetType (const char *name, Option_t *option="", TString *prefix=0)
 Resolve the file type as a function of the protocol field in 'name'. More...
 
static void IncrementFileCounter ()
 
static TFileOpen (const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseGeneralPurpose, Int_t netopt=0)
 Create / open a file. More...
 
static TFileOpen (TFileOpenHandle *handle)
 Waits for the completion of an asynchronous open request. More...
 
static Bool_t SetCacheFileDir (ROOT::Internal::TStringView cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE)
 
static Bool_t SetCacheFileDir (std::string_view cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE)
 Sets the directory where to locally stage/cache remote files. More...
 
static void SetFileBytesRead (Long64_t bytes=0)
 
static void SetFileBytesWritten (Long64_t bytes=0)
 
static void SetFileReadCalls (Int_t readcalls=0)
 
static Bool_t SetOnlyStaged (Bool_t onlystaged)
 Sets only staged flag. More...
 
static UInt_t SetOpenTimeout (UInt_t timeout)
 Sets open timeout time (in ms). Returns previous timeout value. More...
 
static void SetReadaheadSize (Int_t bufsize=256000)
 
static void SetReadStreamerInfo (Bool_t readinfo=kTRUE)
 Specify if the streamerinfos must be read at file opening. More...
 
static Bool_t ShrinkCacheFileDir (Long64_t shrinkSize, Long_t cleanupInteval=0)
 Try to shrink the cache to the desired size. More...
 
- Static Public Member Functions inherited from TDirectory
static void AddDirectory (Bool_t add=kTRUE)
 Sets the flag controlling the automatic add objects like histograms, TGraph2D, etc in memory. More...
 
static Bool_t AddDirectoryStatus ()
 Static function: see TDirectory::AddDirectory for more comments. More...
 
static Bool_t Cd (const char *path)
 Change current directory to "path". More...
 
static TDirectory *& CurrentDirectory ()
 Return the current directory for the current thread. More...
 
static void DecodeNameCycle (const char *namecycle, char *name, Short_t &cycle, const size_t namesize=0)
 Decode a namecycle "aap;2" into name "aap" and cycle "2". More...
 
static void EncodeNameCycle (char *buffer, const char *name, Short_t cycle)
 Encode the name and cycle into buffer like: "aap;2". More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Protected Member Functions inherited from TNetFile
 TNetFile (const char *url, const char *ftitle, Int_t comp, Bool_t)
 Create a TNetFile object. More...
 
 TNetFile (const TNetFile &)
 
virtual void ConnectServer (Int_t *stat, EMessageTypes *kind, Int_t netopt, Int_t tcpwindowsize, Bool_t forceOpen, Bool_t forceRead)
 Connect to remote rootd server. More...
 
virtual void Create (const char *url, Option_t *option, Int_t netopt)
 Create a NetFile object. More...
 
virtual void Create (TSocket *s, Option_t *option, Int_t netopt)
 Create a NetFile object using an existing connection (socket s). More...
 
void Init (Bool_t create)
 Initialize a TNetFile object. More...
 
TNetFileoperator= (const TNetFile &)
 
void Print (Option_t *option) const
 Print some info about the net file. More...
 
void PrintError (const char *where, Int_t err)
 Print error string depending on error code. More...
 
Int_t Recv (Int_t &status, EMessageTypes &kind)
 Return status from rootd server and message kind. More...
 
Int_t SysClose (Int_t fd)
 Close currently open file. More...
 
Int_t SysOpen (const char *pathname, Int_t flags, UInt_t mode)
 Open a remote file. Requires fOption to be set correctly. More...
 
Int_t SysStat (Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime)
 Return file stat information. More...
 
- Protected Member Functions inherited from TFile
virtual Long64_t DirCreateEntry (TDirectory *)
 
virtual Int_t DirReadKeys (TDirectory *)
 
virtual void DirWriteHeader (TDirectory *)
 
virtual void DirWriteKeys (TDirectory *)
 
Bool_t FlushWriteCache ()
 Flush the write cache if active. More...
 
virtual EAsyncOpenStatus GetAsyncOpenStatus ()
 
virtual InfoListRet GetStreamerInfoListImpl (bool lookupSICache)
 See documentation of GetStreamerInfoList for more details. More...
 
virtual void Init (Bool_t create)
 Initialize a TFile object. More...
 
Int_t MakeProjectParMake (const char *packname, const char *filename)
 Create makefile at 'filemake' for PAR package 'pack'. More...
 
Int_t MakeProjectParProofInf (const char *packname, const char *proofinfdir)
 Create BUILD.sh and SETUP.C under 'proofinf' for PAR package 'pack'. More...
 
Int_t ReadBufferViaCache (char *buf, Int_t len)
 Read buffer via cache. More...
 
virtual Int_t SysClose (Int_t fd)
 Interface to system close. All arguments like in POSIX close(). More...
 
virtual Int_t SysOpen (const char *pathname, Int_t flags, UInt_t mode)
 Interface to system open. All arguments like in POSIX open(). More...
 
virtual Int_t SysRead (Int_t fd, void *buf, Int_t len)
 Interface to system read. All arguments like in POSIX read(). More...
 
virtual Long64_t SysSeek (Int_t fd, Long64_t offset, Int_t whence)
 Interface to system lseek. More...
 
virtual Int_t SysStat (Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime)
 Return file stat information. More...
 
virtual Int_t SysSync (Int_t fd)
 Interface to system fsync. All arguments like in POSIX fsync(). More...
 
virtual Int_t SysWrite (Int_t fd, const void *buf, Int_t len)
 Interface to system write. All arguments like in POSIX write(). More...
 
Int_t WriteBufferViaCache (const char *buf, Int_t len)
 Write buffer via cache. More...
 
- Protected Member Functions inherited from TDirectoryFile
virtual void CleanTargets ()
 Clean the pointers to this object (gDirectory, TContext, etc.) More...
 
void Init (TClass *cl=0)
 Initialize the key associated with this directory (and the related data members. More...
 
- Protected Member Functions inherited from TDirectory
 TDirectory (const TDirectory &directory)
 Copy constructor. More...
 
Bool_t cd1 (const char *path)
 flag to add histograms, graphs,etc to the directory More...
 
virtual void CleanTargets ()
 Clean the pointers to this object (gDirectory, TContext, etc.). More...
 
void FillFullPath (TString &buf) const
 Recursive method to fill full path for directory. More...
 
void operator= (const TDirectory &)
 
void RegisterContext (TContext *ctxt)
 Register a TContext pointing to this TDirectory object. More...
 
void UnregisterContext (TContext *ctxt)
 UnRegister a TContext pointing to this TDirectory object. More...
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 
- Static Protected Member Functions inherited from TDirectory
static Bool_t Cd1 (const char *path)
 Change current directory to "path". More...
 
- Protected Attributes inherited from TNetFile
TUrl fEndpointUrl
 
Int_t fErrorCode
 
Int_t fNetopt
 
Int_t fProtocol
 
TSocketfSocket
 
TString fUser
 
- Protected Attributes inherited from TFile
TArchiveFilefArchive
 !Archive file from which we read this file More...
 
Long64_t fArchiveOffset
 !Offset at which file starts in archive More...
 
TFileOpenHandlefAsyncHandle
 !For proper automatic cleanup More...
 
EAsyncOpenStatus fAsyncOpenStatus
 !Status of an asynchronous open request More...
 
Long64_t fBEGIN
 First used byte in file. More...
 
Long64_t fBytesRead
 Number of bytes read from this file. More...
 
Long64_t fBytesReadExtra
 Number of extra bytes (overhead) read by the readahead buffer. More...
 
Long64_t fBytesWrite
 Number of bytes written to this file. More...
 
TFileCacheReadfCacheRead
 !Pointer to the read cache (if any) More...
 
TMapfCacheReadMap
 !Pointer to the read cache (if any) More...
 
TFileCacheWritefCacheWrite
 !Pointer to the write cache (if any) More...
 
TArrayCfClassIndex
 !Index of TStreamerInfo classes written to this file More...
 
Int_t fCompress
 Compression level and algorithm. More...
 
Int_t fD
 File descriptor. More...
 
Long64_t fEND
 Last used byte in file. More...
 
TListfFree
 Free segments linked list table. More...
 
TListfInfoCache
 !Cached list of the streamer infos in this file More...
 
Bool_t fInitDone: 1
 !True if the file has been initialized More...
 
Bool_t fIsArchive: 1
 !True if this is a pure archive file More...
 
Bool_t fIsPcmFile: 1
 !True if the file is a ROOT pcm file. More...
 
Bool_t fIsRootFile: 1
 !True is this is a ROOT file, raw file otherwise More...
 
Bool_t fMustFlush: 1
 !True if the file buffers must be flushed More...
 
Int_t fNbytesFree
 Number of bytes for free segments structure. More...
 
Int_t fNbytesInfo
 Number of bytes for StreamerInfo record. More...
 
Bool_t fNoAnchorInName: 1
 !True if we don't want to force the anchor to be appended to the file name More...
 
Int_t fNProcessIDs
 Number of TProcessID written to this file. More...
 
Long64_t fOffset
 !Seek offset cache More...
 
TListfOpenPhases
 !Time info about open phases More...
 
TString fOption
 File options. More...
 
TObjArrayfProcessIDs
 !Array of pointers to TProcessIDs More...
 
Int_t fReadCalls
 Number of read calls ( not counting the cache calls ) More...
 
TString fRealName
 Effective real file name (not original url) More...
 
Long64_t fSeekFree
 Location on disk of free segments structure. More...
 
Long64_t fSeekInfo
 Location on disk of StreamerInfo record. More...
 
Double_t fSum2Buffer
 Sum of squares of buffer sizes of objects written so far. More...
 
Double_t fSumBuffer
 Sum of buffer sizes of objects written so far. More...
 
Char_t fUnits
 Number of bytes for file pointers. More...
 
TUrl fUrl
 !URL of file More...
 
Int_t fVersion
 File format version. More...
 
std::mutex fWriteMutex
 !Lock for writing baskets / keys into the file. More...
 
Int_t fWritten
 Number of objects written so far. More...
 
- Protected Attributes inherited from TDirectoryFile
Int_t fBufferSize
 Default buffer size to create new TKeys. More...
 
TDatime fDatimeC
 Date and time when directory is created. More...
 
TDatime fDatimeM
 Date and time of last modification. More...
 
TFilefFile
 Pointer to current file in memory. More...
 
TListfKeys
 Pointer to keys list in memory. More...
 
Bool_t fModified
 True if directory has been modified. More...
 
Int_t fNbytesKeys
 Number of bytes for the keys. More...
 
Int_t fNbytesName
 Number of bytes in TNamed at creation time. More...
 
Long64_t fSeekDir
 Location of directory on file. More...
 
Long64_t fSeekKeys
 Location of Keys record on file. More...
 
Long64_t fSeekParent
 Location of parent directory on file. More...
 
Bool_t fWritable
 True if directory is writable. More...
 
- Protected Attributes inherited from TDirectory
TContextfContext
 Buffer for GetPath() function. More...
 
std::atomic< size_t > fContextPeg
 Pointer to a list of TContext object pointing to this TDirectory. More...
 
TListfList
 
TObjectfMother
 
TString fPathBuffer
 
std::atomic_flag fSpinLock
 Counter delaying the TDirectory destructor from finishing. More...
 
TUUID fUUID
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Static Protected Attributes inherited from TFile
static TListfgAsyncOpenRequests = 0
 
static std::atomic< Long64_tfgBytesRead {0}
 Number of bytes read by all TFile objects. More...
 
static std::atomic< Long64_tfgBytesWrite {0}
 Number of bytes written by all TFile objects. More...
 
static TString fgCacheFileDir
 Directory where to locally stage files. More...
 
static Bool_t fgCacheFileDisconnected = kTRUE
 Indicates, we trust in the files in the cache dir without stat on the cached file. More...
 
static Bool_t fgCacheFileForce = kFALSE
 Indicates, to force all READ to CACHEREAD. More...
 
static std::atomic< Long64_tfgFileCounter {0}
 Counter for all opened files. More...
 
static Bool_t fgOnlyStaged = 0
 Before the file is opened, it is checked, that the file is staged, if not, the open fails. More...
 
static UInt_t fgOpenTimeout = TFile::kEternalTimeout
 Timeout for open operations in ms - 0 corresponds to blocking i/o. More...
 
static Int_t fgReadaheadSize = 256000
 Readahead buffer size. More...
 
static std::atomic< Int_tfgReadCalls {0}
 Number of bytes read from all TFile objects. More...
 
static Bool_t fgReadInfo = kTRUE
 if true (default) ReadStreamerInfo is called when opening a file More...
 
static ROOT::TRWSpinLock fgRwLock
 !Read-write lock to protect global PID list More...
 
static ROOT::Internal::RConcurrentHashColl fgTsSIHashes
 !TS Set of hashes built from read streamer infos More...
 
- Static Protected Attributes inherited from TDirectory
static Bool_t fgAddDirectory = kTRUE
 MSVC doesn't support = ATOMIC_FLAG_INIT;. More...
 

#include <TXNetFile.h>

Inheritance diagram for TXNetFile:
[legend]

Constructor & Destructor Documentation

◆ TXNetFile() [1/3]

TXNetFile::TXNetFile ( const TXNetFile )
private

◆ TXNetFile() [2/3]

TXNetFile::TXNetFile ( )
inline

Definition at line 97 of file TXNetFile.h.

◆ TXNetFile() [3/3]

TXNetFile::TXNetFile ( const char *  url,
Option_t option = "",
const char *  ftitle = "",
Int_t  compress = 1,
Int_t  netopt = 0,
Bool_t  parallelopen = kFALSE,
const char *  logicalurl = 0 
)

Create a TXNetFile object.

A TXNetFile object is the same as a TNetFile (from which the former derives) except that the protocol is extended to support dealing with new xrootd data server or xrootd load balancer server.

The "url" argument must be of the form

root://server1:port1[,server2:port2,...,serverN:portN]/pathfile,

Note that this means that multiple servers (>= 1) can be specified in the url. The connection will try to connect to the first server:port and if that does not succeed, it will try the second one, and so on until it finds a server that will respond.

See the TNetFile documentation for the description of the other arguments.

The creation consists of internal variable settings (most important is the client's domain), creation of a TXUrl array containing all specified urls (a single url is serverX:portX/pathfile), trying to connect to the servers calling Connect() method, getting a valid access to the remote server the client is connected to using GetAccessToSrv() method, recognizing the remote server (if an old rootd the TNetFile's Create method will be called).

The options field of the URL can be used for the following purposes: a. open a non-ROOT generic file "root://server1:port1[,server2:port2,...]/pathfile?filetype=raw" b. re-check the environment variables "root://server1:port1[,server2:port2,...]/pathfile?checkenv" c. set the cache size (in bytes) "root://server1:port1[,server2:port2,...]/pathfile?cachesz=20000000" d. set the read-ahead size (in bytes) "root://server1:port1[,server2:port2,...]/pathfile?readaheadsz=100000" e. set the cache remove policy "root://server1:port1[,server2:port2,...]/pathfile?rmpolicy=1" f. set the max number of redirections "root://server1:port1[,server2:port2,...]/pathfile?mxredir=2" (multiple options can be set concurrently)

Definition at line 113 of file TXNetFile.cxx.

◆ ~TXNetFile()

TXNetFile::~TXNetFile ( )
virtual

Destructor.

Definition at line 156 of file TXNetFile.cxx.

Member Function Documentation

◆ Close()

void TXNetFile::Close ( const Option_t opt = "")
virtual

Close the file (see TNetFile::Close() or TFile::Close() for more details).

Reimplemented in TAlienFile.

Definition at line 1037 of file TXNetFile.cxx.

◆ CreateXClient()

void TXNetFile::CreateXClient ( const char *  url,
Option_t option,
Int_t  netopt,
Bool_t  parallelopen 
)
private

The real creation work is done here.

Definition at line 251 of file TXNetFile.cxx.

◆ Flush()

void TXNetFile::Flush ( )
virtual

Flushes un-written data.

Reimplemented from TNetFile.

Definition at line 1061 of file TXNetFile.cxx.

◆ FormUrl()

void TXNetFile::FormUrl ( TUrl  uut,
TString uu 
)
staticprivate

Form url for rootd socket.

Definition at line 170 of file TXNetFile.cxx.

◆ GetAsyncOpenStatus()

TFile::EAsyncOpenStatus TXNetFile::GetAsyncOpenStatus ( )
virtual

Return status of asynchronous request.

Reimplemented from TFile.

Definition at line 1001 of file TXNetFile.cxx.

◆ GetBytesToPrefetch()

Int_t TXNetFile::GetBytesToPrefetch ( ) const
virtual

Max number of bytes to prefetch.

Reimplemented from TFile.

Definition at line 1425 of file TXNetFile.cxx.

◆ GetRootdProtocol()

Int_t TXNetFile::GetRootdProtocol ( TSocket s)
staticprivate

Find out the remote rootd protocol version.

Returns -1 in case of error.

Definition at line 421 of file TXNetFile.cxx.

◆ Init()

void TXNetFile::Init ( Bool_t  create)
privatevirtual

Initialize the file.

Makes sure that the file is really open before calling TFile::Init. It may block.

Reimplemented from TNetFile.

Definition at line 920 of file TXNetFile.cxx.

◆ IsOpen()

Bool_t TXNetFile::IsOpen ( ) const
virtual

Return kTRUE if the file is open, kFALSE otherwise.

Reimplemented from TNetFile.

Definition at line 983 of file TXNetFile.cxx.

◆ Open()

Bool_t TXNetFile::Open ( Option_t option,
Bool_t  parallelopen 
)
private

The real creation work is done here.

Definition at line 476 of file TXNetFile.cxx.

◆ operator=()

TXNetFile & TXNetFile::operator= ( const TXNetFile )
private

◆ ParseOptions()

Int_t TXNetFile::ParseOptions ( const char *  opts,
Int_t cachesz,
Int_t readaheadsz,
Int_t rmpolicy,
Int_t mxredir,
Int_t rastrategy,
Int_t readtrimblksz 
)
private

Parse input options for cache parameters.

Definition at line 199 of file TXNetFile.cxx.

◆ Print()

void TXNetFile::Print ( Option_t option = "") const
virtual

Print the local statistics.

Reimplemented from TNetFile.

Definition at line 1442 of file TXNetFile.cxx.

◆ ReadBuffer() [1/2]

Bool_t TXNetFile::ReadBuffer ( char *  buffer,
Int_t  bufferLength 
)
virtual

Override TNetFile::ReadBuffer to deal with the xrootd server.

Returns kTRUE in case of errors.

Reimplemented from TNetFile.

Definition at line 591 of file TXNetFile.cxx.

◆ ReadBuffer() [2/2]

Bool_t TXNetFile::ReadBuffer ( char *  buf,
Long64_t  pos,
Int_t  len 
)
virtual

Pass through to TNetFile implementation which will call back eventually to our ReadBuffer with 2 arguments to deal with xrootd errors.

Reimplemented from TNetFile.

Definition at line 685 of file TXNetFile.cxx.

◆ ReadBufferAsync()

Bool_t TXNetFile::ReadBufferAsync ( Long64_t  offs,
Int_t  bufferLength 
)
virtual

Implementation dealing with the xrootd server.

Returns kTRUE in case of errors. This is the same as TXNetFile::ReadBuffer but using the async call from xrootd

Reimplemented from TFile.

Definition at line 696 of file TXNetFile.cxx.

◆ ReadBuffers()

Bool_t TXNetFile::ReadBuffers ( char *  buf,
Long64_t pos,
Int_t len,
Int_t  nbuf 
)
virtual

Read the nbuf blocks described in arrays pos and len, where pos[i] is the seek position of block i of length len[i].

Note that for nbuf=1, this call is equivalent to TFile::ReadBuffer This function is overloaded by TNetFile, TWebFile, etc. Returns kTRUE in case of failure. Note: This is the overloading made in TXNetFile. If ReadBuffers is supported by xrootd it will try to get the whole list from one single call avoiding the latency of multiple calls

Reimplemented from TNetFile.

Definition at line 763 of file TXNetFile.cxx.

◆ ReOpen()

Int_t TXNetFile::ReOpen ( const Option_t mode)
virtual

Re-open the file (see TNetFile::ReOpen() or TFile::ReOpen() for more details).

Definition at line 1022 of file TXNetFile.cxx.

◆ ResetCache()

void TXNetFile::ResetCache ( )
virtual

Reset the cache.

Definition at line 1416 of file TXNetFile.cxx.

◆ SetEnv()

void TXNetFile::SetEnv ( )
staticprivate

Set the relevant environment variables.

Definition at line 1201 of file TXNetFile.cxx.

◆ SynchronizeCacheSize()

void TXNetFile::SynchronizeCacheSize ( )
private

Synchronize the cache size Alternative purging policy.

Definition at line 1384 of file TXNetFile.cxx.

◆ SysClose()

Int_t TXNetFile::SysClose ( Int_t  fd)
privatevirtual

Override TNetFile::SysClose (see parent's method for more details).

Reimplemented from TNetFile.

Definition at line 1146 of file TXNetFile.cxx.

◆ SysOpen()

Int_t TXNetFile::SysOpen ( const char *  pathname,
Int_t  flags,
UInt_t  mode 
)
privatevirtual

Override TNetFile::SysOpen (see parent's method for more details).

Reimplemented from TNetFile.

Definition at line 1170 of file TXNetFile.cxx.

◆ SysStat()

Int_t TXNetFile::SysStat ( Int_t  fd,
Long_t id,
Long64_t size,
Long_t flags,
Long_t modtime 
)
privatevirtual

Override TNetFile::SysStat (see parent's method for more details).

Reimplemented from TNetFile.

Definition at line 1099 of file TXNetFile.cxx.

◆ WriteBuffer()

Bool_t TXNetFile::WriteBuffer ( const char *  buffer,
Int_t  bufferLength 
)
virtual

Override TNetFile::WriteBuffer to deal with the xrootd server.

Returns kTRUE in case of errors.

Reimplemented from TNetFile.

Definition at line 860 of file TXNetFile.cxx.

Friends And Related Function Documentation

◆ TXNetSystem

friend class TXNetSystem
friend

Definition at line 57 of file TXNetFile.h.

Member Data Documentation

◆ fClient

XrdClient* TXNetFile::fClient
private

Definition at line 66 of file TXNetFile.h.

◆ fgFileStager

TFileStager * TXNetFile::fgFileStager = 0
staticprivate

Definition at line 63 of file TXNetFile.h.

◆ fgInitDone

Bool_t TXNetFile::fgInitDone = kFALSE
staticprivate

Definition at line 61 of file TXNetFile.h.

◆ fgRootdBC

Bool_t TXNetFile::fgRootdBC = kTRUE
staticprivate

Definition at line 62 of file TXNetFile.h.

◆ fInitMtx

void* TXNetFile::fInitMtx
private

Definition at line 68 of file TXNetFile.h.

◆ fIsRootd

Bool_t TXNetFile::fIsRootd
private

Definition at line 67 of file TXNetFile.h.

Libraries for TXNetFile:
[legend]

The documentation for this class was generated from the following files: