ROOT logo
ROOT » PROOF » PROOF » TProofMgr

class TProofMgr: public TNamed


TProofMgr

The PROOF manager interacts with the PROOF server coordinator to
create or destroy a PROOF session, attach to or detach from
existing one, and to monitor any client activity on the cluster.
At most one manager instance per server is allowed.


Function Members (Methods)

public:
TProofMgr(const char* url, Int_t loglevel = -1, const char* alias = "")
virtual~TProofMgr()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual TProof*AttachSession(Int_t, Bool_t = kFALSE)
virtual TProof*AttachSession(TProofDesc*, Bool_t = kFALSE)
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
voidClose()
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual Int_tCp(const char*, const char* = 0, const char* = 0)
static TProofMgr*Create(const char* url, Int_t loglevel = -1, const char* alias = 0, Bool_t xpd = kTRUE)
virtual TProof*CreateSession(const char* = 0, const char* = 0, Int_t = -1)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidDetachSession(Int_t, Option_t* = "")
virtual voidDetachSession(TProof*, Option_t* = "")
virtual voidDiscardSession(TProof* p)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
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 voidTNamed::FillBuffer(char*& buffer)
virtual voidFind(const char* = "~/", const char* = 0, const char* = 0)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tGetFile(const char*, const char*, const char* = 0)
virtual const char*TObject::GetIconName() const
static TList*GetListOfManagers()
virtual const char*GetMssUrl(Bool_t = kFALSE)
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual TProofDesc*GetProofDesc(Int_t id)
virtual TProofDesc*GetProofDesc(TProof* p)
virtual Int_tGetRemoteProtocol() const
virtual TProofLog*GetSessionLogs(Int_t = 0, const char* = 0, const char* = "-v \"| SvcMsg\"", Bool_t = kFALSE)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual const char*GetUrl()
virtual voidGrep(const char*, const char* = 0, const char* = 0)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
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 voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tIsLite() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsProofd() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tIsValid() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
virtual voidLs(const char* = "~/", const char* = 0, const char* = 0)
virtual Bool_tMatchUrl(const char* url)
voidTObject::MayNotUse(const char* method) const
virtual Int_tMd5sum(const char*, TString&, const char* = 0)
virtual voidMore(const char*, const char* = 0, const char* = 0)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static 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 voidTObject::Paint(Option_t* option = "")
static Int_tPing(const char* url, Bool_t checkxrd = kFALSE)
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tPutFile(const char*, const char*, const char* = 0)
virtual TList*QuerySessions(Option_t* opt = "S")
virtual Int_tTObject::Read(const char* name)
virtual TObjString*ReadBuffer(const char*, const char*)
virtual TObjString*ReadBuffer(const char*, Long64_t, Int_t)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Int_tReset(Bool_t hard = kFALSE, const char* usr = 0)
voidTObject::ResetBit(UInt_t f)
virtual Int_tRm(const char*, const char* = 0, const char* = 0)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
virtual Int_tSendMsgToUsers(const char*, const char* = 0)
virtual voidSetAlias(const char* alias = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetInvalid()
virtual voidSetMssUrl(const char* mss)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual Int_tSetROOTVersion(const char*)
virtual voidTNamed::SetTitle(const char* title = "")MENU
static voidSetTXProofMgrHook(TProofMgr_t pmh)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidShowROOTVersions()
virtual voidShowWorkers()
virtual voidShutdownSession(Int_t id)
virtual voidShutdownSession(TProof* p)
virtual Int_tTNamed::Sizeof() const
virtual Int_tStat(const char*, FileStat_t&, const char* = 0)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTail(const char*, const char* = 0, const char* = 0)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
static TFileCollection*UploadFiles(TList* src, const char* mss, const char* dest = 0)
static TFileCollection*UploadFiles(const char* txtfile, const char* mss, const char* dest = 0)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
TProofMgr()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
TProofMgr(const TProofMgr&)
static TProofMgr_tGetXProofMgrHook()
TProofMgr&operator=(const TProofMgr&)
static voidReplaceSubdirs(const char* fn, TString& fdst, TList& dirph)

Data Members

public:
enum EServType { kProofd
kXProofd
kProofLite
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TSignalHandler*fIntHandlerInterrupt signal handler (ctrl-c)
TStringfMssUrlURL for the remote data pool, if any
TStringTNamed::fNameobject identifier
Int_tfRemoteProtocolProtocol number run by the daemon server
TProofMgr::EServTypefServTypeType of server: old-proofd, XrdProofd
TList*fSessionsPROOF session managed by this server
TStringTNamed::fTitleobject title
TUrlfUrlServer URL
static TListfgListOfManagersSub-list of TROOT::ListOfProofs for managers
private:
static TProofMgr_tfgTXProofMgrHookConstructor hooks for TXProofMgr

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TProofMgr(const char* url, Int_t loglevel = -1, const char* alias = "")
 Create a PROOF manager for the standard (old) environment.
~TProofMgr()
 Destroy a TProofMgr instance
TProof * AttachSession(Int_t , Bool_t = kFALSE)
 Dummy version provided for completeness. Just returns a pointer to
 existing session 'id' (as shown by TProof::QuerySessions) or 0 if 'id' is
 not valid. The boolena 'gui' should be kTRUE when invoked from the GUI.
TProof * AttachSession(TProofDesc* , Bool_t = kFALSE)
 Dummy version provided for completeness. Just returns a pointer to
 existing session 'id' (as shown by TProof::QuerySessions) or 0 if 'id' is
 not valid.
void DetachSession(Int_t , Option_t* = "")
 Detach session with 'id' from its proofserv. The 'id' is the number
 shown by QuerySessions. The correspondent TProof object is deleted.
 If id == 0 all the known sessions are detached.
 Option opt="S" or "s" forces session shutdown.
void DetachSession(TProof* , Option_t* = "")
 Detach session 'p' from its proofserv. The instance 'p' is invalidated
 and should be deleted by the caller
TList * QuerySessions(Option_t* opt = "S")
 Get list of sessions accessible to this manager.
Int_t SendMsgToUsers(const char* , const char* = 0)
 Send a message to connected users. Only superusers can do this.
 The first argument specifies the message or the file from where to take
 the message.
 The second argument specifies the user to which to send the message: if
 empty or null the message is send to all the connected users.
 return 0 in case of success, -1 in case of error
Int_t Reset(Bool_t hard = kFALSE, const char* usr = 0)
 Send a cleanup request for the sessions associated with the current
 user.
 Not supported.
void ShowWorkers()
 Show available workers
TProofDesc * GetProofDesc(Int_t id)
 Get TProofDesc instance corresponding to 'id'.
TProofDesc * GetProofDesc(TProof* p)
 Get TProofDesc instance corresponding to TProof object 'p'.
void DiscardSession(TProof* p)
 Discard TProofDesc of session 'p' from the internal list
TProof * CreateSession(const char* = 0, const char* = 0, Int_t = -1)
 Create a new remote session (master and associated workers).
Bool_t MatchUrl(const char* url)
 Checks if 'url' refers to the same 'user@host:port' entity as the URL
 in memory
TList * GetListOfManagers()
 Extract pointers to PROOF managers from TROOT::fProofs.
TProofMgr * Create(const char* url, Int_t loglevel = -1, const char* alias = 0, Bool_t xpd = kTRUE)
 Static method returning the appropriate TProofMgr object using
 the plugin manager.
TProofMgr_t GetXProofMgrHook()
 Get the constructor hook fro TXProofMgr.
 We do this without the plugin manager because it blocks the
 CINT mutex breaking the parallel startup.
void SetTXProofMgrHook(TProofMgr_t pmh)
 Set hook to TXProofMgr ctor
Int_t Ping(const char* url, Bool_t checkxrd = kFALSE)
 Non-blocking check for a PROOF (or Xrootd, if checkxrd) service at 'url'
 Return
        0 if a XProofd (or Xrootd, if checkxrd) daemon is listening at 'url'
       -1 if nothing is listening on the port (connection cannot be open)
        1 if something is listening but not XProofd (or not Xrootd, if checkxrd)
void ReplaceSubdirs(const char* fn, TString& fdst, TList& dirph)
 Parse file name extracting the directory subcomponents in dirs, stored
 as TObjStrings.
TFileCollection * UploadFiles(TList* src, const char* mss, const char* dest = 0)
 Upload files provided via the list 'src' (as TFileInfo or TObjString)
 to 'mss'. The path under 'mss' is determined by 'dest'; the following
 place-holders can be used in 'dest':
      <d0>, <d1>, <d2>, ...         referring to the n-th sub-component
                                    of the src path
      <bn>                          basename in the source path
      <bs>                          basename sans extension
      <ex>                          Extension
      <sn>                          serial number of file in the list
      <s0>                          as <sn> but zero padded
      <fn>                          the full file path
      <us>, <gr>                    the local user and group names.
      <pg>                          the users PROOF group
      <pa>                          immediate parent directory
      <gp>                          next-to immediate parent directory
 So, for example, if the source filename for the 99-th file is
               protosrc://host//d0/d1/d2/d3/d4/d5/myfile
 then with dest = '/pool/user/<d3>/<d4>/<d5>/<s>/<bn>' and
           mss = 'protodst://hostdst//nm
 the corresponding destination path is
           protodst://hostdst//nm/pool/user/d3/d4/d5/99/myfile

 If 'dest' is empty, <fn> is used.

 Returns a TFileCollection with the destination files created; this
 TFileCollection is, for example, ready to be registered as dataset.
TFileCollection * UploadFiles(const char* txtfile, const char* mss, const char* dest = 0)
 Upload to 'mss' the files listed in the text file 'srcfiles' or contained
 in the directory 'srcfiles'.
 In the case 'srcfiles' is a text file, the files must be specified one per
 line, with line beginning by '#' ignored (i.e. considered comments).
 The path under 'mss' is defined by 'dest'; the following
 place-holders can be used in 'dest':
      <d0>, <d1>, <d2>, ...         referring to the n-th sub-component
                                    of the src path
      <bn>                          basename in the source path
      <sn>                          serial number of file in the list
      <fn>                          the full file path
      <us>, <gr>                    the local user and group names.
 So, for example, if the source filename for the 99-th file is
               protosrc://host//d0/d1/d2/d3/d4/d5/myfile
 then with dest = '/pool/user/<d3>/<d4>/<d5>/<s>/<bn>' and
           mss = 'protodst://hostdst//nm
 the corresponding destination path is
           protodst://hostdst//nm/pool/user/d3/d4/d5/99/myfile

 If 'dest' is empty, <fn> is used.

 Returns a TFileCollection with the destination files created; this
 TFileCollection is, for example, ready to be registered as dataset.
Int_t Rm(const char* , const char* = 0, const char* = 0)
 Run 'rm' on 'what'. Locally it is just a call to TSystem::Unlink .
TProofMgr(const TProofMgr& )
TProofMgr& operator=(const TProofMgr& )
TProofMgr()
{ }
Bool_t IsLite() const
{ return (fServType == kProofLite); }
Bool_t IsProofd() const
{ return (fServType == kProofd); }
Bool_t IsValid() const
{ return kTRUE; }
void SetInvalid()
{ }
void Close()
{ SetInvalid(); }
const char * GetMssUrl(Bool_t = kFALSE)
{ return fMssUrl.Data(); }
Int_t GetRemoteProtocol() const
{ return fRemoteProtocol; }
TProofLog * GetSessionLogs(Int_t = 0, const char* = 0, const char* = "-v \"| SvcMsg\"", Bool_t = kFALSE)
{ return (TProofLog *)0; }
const char * GetUrl()
{ return fUrl.GetUrl(); }
TObjString * ReadBuffer(const char* , Long64_t , Int_t )
{ return (TObjString *)0; }
TObjString * ReadBuffer(const char* , const char* )
{ return (TObjString *)0; }
void SetAlias(const char* alias = "")
{ TNamed::SetTitle(alias); }
void SetMssUrl(const char* mss)
{ fMssUrl = mss; }
Int_t SetROOTVersion(const char* )
{ return 0; }
void ShowROOTVersions()
{ }
void ShutdownSession(Int_t id)
{ DetachSession(id,"S"); }
void ShutdownSession(TProof* p)
{ DetachSession(p,"S"); }
Int_t Cp(const char* , const char* = 0, const char* = 0)
 Remote file system actions
{ return -1; }
void Find(const char* = "~/", const char* = 0, const char* = 0)
{ }
void Grep(const char* , const char* = 0, const char* = 0)
{ }
void Ls(const char* = "~/", const char* = 0, const char* = 0)
{ }
void More(const char* , const char* = 0, const char* = 0)
{ }
void Tail(const char* , const char* = 0, const char* = 0)
{ }
Int_t Md5sum(const char* , TString& , const char* = 0)
{ return -1; }
Int_t Stat(const char* , FileStat_t& , const char* = 0)
{ return -1; }
Int_t GetFile(const char* , const char* , const char* = 0)
{ return -1; }
Int_t PutFile(const char* , const char* , const char* = 0)
{ return -1; }