00001 // @(#)root/peac:$Id: TProofPEAC.h 22582 2008-03-11 07:15:26Z brun $ 00002 // Author: Maarten Ballintijn 21/10/2004 00003 // Author: Kris Gulbrandsen 21/10/2004 00004 00005 /************************************************************************* 00006 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * 00007 * All rights reserved. * 00008 * * 00009 * For the licensing terms see $ROOTSYS/LICENSE. * 00010 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00011 *************************************************************************/ 00012 00013 #ifndef ROOT_TProofPEAC 00014 #define ROOT_TProofPEAC 00015 00016 ////////////////////////////////////////////////////////////////////////// 00017 // // 00018 // TProofPEAC // 00019 // // 00020 // This class implements a PROOF session which uses PEAC // 00021 // // 00022 ////////////////////////////////////////////////////////////////////////// 00023 00024 #ifndef ROOT_TProof 00025 #include "TProof.h" 00026 #endif 00027 #ifndef ROOT_TString 00028 #include "TString.h" 00029 #endif 00030 00031 class TLM; 00032 class TCondor; 00033 class TTimer; 00034 00035 class TProofPEAC : public TProof { 00036 00037 friend class TCondor; 00038 00039 private: 00040 TString fSession; //PEAC session identifier 00041 TLM *fLM; //connection to PEAC local manager 00042 Int_t fHBPeriod; //requested heartbeat period in seconds 00043 TCondor *fCondor; //condor instance for condor slaves 00044 TTimer *fTimer; //timer for delayed Condor COD suspend 00045 TTimer *fHeartbeatTimer; //timer for sending heartbeat to local manager 00046 00047 protected: 00048 virtual Bool_t StartSlaves(Bool_t parallel=kTRUE,Bool_t attach=kFALSE); 00049 TString GetJobAd(); 00050 00051 public: 00052 TProofPEAC(const char *masterurl, const char *sessionid = 0, 00053 const char *confdir = 0, Int_t loglevel = 0, 00054 const char *alias = 0, TProofMgr *mgr = 0); 00055 virtual ~TProofPEAC(); 00056 00057 virtual Bool_t IsDataReady(Long64_t &totalbytes, Long64_t &bytesready); 00058 virtual void SendHeartbeat(); 00059 virtual void SetActive(Bool_t active = kTRUE); 00060 virtual void Close(Option_t *option=""); 00061 00062 ClassDef(TProofPEAC,0) // PROOF using PEAC 00063 }; 00064 00065 #endif