TProofPEAC.h

Go to the documentation of this file.
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

Generated on Tue Jul 5 14:28:02 2011 for ROOT_528-00b_version by  doxygen 1.5.1