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.
TProofServ(Int_t* argc, char** argv, FILE* flog = 0) | |
virtual | ~TProofServ() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual const char* | TApplication::ApplicationName() const |
static Bool_t | TQObject::AreAllSignalsBlocked() |
Bool_t | TQObject::AreSignalsBlocked() const |
Int_t | TApplication::Argc() const |
char** | TApplication::Argv() const |
char* | TApplication::Argv(Int_t index) const |
static Bool_t | TQObject::BlockAllSignals(Bool_t b) |
Bool_t | TQObject::BlockSignals(Bool_t b) |
virtual void | TObject::Browse(TBrowser* b) |
virtual void | TQObject::ChangedBy(const char* method)SIGNAL |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
void | TApplication::ClearInputFiles() |
virtual TObject* | TObject::Clone(const char* newname = "") const |
void | TQObject::CollectClassSignalLists(TList& list, TClass* cls) |
virtual Int_t | TObject::Compare(const TObject* obj) const |
Bool_t | TQObject::Connect(const char* signal, const char* receiver_class, void* receiver, const char* slot) |
static Bool_t | TQObject::Connect(TQObject* sender, const char* signal, const char* receiver_class, void* receiver, const char* slot) |
static Bool_t | TQObject::Connect(const char* sender_class, const char* signal, const char* receiver_class, void* receiver, const char* slot) |
virtual void | TQObject::Connected(const char*) |
virtual void | TObject::Copy(TObject& object) const |
Int_t | CopyFromCache(const char* name, Bool_t cpbin) |
Int_t | CopyToCache(const char* name, Int_t opt = 0) |
static void | TApplication::CreateApplication() |
virtual Int_t | CreateServer() |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual void | TQObject::Destroyed()SIGNAL |
virtual void | DisableTimeout() |
Bool_t | TQObject::Disconnect(const char* signal = 0, void* receiver = 0, const char* slot = 0) |
static Bool_t | TQObject::Disconnect(TQObject* sender, const char* signal = 0, void* receiver = 0, const char* slot = 0) |
static Bool_t | TQObject::Disconnect(const char* class_name, const char* signal, void* receiver = 0, const char* slot = 0) |
virtual void | TQObject::Disconnected(const char*) |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
void | TQObject::Emit(const char* signal) |
void | TQObject::Emit(const char* signal, Long_t* paramArr) |
void | TQObject::Emit(const char* signal, const char* params) |
void | TQObject::Emit(const char* signal, Double_t param) |
void | TQObject::Emit(const char* signal, Long_t param) |
void | TQObject::Emit(const char* signal, Long64_t param) |
void | TQObject::Emit(const char* signal, Bool_t param) |
void | TQObject::Emit(const char* signal, Char_t param) |
void | TQObject::Emit(const char* signal, UChar_t param) |
void | TQObject::Emit(const char* signal, Short_t param) |
void | TQObject::Emit(const char* signal, UShort_t param) |
void | TQObject::Emit(const char* signal, Int_t param) |
void | TQObject::Emit(const char* signal, UInt_t param) |
void | TQObject::Emit(const char* signal, ULong_t param) |
void | TQObject::Emit(const char* signal, ULong64_t param) |
void | TQObject::Emit(const char* signal, Float_t param) |
void | TQObject::EmitVA(const char* signal, Int_t nargs) |
void | TQObject::EmitVA(const char* signal, Int_t nargs, va_list va) |
virtual void | EnableTimeout() |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
static void | ErrorHandler(Int_t level, Bool_t abort, const char* location, const char* msg) |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
static Long_t | TApplication::ExecuteFile(const char* file, Int_t* error = 0, Bool_t keep = kFALSE) |
TApplication::EExitOnException | TApplication::ExitOnException(TApplication::EExitOnException opt = kExit) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
void | FlushLogFile() |
TObject* | Get(const char* namecycle) |
Int_t | GetActSessions() const |
virtual TApplicationImp* | TApplication::GetApplicationImp() |
static TList* | TApplication::GetApplications() |
TApplication* | TApplication::GetAppRemote() const |
TProofLockPath* | GetCacheLock() |
const char* | GetConfDir() const |
const char* | GetConfFile() const |
Float_t | GetCpuTime() const |
const char* | GetDataDir() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
Float_t | GetEffSessions() const |
TList* | GetEnabledPackages() const |
const char* | GetGroup() const |
Int_t | GetGroupId() const |
Int_t | GetGroupSize() const |
virtual const char* | TObject::GetIconName() const |
const char* | TApplication::GetIdleCommand() const |
const char* | GetImage() const |
Int_t | GetInflateFactor() const |
TList* | TQObject::GetListOfClassSignals() const |
TList* | TQObject::GetListOfConnections() const |
TList* | TQObject::GetListOfSignals() const |
Int_t | GetLogLevel() const |
static Float_t | GetMemHWM() |
static Float_t | GetMemStop() |
Long64_t | GetMsgSizeHWM() 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_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
virtual void | GetOptions(Int_t* argc, char** argv) |
const char* | GetOrdinal() const |
const char* | GetPackageDir() const |
const char* | GetPrefix() const |
TProof* | GetProof() const |
Int_t | GetProtocol() const |
Int_t | GetQuerySeqNum() const |
Float_t | GetRealTime() const |
static Long_t | GetResMemMax() |
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 |
Int_t | GetTotSessions() const |
virtual UInt_t | TObject::GetUniqueID() const |
const char* | GetUser() const |
static Long_t | GetVirtMemMax() |
const char* | GetWorkDir() const |
virtual TProofServ::EQueryAction | GetWorkers(TList* workers, Int_t& prioritychange, Bool_t resume = kFALSE) |
virtual void | HandleException(Int_t sig) |
virtual void | TApplication::HandleIdleTimer()SIGNAL |
virtual void | HandleSigPipe() |
virtual void | HandleSocketInput() |
virtual Int_t | HandleSocketInput(TMessage* mess, Bool_t all) |
virtual void | HandleTermination() |
virtual Bool_t | TApplication::HandleTermInput() |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual void | HandleUrgentData() |
virtual Bool_t | TQObject::HasConnection(const char* signal_name) const |
virtual ULong_t | TObject::Hash() const |
virtual void | TApplication::Hide() |
virtual void | TQObject::HighPriority(const char* signal_name, const char* slot_name = 0) |
virtual void | TApplication::Iconify() |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TApplication::Init() |
void | TApplication::InitializeGraphics() |
TObjArray* | TApplication::InputFiles() const |
virtual void | TObject::Inspect() constMENU |
void | Interrupt() |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
static Bool_t | IsActive() |
virtual Bool_t | TApplication::IsCmdThread() |
Bool_t | IsEndMaster() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | IsMaster() const |
Bool_t | TObject::IsOnHeap() const |
Bool_t | IsParallel() const |
Bool_t | TApplication::IsRunning() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | IsTopMaster() const |
Bool_t | TObject::IsZombie() const |
virtual void | TApplication::KeyPressed(Int_t key)SIGNAL |
virtual void | TApplication::LineProcessed(const char* line)SIGNAL |
static void | TQObject::LoadRQ_OBJECT() |
void | LogToMaster(Bool_t on = kTRUE) |
virtual void | TApplication::Lower() |
virtual void | TQObject::LowPriority(const char* signal_name, const char* slot_name = 0) |
virtual void | TApplication::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual void | TQObject::Message(const char* msg)SIGNAL |
static void | TApplication::NeedGraphicsLibs() |
Bool_t | TApplication::NoLogoOpt() const |
Bool_t | TApplication::NoLogOpt() const |
virtual Bool_t | TObject::Notify() |
virtual Int_t | TQObject::NumberOfConnections() const |
virtual Int_t | TQObject::NumberOfSignals() const |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
virtual void | TApplication::Open() |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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 void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | Print(Option_t* option = "") const |
virtual Long_t | TApplication::ProcessFile(const char* file, Int_t* error = 0, Bool_t keep = kFALSE) |
virtual Long_t | TApplication::ProcessLine(const char* line, Bool_t sync = kFALSE, Int_t* error = 0) |
Bool_t | TApplication::QuitOpt() const |
virtual void | TApplication::Raise() |
virtual Int_t | TObject::Read(const char* name) |
Int_t | ReceiveFile(const char* file, Bool_t bin, Long64_t size) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual void | ReleaseWorker(const char*) |
virtual void | TApplication::RemoveIdleTimer() |
void | Reset(const char* dir) |
void | TObject::ResetBit(UInt_t f) |
static void | ResolveKeywords(TString& fname, const char* path = 0) |
void | RestartComputeTime() |
Bool_t | TApplication::ReturnFromRun() const |
virtual void | TApplication::ReturnPressed(char* text)SIGNAL |
virtual void | Run(Bool_t retrn = kFALSE) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
virtual Int_t | SendAsynMessage(const char* msg, Bool_t lf = kTRUE) |
virtual void | SendLogFile(Int_t status = 0, Int_t start = -1, Int_t end = -1) |
void | SendParallel(Bool_t async = kFALSE) |
void | SendStatistics() |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
virtual void | TApplication::SetEchoMode(Bool_t mode) |
static FILE* | SetErrorHandlerFile(FILE* ferr) |
virtual void | TApplication::SetIdleTimer(UInt_t idleTimeInSec, const char* command) |
static void | SetLastMsg(const char* lastmsg) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | TApplication::SetReturnFromRun(Bool_t ret) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | TApplication::Show() |
virtual void | ShowMembers(TMemberInspector& insp) |
virtual void | TApplication::StartIdleing() |
virtual void | TApplication::StopIdleing() |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
virtual Int_t | TApplication::TabCompletionHook(char* buf, int* pLoc, ostream& out) |
virtual void | Terminate(Int_t status) |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
static TProofServ* | This() |
void | TruncateLogFile() |
Int_t | UpdateSessionStatus(Int_t xst = -1) |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
const char* | TApplication::WorkingDirectory() const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
static Int_t | TQObject::CheckConnectArgs(TQObject* sender, TClass* sender_class, const char* signal, TClass* receiver_class, const char* slot) |
static void | TApplication::Close(TApplication* app) |
static Bool_t | TQObject::ConnectToClass(TQObject* sender, const char* signal, TClass* receiver_class, void* receiver, const char* slot) |
static Bool_t | TQObject::ConnectToClass(const char* sender_class, const char* signal, TClass* receiver_class, void* receiver, const char* slot) |
virtual void | DeletePlayer() |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
virtual Int_t | Fork() |
virtual void* | TQObject::GetSender() |
virtual const char* | TQObject::GetSenderClassName() const |
Int_t | GetSessionStatus() |
virtual void | HandleArchive(TMessage* mess, TString* slb = 0) |
virtual Int_t | HandleCache(TMessage* mess, TString* slb = 0) |
virtual void | HandleCheckFile(TMessage* mess, TString* slb = 0) |
virtual Int_t | HandleDataSets(TMessage* mess, TString* slb = 0) |
virtual void | HandleFork(TMessage* mess) |
virtual void | HandleLibIncPath(TMessage* mess) |
virtual void | HandleProcess(TMessage* mess, TString* slb = 0) |
virtual void | HandleQueryList(TMessage* mess) |
virtual void | HandleRemove(TMessage* mess, TString* slb = 0) |
virtual void | HandleRetrieve(TMessage* mess, TString* slb = 0) |
virtual void | HandleSubmerger(TMessage* mess) |
virtual Int_t | HandleWorkerLists(TMessage* mess) |
virtual void | TApplication::Help(const char* line) |
Bool_t | IsIdle() |
virtual void | TApplication::LoadGraphicsLibs() |
virtual void | TApplication::MakeBatch() |
virtual void | MakePlayer() |
void | TObject::MakeZombie() |
static TApplication* | TApplication::Open(const char* url, Int_t debug, const char* script) |
static Int_t | TApplication::ParseRemoteLine(const char* ln, TString& hostdir, TString& user, Int_t& dbg, TString& script) |
virtual void | ProcessNext(TString* slb = 0) |
virtual Long_t | TApplication::ProcessRemote(const char* line, Int_t* error = 0) |
void | TApplication::SetSignalHandler(TSignalHandler* sh) |
virtual Int_t | Setup() |
Int_t | SetupCommon() |
Bool_t | UnlinkDataDir(const char* path) |
Bool_t | AcceptResults(Int_t connections, TVirtualProofPlayer* mergerPlayer) |
Int_t | CatMotd() |
Int_t | CleanupWaitingQueries(Bool_t del = kTRUE, TList* qls = 0) |
Int_t | GetCompressionLevel() const |
Int_t | GetPriority() |
Bool_t | IsWaiting() |
TProofQueryResult* | MakeQueryResult(Long64_t nentries, const char* opt, TList* inl, Long64_t first, TDSet* dset, const char* selec, TObject* elist) |
TProofQueryResult* | NextQuery() |
Int_t | OldAuthSetup(TString& wconf) |
Int_t | QueueQuery(TProofQueryResult* pq) |
void | RedirectOutput(const char* dir = 0, const char* mode = "w") |
Int_t | RegisterDataSets(TList* in, TList* out) |
Int_t | SendResults(TSocket* sock, TList* outlist = 0, TQueryResult* pq = 0) |
void | SetIdle(Bool_t st = kTRUE) |
void | SetQueryRunning(TProofQueryResult* pq) |
Int_t | UnloadPackage(const char* package) |
Int_t | UnloadPackages() |
Int_t | WaitingQueries() |
enum EStatusBits { | kHighMemory | |
}; | ||
enum EQueryAction { | kQueryOK | |
kQueryModify | ||
kQueryStop | ||
kQueryEnqueued | ||
}; | ||
enum TApplication::EStatusBits { | kProcessRemotely | |
kDefaultApplication | ||
}; | ||
enum TApplication::EExitOnException { | kDontExit | |
kExit | ||
kAbort | ||
}; | ||
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
TApplication* | TApplication::fAppRemote | Current remote application, if defined |
TList* | TQObject::fListOfConnections | ! list of connections to this object |
TList* | TQObject::fListOfSignals | ! list of signals from this object |
Bool_t | TQObject::fSignalsBlocked | ! flag used for suppression of signals |
static Bool_t | TQObject::fgAllSignalsBlocked | flag used for suppression of all signals |
static TList* | TApplication::fgApplications | List of available applications |
static TString | fgLastMsg | Message about status before exception |
Int_t | fActSessions | Total number of active PROOF sessions on the cluster |
TString | fAdminPath | admin path for this session |
TString | fArchivePath | default archive path |
TString | fCacheDir | directory containing cache of user files |
TProofLockPath* | fCacheLock | cache dir locker |
Int_t | fCompressMsg | Compression level for messages |
TStopwatch | fCompute | measures time spend processing a packet |
TString | fConfDir | directory containing cluster config information |
TString | fConfFile | file containing config information |
Float_t | fCpuTime | CPU time spent executing commands |
TString | fDataDir | directory containing data files produced during queries |
TString | fDataSetDir | directory containing info about known data sets |
TDataSetManager* | fDataSetManager | dataset manager |
Float_t | fEffSessions | Effective Number of PROOF sessions on the assigned machines |
TList* | fEnabledPackages | list of enabled packages |
Bool_t | fEndMaster | true for a master in direct contact only with workers |
THashList* | fGlobalPackageDirList | list of directories containing global packages libs |
TString | fGroup | group the user belongs to |
Int_t | fGroupId | slave unique id in the active slave group |
Int_t | fGroupPriority | priority of group the user belongs to (0 - 100) |
Int_t | fGroupSize | size of the active slave group |
Long64_t | fHWMBoxSize | High-Water-Mark on the sandbox size |
Bool_t | fIdle | TRUE if idle |
TIdleTOTimer* | fIdleTOTimer | Timer used to control children state |
TString | fImage | image name of the session |
Int_t | fInflateFactor | Factor in 1/1000 to inflate the CPU time |
TFileHandler* | fInputHandler | Input socket handler |
Bool_t | fInterrupt | if true macro execution will be stopped |
TStopwatch | fLatency | measures latency of packet requests |
FILE* | fLogFile | log file |
Int_t | fLogFileDes | log file descriptor |
Long64_t | fLogFileMaxSize | max size for log files (enabled if > 0) |
Int_t | fLogLevel | debug logging level |
Bool_t | fMasterServ | true if we are a master server |
Long64_t | fMaxBoxSize | Max size of the sandbox |
Int_t | fMaxQueries | Max number of queries fully kept |
Int_t | fMergedWorkers | Number of workers merged |
TMonitor* | fMergingMonitor | Monitor for merging sockets |
TServerSocket* | fMergingSocket | Socket used for merging outputs if submerger |
Long64_t | fMsgSizeHWM | High-Water-Mark on the size of messages with results |
Int_t | fNcmd | command history number |
TString | fOrdinal | slave ordinal number |
TString | fPackageDir | directory containing packages and user libs |
TProofLockPath* | fPackageLock | package dir locker |
TVirtualProofPlayer* | fPlayer | actual player |
TString | fPrefix | Prefix identifying the node |
TProof* | fProof | PROOF talking to slave servers |
Int_t | fProtocol | protocol version number |
TQueryResultManager* | fQMgr | Query-result manager |
TMutex* | fQMtx | To protect async msg queue |
TString | fQueryDir | directory containing query results and status |
TProofLockPath* | fQueryLock | query dir locker |
Int_t | fQuerySeqNum | sequential number of the current or last query |
TList* | fQueuedMsg | list of messages waiting to be processed |
Float_t | fRealTime | real time spent executing commands |
Bool_t | fRealTimeLog | TRUE if log messages should be send back in real-time |
TReaperTimer* | fReaperTimer | Timer used to control children state |
Bool_t | fSendLogToMaster | On workers, controls logs sending to master |
TString | fService | service we are running, either "proofserv" or "proofslave" |
TString | fSessionDir | directory containing session dependent files |
TString | fSessionTag | tag for the server session |
TShutdownTimer* | fShutdownTimer | Timer used to shutdown out-of-control sessions |
TSocket* | fSocket | socket connection to client |
TString | fTopSessionTag | tag for the global session |
Int_t | fTotSessions | Total number of PROOF sessions on the cluster |
TString | fUser | user as which we run |
TList* | fWaitingQueries | list of TProofQueryResult waiting to be processed |
TString | fWorkDir | directory containing all proof related info |
static FILE* | fgErrorHandlerFile | File where to log |
static Int_t | fgLogToSysLog | >0 sent to syslog too |
static Float_t | fgMemHWM | Threshold fraction of max for warning and finer monitoring |
static Float_t | fgMemStop | Fraction of max for stop processing |
static Int_t | fgRecursive | Keep track of recursive inputs during processing |
static Long_t | fgResMemMax | Hard limit on the resident memory checked |
static TString | fgSysLogEntity | logging entity (<user>:<group>) |
static TString | fgSysLogService | name of the syslog service (eg: proofm-0, proofw-0.67) |
static Long_t | fgVirtMemMax | Hard limit enforced by the system (in kB) |
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.
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
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.
Get next range of entries to be processed on this server.
Get and handle command line options. Fixed format: "proofserv"|"proofslave" <confdir>
Process input coming from the client or from the master server. If 'all' is kFALSE, process only those messages that can be handled during qurey processing. Returns -1 if the message could not be processed, <-1 if something went wrong. Returns 1 if the action may have changed the parallel state. Returns 2 if the message has to be enqueued. Returns 0 otherwise
Accept and merge results from a set of workers
Redirect stdout to a log file. This log file will be flushed to the client or master after each command.
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.
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.
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.
Common part (between TProofServ and TXProofServ) of the setup phase. Return 0 on success, -1 on error
Static function returning pointer to global object gProofServ. Mainly for use via CINT, where the gProofServ symbol might be deleted from the symbol table.
Setup authentication related stuff for old versions. Provided for backward compatibility.
Create a TProofQueryResult instance for this query.
Sends all objects from the given list to the specified socket
process the next query from the queue of submitted jobs. to be called on the top master only.
Register TFileCollections in 'out' as datasets according to the rules in 'in'
Set the file stream where to log (default stderr). If ferr == 0 the default is restored. Returns current setting.
The PROOF error handler function. It prints the message on fgErrorHandlerFile and if abort is set it aborts the application.
Retrieve any files related to 'macro' from the cache directory. If 'cpbin' is true, the associated binaries are retrieved as well. Returns 0 on success, -1 otherwise
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
Get the processing priority for the group the user belongs too. This priority 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 )
Reposition the read pointer in the log file to the very end. This allows to "hide" useful debug messages during normal operations while preserving the possibility to have them in case of problems.
Fork a child. If successful, return 0 in the child process and the child pid in the parent process. The child pid is registered for reaping. Return <0 in the parent process in case of failure.
Replace <ord>, <user>, <u>, <group>, <stag>, <qnum> and <file> placeholders in fname
Update the session status in the relevant file. The status is taken from GetSessionStatus() unless xst >= 0, in which case xst is used. Return 0 on success, -errno if the file could not be opened.
Add a query to the waiting list Returns the number of queries in the list
Get the next query from the waiting list. The query is removed from the list.
Cleanup the waiting queries list. The objects are deleted if 'del' is true. If 'qls' is non null, only objects in 'qls' are removed. Returns the number of cleanup queries