#ifndef ROOT_TXNetFile
#define ROOT_TXNetFile
#ifndef ROOT_TNetFile
#include "TNetFile.h"
#endif
#ifndef ROOT_TString
#include "TString.h"
#endif
#ifndef ROOT_TUrl
#include "TUrl.h"
#endif
#ifdef OLDXRDOUC
# include "XrdSysToOuc.h"
#endif
class TSocket;
class XrdClient;
class XrdSysRecMutex;
class TXNetFile : public TNetFile {
friend class TXNetSystem;
private:
XrdClient *fClient;
Bool_t fIsRootd;
static Bool_t fgInitDone;
static Bool_t fgRootdBC;
XrdSysRecMutex *fInitMtx;
TXNetFile(const TXNetFile&);
TXNetFile& operator=(const TXNetFile&);
void CreateXClient(const char *url, Option_t *option, Int_t netopt,
Bool_t parallelopen);
Int_t ParseOptions(const char *opts, Int_t &cachesz, Int_t &readaheadsz,
Int_t &rmpolicy, Int_t &mxredir);
void SynchronizeCacheSize();
void Init(Bool_t create);
Bool_t Open(Option_t *option, Bool_t parallelopen);
Int_t SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags,
Long_t *modtime);
Int_t SysOpen(const char *pathname, Int_t flags, UInt_t mode);
Int_t SysClose(Int_t fd);
static void FormUrl(TUrl uut, TString &uu);
static Int_t GetRootdProtocol(TSocket *s);
static void SetEnv();
public:
TXNetFile() : TNetFile(), fClient(0), fIsRootd(0), fInitMtx(0) {}
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);
virtual ~TXNetFile();
virtual void Close(const Option_t *opt ="");
virtual void ResetCache();
virtual void Flush();
virtual Int_t GetBytesToPrefetch() const;
virtual Bool_t ReadBufferAsync(Long64_t offs, Int_t len);
virtual TFile::EAsyncOpenStatus GetAsyncOpenStatus();
virtual Bool_t IsOpen() const;
virtual void Print(Option_t *option="") const;
virtual Bool_t ReadBuffer(char *buf, Int_t len);
virtual Bool_t ReadBuffers(char *buf, Long64_t *pos, Int_t *len, Int_t nbuf);
virtual Int_t ReOpen(const Option_t *mode);
virtual Bool_t WriteBuffer(const char *buffer, Int_t BufferLength);
ClassDef(TXNetFile,0)
};
#endif
Last change: Wed Oct 8 15:35:12 2008
Last generated: 2008-10-08 15:35
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.