class TProofServ: public TApplication


TProofServ

TProofServ is the PROOF server. It can act either as the master
server or as a slave server, depending on its startup arguments. It
receives and handles message coming from the client or from the
master server.


Function Members (Methods)

public:
TProofServ(Int_t* argc, char** argv, FILE* flog = 0)
virtual~TProofServ()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual const char*TApplication::ApplicationName() const
Int_tTApplication::Argc() const
char**TApplication::Argv() const
char*TApplication::Argv(Int_t index) const
virtual voidTObject::Browse(TBrowser* b)
virtual voidTQObject::ChangedBy(const char* method)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
voidTApplication::ClearInputFiles()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
Bool_tTQObject::Connect(const char* signal, const char* receiver_class, void* receiver, const char* slot)
static Bool_tTQObject::Connect(TQObject* sender, const char* signal, const char* receiver_class, void* receiver, const char* slot)
static Bool_tTQObject::Connect(const char* sender_class, const char* signal, const char* receiver_class, void* receiver, const char* slot)
virtual voidTQObject::Connected(const char*)
virtual voidTObject::Copy(TObject& object) const
Int_tCopyFromCache(const char* name)
Int_tCopyToCache(const char* name, Int_t opt = 0)
static voidTApplication::CreateApplication()
virtual Int_tCreateServer()
virtual voidTObject::Delete(Option_t* option = "")
virtual voidTQObject::Destroyed()
virtual voidDisableTimeout()
Bool_tTQObject::Disconnect(const char* signal = 0, void* receiver = 0, const char* slot = 0)
static Bool_tTQObject::Disconnect(TQObject* sender, const char* signal = 0, void* receiver = 0, const char* slot = 0)
static Bool_tTQObject::Disconnect(const char* class_name, const char* signal, void* receiver = 0, const char* slot = 0)
virtual voidTQObject::Disconnected(const char*)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
voidTQObject::Emit(const char* signal)
voidTQObject::Emit(const char* signal, Long_t* paramArr)
voidTQObject::Emit(const char* signal, const char* params)
voidTQObject::Emit(const char* signal, Double_t param)
voidTQObject::Emit(const char* signal, Long_t param)
voidTQObject::Emit(const char* signal, Long64_t param)
voidTQObject::Emit(const char* signal, Bool_t param)
voidTQObject::Emit(const char* signal, Char_t param)
voidTQObject::Emit(const char* signal, UChar_t param)
voidTQObject::Emit(const char* signal, Short_t param)
voidTQObject::Emit(const char* signal, UShort_t param)
voidTQObject::Emit(const char* signal, Int_t param)
voidTQObject::Emit(const char* signal, UInt_t param)
voidTQObject::Emit(const char* signal, ULong_t param)
voidTQObject::Emit(const char* signal, ULong64_t param)
voidTQObject::Emit(const char* signal, Float_t param)
voidTQObject::EmitVA(const char* signal, Int_t nargs)
voidTQObject::EmitVA(const char* signal, Int_t nargs, va_list va)
virtual voidEnableTimeout()
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)
static Long_tTApplication::ExecuteFile(const char* file, Int_t* error = 0)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidFlushLogFile()
TObject*Get(const char* namecycle)
virtual TApplicationImp*TApplication::GetApplicationImp()
static TList*TApplication::GetApplications()
TApplication*TApplication::GetAppRemote() const
const char*GetConfDir() const
const char*GetConfFile() const
Float_tGetCpuTime() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const char*GetGroup() const
Int_tGetGroupId() const
Int_tGetGroupSize() const
virtual const char*TObject::GetIconName() const
const char*TApplication::GetIdleCommand() const
const char*GetImage() const
Int_tGetInflateFactor() const
TList*TQObject::GetListOfClassSignals() const
TList*TQObject::GetListOfConnections() const
TList*TQObject::GetListOfSignals() const
Int_tGetLogLevel() const
virtual const char*TObject::GetName() const
TDSetElement*GetNextPacket(Long64_t totalEntries = -1)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual voidGetOptions(Int_t* argc, char** argv)
const char*GetOrdinal() const
const char*GetPrefix() const
TProof*GetProof() const
Int_tGetProtocol() const
Float_tGetRealTime() const
const char*GetService() const
const char*GetSessionDir() const
const char*GetSessionTag() const
TSignalHandler*TApplication::GetSignalHandler() const
TSocket*GetSocket() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
const char*GetUser() const
const char*GetWorkDir() const
virtual TProofServ::EQueryActionGetWorkers(TList* workers, Int_t& prioritychange)
virtual voidHandleException(Int_t sig)
virtual voidTApplication::HandleIdleTimer()
virtual voidHandleSigPipe()
virtual voidHandleSocketInput()
virtual voidHandleTermination()
virtual Bool_tTApplication::HandleTermInput()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual voidHandleUrgentData()
virtual Bool_tTQObject::HasConnection(const char* signal_name) const
virtual ULong_tTObject::Hash() const
virtual voidTApplication::Hide()
virtual voidTQObject::HighPriority(const char* signal_name, const char* slot_name = 0)
virtual voidTApplication::Iconify()
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 voidTApplication::Init()
voidTApplication::InitializeGraphics()
TObjArray*TApplication::InputFiles() const
virtual voidTObject::Inspect() const
voidInterrupt()
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
static Bool_tIsActive()
virtual Bool_tTApplication::IsCmdThread()
Bool_tIsEndMaster() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsMaster() const
Bool_tTObject::IsOnHeap() const
Bool_tIsParallel() const
Bool_tTApplication::IsRunning() const
virtual Bool_tTObject::IsSortable() const
Bool_tIsTopMaster() const
Bool_tTObject::IsZombie() const
virtual voidTApplication::KeyPressed(Int_t key)
static voidTQObject::LoadRQ_OBJECT()
virtual voidTApplication::Lower()
virtual voidTQObject::LowPriority(const char* signal_name, const char* slot_name = 0)
virtual voidTApplication::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTQObject::Message(const char* msg)
static voidTApplication::NeedGraphicsLibs()
Bool_tTApplication::NoLogoOpt() const
Bool_tTApplication::NoLogOpt() const
virtual Bool_tTObject::Notify()
virtual Int_tTQObject::NumberOfConnections() const
virtual Int_tTQObject::NumberOfSignals() const
virtual voidTApplication::Open()
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)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Long_tTApplication::ProcessFile(const char* file, Int_t* error = 0)
virtual Long_tTApplication::ProcessLine(const char* line, Bool_t sync = kFALSE, Int_t* error = 0)
Bool_tTApplication::QuitOpt() const
virtual voidTApplication::Raise()
virtual Int_tTObject::Read(const char* name)
Int_tReceiveFile(const char* file, Bool_t bin, Long64_t size)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTApplication::RemoveIdleTimer()
voidReset(const char* dir)
voidTObject::ResetBit(UInt_t f)
Bool_tTApplication::ReturnFromRun() const
virtual voidTApplication::ReturnPressed(char* text)
virtual voidRun(Bool_t retrn = kFALSE)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual Int_tSendAsynMessage(const char* msg, Bool_t lf = kTRUE)
virtual voidSendLogFile(Int_t status = 0, Int_t start = -1, Int_t end = -1)
voidSendParallel()
voidSendStatistics()
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
virtual voidTApplication::SetEchoMode(Bool_t mode)
virtual voidTApplication::SetIdleTimer(UInt_t idleTimeInSec, const char* command)
static voidTObject::SetObjectStat(Bool_t stat)
voidTApplication::SetReturnFromRun(Bool_t ret)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidTApplication::Show()
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidTApplication::StartIdleing()
virtual voidTApplication::StopIdleing()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTerminate(Int_t status)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
static TProofServ*This()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
const char*TApplication::WorkingDirectory() 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:
static Int_tTQObject::CheckConnectArgs(TQObject* sender, TClass* sender_class, const char* signal, TClass* receiver_class, const char* slot)
static voidTApplication::Close(TApplication* app)
static Bool_tTQObject::ConnectToClass(TQObject* sender, const char* signal, TClass* receiver_class, void* receiver, const char* slot)
static Bool_tTQObject::ConnectToClass(const char* sender_class, const char* signal, TClass* receiver_class, void* receiver, const char* slot)
virtual voidDeletePlayer()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
static voidErrorHandler(Int_t level, Bool_t abort, const char* location, const char* msg)
virtual void*TQObject::GetSender()
virtual const char*TQObject::GetSenderClassName() const
virtual voidHandleArchive(TMessage* mess)
virtual Int_tHandleCache(TMessage* mess)
virtual voidHandleCheckFile(TMessage* mess)
virtual Int_tHandleDataSets(TMessage* mess)
virtual voidHandleLibIncPath(TMessage* mess)
virtual voidHandleProcess(TMessage* mess)
virtual voidHandleQueryList(TMessage* mess)
virtual voidHandleRemove(TMessage* mess)
virtual voidHandleRetrieve(TMessage* mess)
virtual voidHandleSocketInputDuringProcess()
virtual voidHandleWorkerLists(TMessage* mess)
virtual voidTApplication::Help(const char* line)
virtual voidTApplication::LoadGraphicsLibs()
virtual voidTApplication::MakeBatch()
virtual voidMakePlayer()
voidTObject::MakeZombie()
static TApplication*TApplication::Open(const char* url, Int_t debug, const char* script)
static Int_tTApplication::ParseRemoteLine(const char* ln, TString& hostdir, TString& user, Int_t& dbg, TString& script)
virtual Long_tTApplication::ProcessRemote(const char* line, Int_t* error = 0)
virtual voidSetShutdownTimer(Bool_t, Int_t)
voidTApplication::SetSignalHandler(TSignalHandler* sh)
virtual Int_tSetup()
Int_tSetupCommon()
private:
voidAddLogFile(TProofQueryResult* pq)
Int_tApplyMaxQueries()
Int_tCatMotd()
Int_tCleanupQueriesDir()
Int_tCleanupSession(const char* sessiontag)
voidFinalizeQuery(TProofQueryResult* pq)
TList*GetDataSet(const char* name)
Int_tGetPriority()
TProofQueryResult*LocateQuery(TString queryref, Int_t& qry, TString& qdir)
Int_tLockSession(const char* sessiontag, TProofLockPath** lck)
TProofQueryResult*MakeQueryResult(Long64_t nentries, const char* opt, TList* inl, Long64_t first, TDSet* dset, const char* selec, TObject* elist)
Int_tOldAuthSetup(TString& wconf)
voidRedirectOutput()
voidRemoveQuery(const char* queryref)
voidRemoveQuery(TQueryResult* qr, Bool_t soft = kFALSE)
voidSaveQuery(TQueryResult* qr, const char* fout = 0)
voidScanPreviousQueries(const char* dir)
voidSetQueryRunning(TProofQueryResult* pq)
Int_tUnloadPackage(const char* package)
Int_tUnloadPackages()

Data Members

public:
enum EQueryAction { kQueryOK
kQueryModify
kQueryStop
};
enum TApplication::EStatusBits { kProcessRemotely
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TApplication*TApplication::fAppRemoteCurrent remote application, if defined
TList*TQObject::fListOfConnections! list of connections to this object
TList*TQObject::fListOfSignals! list of signals from this object
static TList*TApplication::fgApplicationsList of available applications
private:
TStringfArchivePathdefault archive path
TStringfCacheDirdirectory containing cache of user files
TProofLockPath*fCacheLockcache dir locker
TStopwatchfComputemeasures time spend processing a packet
TStringfConfDirdirectory containing cluster config information
TStringfConfFilefile containing config information
Float_tfCpuTimeCPU time spent executing commands
TStringfDataSetDirdirectory containing info about known data sets
TProofLockPath*fDataSetLockdataset dir locker
Int_tfDrawQueriesnumber of draw queries processed
TList*fEnabledPackageslist of enabled packages
Bool_tfEndMastertrue for a master in direct contact only with workers
THashList*fGlobalPackageDirListlist of directories containing global packages libs
TStringfGroupgroup the user belongs to
Int_tfGroupIdslave unique id in the active slave group
Int_tfGroupPrioritypriority of group the user belongs to (0 - 100)
Int_tfGroupSizesize of the active slave group
Long64_tfHWMBoxSizeHigh-Water-Mark on the sandbox size
Bool_tfIdleTRUE if idle
TStringfImageimage name of the session
Int_tfInflateFactorFactor in 1/1000 to inflate the CPU time
Bool_tfInterruptif true macro execution will be stopped
Int_tfKeptQueriesnumber of queries fully in memory and in dir
TStopwatchfLatencymeasures latency of packet requests
FILE*fLogFilelog file
Int_tfLogFileDeslog file descriptor
Int_tfLogLeveldebug logging level
Bool_tfMasterServtrue if we are a master server
Long64_tfMaxBoxSizeMax size of the sandbox
Int_tfMaxQueriesMax number of queries fully kept
Int_tfNcmdcommand history number
TStringfOrdinalslave ordinal number
TStringfPackageDirdirectory containing packages and user libs
TProofLockPath*fPackageLockpackage dir locker
TVirtualProofPlayer*fPlayeractual player
TStringfPrefixPrefix identifying the node
TList*fPreviousQuerieslist of TProofQueryResult objects from previous sections
TProof*fProofPROOF talking to slave servers
Int_tfProtocolprotocol version number
TList*fQuerieslist of TProofQueryResult objects
TStringfQueryDirdirectory containing query results and status
TProofLockPath*fQueryLockquery dir locker
Float_tfRealTimereal time spent executing commands
Bool_tfRealTimeLogTRUE if log messages should be send back in real-time
Int_tfSeqNumsequential number of last processed query
TStringfServiceservice we are running, either "proofserv" or "proofslave"
TStringfSessionDirdirectory containing session dependent files
TStringfSessionTagtag for the session
TTimer*fShutdownTimerTimer used for delayed session shutdown
TMutex*fShutdownTimerMtxActions on the timer must be atomic
Bool_tfShutdownWhenIdleIf TRUE, start shutdown delay countdown when idle
TSocket*fSocketsocket connection to client
TStringfUseruser as which we run
TList*fWaitingQuerieslist of TProofQueryResult wating to be processed
TStringfWorkDirdirectory containing all proof related info

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TProofServ(Int_t* argc, char** argv, FILE* flog = 0)
 Main constructor. Create an application environment. The TProofServ
 environment provides an eventloop via inheritance of TApplication.
 Actual server creation work is done in CreateServer() to allow
 overloading.
Int_t CreateServer()
 Finalize the server setup. If master, create the TProof instance to talk
 to the worker or submaster nodes.
 Return 0 on success, -1 on error
~TProofServ()
 Cleanup. Not really necessary since after this dtor there is no
 live anyway.
Int_t CatMotd()
 Print message of the day (in the file pointed by the env PROOFMOTD
 or from fConfDir/etc/proof/motd). The motd is not shown more than
 once a day. If the file pointed by env PROOFNOPROOF exists (or the
 file fConfDir/etc/proof/noproof exists), show its contents and close
 the connection.
TObject * Get(const char* namecycle)
 Get object with name "name;cycle" (e.g. "aap;2") from master or client.
 This method is called by TDirectory::Get() in case the object can not
 be found locally.
TDSetElement * GetNextPacket(Long64_t totalEntries = -1)
 Get next range of entries to be processed on this server.
void GetOptions(Int_t* argc, char** argv)
 Get and handle command line options. Fixed format:
 "proofserv"|"proofslave" <confdir>
void HandleSocketInput()
 Handle input coming from the client or from the master server.
void HandleSocketInputDuringProcess()
 Handle messages that might arrive during processing while being in
 HandleSocketInput(). This avoids recursive calls into HandleSocketInput().
void HandleUrgentData()
 Handle Out-Of-Band data sent by the master or client.
void HandleSigPipe()
 Called when the client is not alive anymore (i.e. when kKeepAlive
 has failed).
Bool_t IsParallel()
 True if in parallel mode.
void Print(Option_t* option = "") const
 Print status of slave server.
void RedirectOutput()
 Redirect stdout to a log file. This log file will be flushed to the
 client or master after each command.
void Reset(const char* dir)
 Reset PROOF environment to be ready for execution of next command.
Int_t ReceiveFile(const char* file, Bool_t bin, Long64_t size)
 Receive a file, either sent by a client or a master server.
 If bin is true it is a binary file, other wise it is an ASCII
 file and we need to check for Windows \r tokens. Returns -1 in
 case of error, 0 otherwise.
void Run(Bool_t retrn = kFALSE)
 Main server eventloop.
void SendLogFile(Int_t status = 0, Int_t start = -1, Int_t end = -1)
 Send log file to master.
 If start > -1 send only bytes in the range from start to end,
 if end <= start send everything from start.
void SendStatistics()
 Send statistics of slave server to master or client.
void SendParallel()
 Send number of parallel nodes to master or client.
Int_t UnloadPackage(const char* package)
 Removes link to package in working directory,
 removes entry from include path,
 removes entry from enabled package list,
 does not currently remove entry from interpreter include path.
 Returns -1 in case of error, 0 otherwise.
Int_t UnloadPackages()
 Unloads all enabled packages. Returns -1 in case of error, 0 otherwise.
Int_t Setup()
 Print the ProofServ logo on standard output.
 Return 0 on success, -1 on failure
Int_t SetupCommon()
 Common part (between TProofServ and TXProofServ) of the setup phase.
 Return 0 on success, -1 on error
void Terminate(Int_t status)
 Terminate the proof server.
Bool_t IsActive()
 Static function that returns kTRUE in case we are a PROOF server.
TProofServ * This()
 Static function returning pointer to global object gProofServ.
 Mainly for use via CINT, where the gProofServ symbol might be
 deleted from the symbol table.
Int_t OldAuthSetup(TString& wconf)
 Setup authentication related stuff for old versions.
 Provided for backward compatibility.
TProofQueryResult * MakeQueryResult(Long64_t nentries, const char* opt, TList* inl, Long64_t first, TDSet* dset, const char* selec, TObject* elist)
 Create a TProofQueryResult instance for this query.
void SetQueryRunning(TProofQueryResult* pq)
 Set query in running state.
void AddLogFile(TProofQueryResult* pq)
 Add part of log file concerning TQueryResult pq to its macro
 container.
void FinalizeQuery(TProofQueryResult* pq)
 Final steps after Process() to complete the TQueryResult instance.
Int_t CleanupQueriesDir()
 Remove all queries results referring to previous sessions
void ScanPreviousQueries(const char* dir)
 Scan the queries directory for the results of previous queries.
 The headers of the query results found are loaded in fPreviousQueries.
 The full query result can be retrieved via TProof::Retrieve.
Int_t ApplyMaxQueries()
 Scan the queries directory and remove the oldest ones (and relative dirs,
 if empty) in such a way only fMaxQueries are kept.
 Return 0 on success, -1 in case of problems
Int_t LockSession(const char* sessiontag, TProofLockPath** lck)
 Try locking query area of session tagged sessiontag.
 The id of the locking file is returned in fid and must be
 unlocked via UnlockQueryFile(fid).
Int_t CleanupSession(const char* sessiontag)
 Cleanup query dir qdir.
void SaveQuery(TQueryResult* qr, const char* fout = 0)
 Save current status of query 'qr' to file name fout.
 If fout == 0 (default) use the default name.
void RemoveQuery(const char* queryref)
 Remove everything about query queryref.
void RemoveQuery(TQueryResult* qr, Bool_t soft = kFALSE)
 Remove everything about query qr. If soft = TRUE leave a track
 in memory with the relevant info
TProofQueryResult * LocateQuery(TString queryref, Int_t& qry, TString& qdir)
 Locate query referenced by queryref. Return pointer to instance
 in memory, if any, or 0. Fills qdir with the query specific directory
 and qry with the query number for queries processed by this session.
void HandleArchive(TMessage* mess)
 Handle archive request.
void HandleProcess(TMessage* mess)
 Handle processing request.
void HandleQueryList(TMessage* mess)
 Handle request for list of queries.
void HandleRemove(TMessage* mess)
 Handle remove request.
void HandleRetrieve(TMessage* mess)
 Handle retrieve request.
void HandleLibIncPath(TMessage* mess)
 Handle lib, inc search paths modification request
void HandleCheckFile(TMessage* mess)
 Handle file checking request.
Int_t HandleCache(TMessage* mess)
 Handle here all cache and package requests.
void HandleWorkerLists(TMessage* mess)
 Handle here all requests to modify worker lists
Int_t HandleDataSets(TMessage* mess)
 Handle here all dataset requests
TList * GetDataSet(const char* name)
 Utility function used in various methods for user dataset upload.
void ErrorHandler(Int_t level, Bool_t abort, const char* location, const char* msg)
 The PROOF error handler function. It prints the message on stderr and
 if abort is set it aborts the application.
Int_t CopyFromCache(const char* name)
 Retrieve any files (source and binaries) related to 'macro' from the cache
 directory.
 Returns 0 on success, -1 otherwise
Int_t CopyToCache(const char* name, Int_t opt = 0)
 Copy files related to 'macro' to the cache directory.
 Action depends on 'opt':

    opt = 0         copy 'macro' to cache and delete from cache any binary
                    related to name; e.g. if macro = bla.C, the binaries are
                    bla_C.so, bla_C.rootmap, ...
    opt = 1         copy the binaries related to macro to the cache

 Returns 0 on success, -1 otherwise
void MakePlayer()
 Make player instance.
void DeletePlayer()
 Delete player instance.
Int_t GetPriority()
 Get the processing priority for the group the user belongs too. This
 prioroty is a number (0 - 100) determined by a scheduler (third
 party process) based on some basic priority the group has, e.g.
 we might want to give users in a specific group (e.g. promptana)
 a higher priority than users in other groups, and on the analysis
 of historical logging data (i.e. usage of CPU by the group in a
 previous time slot, as recorded in TPerfStats::WriteQueryLog()).

 Currently the group priority is obtained by a query in a SQL DB
 table proofpriority, which has the format:
 CREATE TABLE proofpriority (
   id            INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
   group         VARCHAR(32) NOT NULL,
   priority      INT
)
Int_t SendAsynMessage(const char* msg, Bool_t lf = kTRUE)
 Send an asychronous message to the master / client .
 Masters will forward up the message to the client.
 The client prints 'msg' of stderr and adds a '\n'/'\r' depending on
 'lf' being kTRUE (default) or kFALSE.
 Returns the return value from TSocket::Send(TMessage &) .
void FlushLogFile()
 Reposition the read pointer in the log file to the very end.
 This allows to "hide" useful debug messages durign normal operations
 while preserving the possibility to have them in case of problems.
void HandleException(Int_t sig)
 Exception handler: we do not try to recover here, just exit.
void SetShutdownTimer(Bool_t , Int_t )
{ }
TProof * GetProof()
{ return fProof; }
const char * GetService()
{ return fService; }
const char * GetConfDir()
{ return fConfDir; }
const char * GetConfFile()
{ return fConfFile; }
const char * GetUser()
{ return fUser; }
const char * GetGroup()
{ return fGroup; }
const char * GetWorkDir()
{ return fWorkDir; }
const char * GetImage()
{ return fImage; }
const char * GetSessionTag()
{ return fSessionTag; }
const char * GetSessionDir()
{ return fSessionDir; }
Int_t GetProtocol()
{ return fProtocol; }
const char * GetOrdinal()
{ return fOrdinal; }
Int_t GetGroupId()
{ return fGroupId; }
Int_t GetGroupSize()
{ return fGroupSize; }
Int_t GetLogLevel()
{ return fLogLevel; }
TSocket * GetSocket()
{ return fSocket; }
Float_t GetRealTime()
{ return fRealTime; }
Float_t GetCpuTime()
{ return fCpuTime; }
Int_t GetInflateFactor()
{ return fInflateFactor; }
const char * GetPrefix()
{ return fPrefix; }
EQueryAction GetWorkers(TList* workers, Int_t& prioritychange)
void HandleTermination()
{ Terminate(0); }
void Interrupt()
{ fInterrupt = kTRUE; }
Bool_t IsEndMaster()
{ return fEndMaster; }
Bool_t IsMaster()
{ return fMasterServ; }
Bool_t IsTopMaster()
{ return fOrdinal == "0"; }
void DisableTimeout()
 Disable / Enable read timeout
{ }
void EnableTimeout()
{ }

Author: Fons Rademakers 16/02/97
Last update: root/proof:$Id: TProofServ.h 20882 2007-11-19 11:31:26Z rdm $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *

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.