ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
TProofServ Class Reference

Class providing 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.

Definition at line 76 of file TProofServ.h.

Public Types

enum  EStatusBits { kHighMemory = BIT(16) }
 
enum  EQueryAction { kQueryOK, kQueryModify, kQueryStop, kQueryEnqueued }
 
- Public Types inherited from TApplication
enum  EStatusBits { kProcessRemotely = BIT(15), kDefaultApplication = BIT(16) }
 
enum  EFileBits { kExpression = BIT(14) }
 
enum  EExitOnException { kDontExit, kExit, kAbort }
 
- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 

Public Member Functions

 TProofServ (Int_t *argc, char **argv, FILE *flog=0)
 Main constructor. More...
 
virtual ~TProofServ ()
 Cleanup. More...
 
virtual Int_t CreateServer ()
 Finalize the server setup. More...
 
TProofGetProof () const
 
const char * GetService () const
 
const char * GetConfDir () const
 
const char * GetConfFile () const
 
const char * GetUser () const
 
const char * GetGroup () const
 
const char * GetWorkDir () const
 
const char * GetImage () const
 
const char * GetSessionTag () const
 
const char * GetTopSessionTag () const
 
const char * GetSessionDir () const
 
const char * GetPackageDir () const
 
const char * GetCacheDir () const
 
const char * GetDataDir () const
 
const char * GetDataDirOpts () const
 
Int_t GetProtocol () const
 
const char * GetOrdinal () const
 
Int_t GetGroupId () const
 
Int_t GetGroupSize () const
 
Int_t GetLogLevel () const
 
TSocketGetSocket () const
 
Float_t GetRealTime () const
 
Float_t GetCpuTime () const
 
Int_t GetQuerySeqNum () const
 
Int_t GetTotSessions () const
 
Int_t GetActSessions () const
 
Float_t GetEffSessions () const
 
void GetOptions (Int_t *argc, char **argv)
 Get and handle command line options. More...
 
TListGetEnabledPackages () const
 
Long64_t GetMsgSizeHWM () const
 
const char * GetPrefix () const
 
void FlushLogFile ()
 Reposition the read pointer in the log file to the very end. More...
 
void TruncateLogFile ()
 Truncate the log file to the 80% of the required max size if this is set. More...
 
TProofLockPathGetCacheLock ()
 
virtual EQueryAction GetWorkers (TList *workers, Int_t &prioritychange, Bool_t resume=kFALSE)
 Get list of workers to be used from now on. More...
 
virtual void HandleException (Int_t sig)
 Exception handler: we do not try to recover here, just exit. More...
 
virtual Int_t HandleSocketInput (TMessage *mess, Bool_t all)
 Process input coming from the client or from the master server. More...
 
virtual void HandleSocketInput ()
 Handle input coming from the client or from the master server. More...
 
virtual void HandleUrgentData ()
 Handle Out-Of-Band data sent by the master or client. More...
 
virtual void HandleSigPipe ()
 Called when the client is not alive anymore (i.e. More...
 
virtual void HandleTermination ()
 
void Interrupt ()
 
Bool_t IsEndMaster () const
 
Bool_t IsMaster () const
 
Bool_t IsParallel () const
 True if in parallel mode. More...
 
Bool_t IsTopMaster () const
 
void Run (Bool_t retrn=kFALSE)
 Main server eventloop. More...
 
void Print (Option_t *option="") const
 Print status of slave server. More...
 
void RestartComputeTime ()
 Reset the compute time. More...
 
TObjectGet (const char *namecycle)
 Get object with name "name;cycle" (e.g. More...
 
TDSetElementGetNextPacket (Long64_t totalEntries=-1)
 Get next range of entries to be processed on this server. More...
 
virtual void ReleaseWorker (const char *)
 
void Reset (const char *dir)
 Reset PROOF environment to be ready for execution of next command. More...
 
Int_t ReceiveFile (const char *file, Bool_t bin, Long64_t size)
 Receive a file, either sent by a client or a master server. More...
 
virtual Int_t SendAsynMessage (const char *msg, Bool_t lf=kTRUE)
 Send an asychronous message to the master / client . More...
 
virtual void SendLogFile (Int_t status=0, Int_t start=-1, Int_t end=-1)
 Send log file to master. More...
 
void SendStatistics ()
 Send statistics of slave server to master or client. More...
 
void SendParallel (Bool_t async=kFALSE)
 Send number of parallel nodes to master or client. More...
 
Int_t UpdateSessionStatus (Int_t xst=-1)
 Update the session status in the relevant file. More...
 
virtual void DisableTimeout ()
 
virtual void EnableTimeout ()
 
virtual void Terminate (Int_t status)
 Terminate the proof server. More...
 
void LogToMaster (Bool_t on=kTRUE)
 
- Public Member Functions inherited from TApplication
 TApplication (const char *appClassName, Int_t *argc, char **argv, void *options=0, Int_t numOptions=0)
 Create an application environment. More...
 
virtual ~TApplication ()
 TApplication dtor. More...
 
void InitializeGraphics ()
 Initialize the graphics environment. More...
 
TSignalHandlerGetSignalHandler () const
 
virtual void SetEchoMode (Bool_t mode)
 Set console echo mode: More...
 
virtual void HandleIdleTimer ()
 Handle idle timeout. More...
 
virtual Bool_t HandleTermInput ()
 
virtual void Init ()
 
virtual Long_t ProcessLine (const char *line, Bool_t sync=kFALSE, Int_t *error=0)
 Process a single command line, either a C++ statement or an interpreter command starting with a ".". More...
 
virtual Long_t ProcessFile (const char *file, Int_t *error=0, Bool_t keep=kFALSE)
 Process a file containing a C++ macro. More...
 
virtual void SetIdleTimer (UInt_t idleTimeInSec, const char *command)
 Set the command to be executed after the system has been idle for idleTimeInSec seconds. More...
 
virtual void RemoveIdleTimer ()
 Remove idle timer. Normally called via TROOT::Idle(0). More...
 
const char * GetIdleCommand () const
 
virtual void StartIdleing ()
 Called when system starts idleing. More...
 
virtual void StopIdleing ()
 Called when system stops idleing. More...
 
EExitOnException ExitOnException (EExitOnException opt=kExit)
 Set the exit on exception option. More...
 
virtual const char * ApplicationName () const
 
virtual void Show ()
 
virtual void Hide ()
 
virtual void Iconify ()
 
virtual void Open ()
 
virtual void Raise ()
 
virtual void Lower ()
 
virtual Bool_t IsCmdThread ()
 
virtual TApplicationImpGetApplicationImp ()
 
virtual void ls (Option_t *option="") const
 Show available sessions. More...
 
Int_t Argc () const
 
char ** Argv () const
 
char * Argv (Int_t index) const
 Return specified argument. More...
 
Bool_t NoLogOpt () const
 
Bool_t NoLogoOpt () const
 
Bool_t QuitOpt () const
 
TObjArrayInputFiles () const
 
const char * WorkingDirectory () const
 
void ClearInputFiles ()
 Clear list containing macro files passed as program arguments. More...
 
TApplicationGetAppRemote () const
 
Bool_t IsRunning () const
 
Bool_t ReturnFromRun () const
 
void SetReturnFromRun (Bool_t ret)
 
virtual void LineProcessed (const char *line)
 Emit signal when a line has been processed. More...
 
virtual void KeyPressed (Int_t key)
 Emit signal when console keyboard key was pressed. More...
 
virtual void ReturnPressed (char *text)
 Emit signal when return key was pressed. More...
 
virtual Int_t TabCompletionHook (char *buf, int *pLoc, std::ostream &out)
 What to do when tab is pressed. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsSortable () const
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
- Public Member Functions inherited from TQObject
 TQObject ()
 TQObject Constructor. More...
 
virtual ~TQObject ()
 TQObject Destructor. More...
 
TListGetListOfClassSignals () const
 Returns pointer to list of signals of this class. More...
 
TListGetListOfSignals () const
 
TListGetListOfConnections () const
 
Bool_t AreSignalsBlocked () const
 
Bool_t BlockSignals (Bool_t b)
 
void CollectClassSignalLists (TList &list, TClass *cls)
 Collect class signal lists from class cls and all its base-classes. More...
 
template<typename... T>
void EmitVA (const char *signal_name, Int_t, const T &...params)
 
void EmitVA (const char *signal, Int_t nargs, va_list va)=delete
 
void Emit (const char *signal)
 Acitvate signal without args. More...
 
void Emit (const char *signal, Long_t *paramArr)
 Emit a signal with a varying number of arguments, paramArr is an array of the parameters. More...
 
void Emit (const char *signal, const char *params)
 Activate signal with parameter text string. More...
 
void Emit (const char *signal, Double_t param)
 Activate signal with single parameter. More...
 
void Emit (const char *signal, Long_t param)
 Activate signal with single parameter. More...
 
void Emit (const char *signal, Long64_t param)
 Activate signal with single parameter. More...
 
void Emit (const char *signal, Bool_t param)
 
void Emit (const char *signal, Char_t param)
 
void Emit (const char *signal, UChar_t param)
 
void Emit (const char *signal, Short_t param)
 
void Emit (const char *signal, UShort_t param)
 
void Emit (const char *signal, Int_t param)
 
void Emit (const char *signal, UInt_t param)
 
void Emit (const char *signal, ULong_t param)
 
void Emit (const char *signal, ULong64_t param)
 
void Emit (const char *signal, Float_t param)
 
Bool_t Connect (const char *signal, const char *receiver_class, void *receiver, const char *slot)
 Non-static method is used to connect from the signal of this object to the receiver slot. More...
 
Bool_t Disconnect (const char *signal=0, void *receiver=0, const char *slot=0)
 Disconnects signal of this object from slot of receiver. More...
 
virtual void HighPriority (const char *signal_name, const char *slot_name=0)
 
virtual void LowPriority (const char *signal_name, const char *slot_name=0)
 
virtual Bool_t HasConnection (const char *signal_name) const
 Return true if there is any object connected to this signal. More...
 
virtual Int_t NumberOfSignals () const
 Return number of signals for this object. More...
 
virtual Int_t NumberOfConnections () const
 Return number of connections for this object. More...
 
virtual void Connected (const char *)
 
virtual void Disconnected (const char *)
 
virtual void Destroyed ()
 
virtual void ChangedBy (const char *method)
 
virtual void Message (const char *msg)
 

Static Public Member Functions

static Long_t GetVirtMemMax ()
 VirtMemMax getter. More...
 
static Long_t GetResMemMax ()
 ResMemMax getter. More...
 
static Float_t GetMemHWM ()
 MemHWM getter. More...
 
static Float_t GetMemStop ()
 MemStop getter. More...
 
static FILE * SetErrorHandlerFile (FILE *ferr)
 Set the file stream where to log (default stderr). More...
 
static void ErrorHandler (Int_t level, Bool_t abort, const char *location, const char *msg)
 The PROOF error handler function. More...
 
static void ResolveKeywords (TString &fname, const char *path=0)
 Replace <ord>, <user>, <u>, <group>, <stag>, <qnum>, <file>, <rver> and <build> placeholders in fname. More...
 
static void SetLastMsg (const char *lastmsg)
 Set the message to be sent back in case of exceptions. More...
 
static void SetLastEntry (Long64_t lastentry)
 Set the last entry before exception. More...
 
static void FilterLocalroot (TString &path, const char *url="root://dum/")
 If 'path' is local and 'dsrv' is Xrootd, apply 'path.Localroot' settings, if any. More...
 
static void GetLocalServer (TString &dsrv)
 Extract LOCALDATASERVER info in 'dsrv'. More...
 
static TMapGetDataSetNodeMap (TFileCollection *fc, TString &emsg)
 Get a map {server-name, list-of-files} for collection 'fc' to be used in TPacketizerFile. More...
 
static Int_t RegisterDataSets (TList *in, TList *out, TDataSetManager *dsm, TString &e)
 Register TFileCollections in 'out' as datasets according to the rules in 'in'. More...
 
static Bool_t IsActive ()
 Static function that returns kTRUE in case we are a PROOF server. More...
 
static TProofServThis ()
 Static function returning pointer to global object gProofServ. More...
 
- Static Public Member Functions inherited from TApplication
static Long_t ExecuteFile (const char *file, Int_t *error=0, Bool_t keep=kFALSE)
 Execute a file containing a C++ macro (static method). More...
 
static TListGetApplications ()
 Static method returning the list of available applications. More...
 
static void CreateApplication ()
 Static function used to create a default application environment. More...
 
static void NeedGraphicsLibs ()
 Static method. More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Static Public Member Functions inherited from TQObject
static Bool_t Connect (TQObject *sender, const char *signal, const char *receiver_class, void *receiver, const char *slot)
 Create connection between sender and receiver. More...
 
static Bool_t Connect (const char *sender_class, const char *signal, const char *receiver_class, void *receiver, const char *slot)
 This method allows to make a connection from any object of the same class to a single slot. More...
 
static Bool_t Disconnect (TQObject *sender, const char *signal=0, void *receiver=0, const char *slot=0)
 Disconnects signal in object sender from slot_method in object receiver. More...
 
static Bool_t Disconnect (const char *class_name, const char *signal, void *receiver=0, const char *slot=0)
 Disconnects "class signal". More...
 
static Bool_t AreAllSignalsBlocked ()
 Returns true if all signals are blocked. More...
 
static Bool_t BlockAllSignals (Bool_t b)
 Block or unblock all signals. Returns the previous block status. More...
 

Protected Member Functions

virtual void HandleArchive (TMessage *mess, TString *slb=0)
 Handle archive request. More...
 
virtual Int_t HandleCache (TMessage *mess, TString *slb=0)
 Handle here all cache and package requests. More...
 
virtual void HandleCheckFile (TMessage *mess, TString *slb=0)
 Handle file checking request. More...
 
virtual Int_t HandleDataSets (TMessage *mess, TString *slb=0)
 Handle here requests about datasets. More...
 
virtual void HandleSubmerger (TMessage *mess)
 Handle a message of type kPROOF_SUBMERGER. More...
 
virtual void HandleFork (TMessage *mess)
 Cloning itself via fork. Not implemented. More...
 
virtual Int_t HandleLibIncPath (TMessage *mess)
 Handle lib, inc search paths modification request. More...
 
virtual void HandleProcess (TMessage *mess, TString *slb=0)
 Handle processing request. More...
 
virtual void HandleQueryList (TMessage *mess)
 Handle request for list of queries. More...
 
virtual void HandleRemove (TMessage *mess, TString *slb=0)
 Handle remove request. More...
 
virtual void HandleRetrieve (TMessage *mess, TString *slb=0)
 Handle retrieve request. More...
 
virtual Int_t HandleWorkerLists (TMessage *mess)
 Handle here all requests to modify worker lists. More...
 
virtual void ProcessNext (TString *slb=0)
 process the next query from the queue of submitted jobs. More...
 
virtual Int_t Setup ()
 Print the ProofServ logo on standard output. More...
 
Int_t SetupCommon ()
 Common part (between TProofServ and TXProofServ) of the setup phase. More...
 
virtual void MakePlayer ()
 Make player instance. More...
 
virtual void DeletePlayer ()
 Delete player instance. More...
 
virtual Int_t Fork ()
 Fork a child. More...
 
Int_t GetSessionStatus ()
 Return the status of this session: 0 idle 1 running 2 being terminated (currently unused) 3 queued 4 idle timed-out (not set in here but in TIdleTOTimer::Notify) This is typically run in the reader thread, so access needs to be protected. More...
 
Bool_t IsIdle ()
 Return the idle status. More...
 
Bool_t UnlinkDataDir (const char *path)
 Scan recursively the datadir and unlink it if empty Return kTRUE if it can be unlinked, kFALSE otherwise. More...
 
- Protected Member Functions inherited from TApplication
 TApplication ()
 Default ctor. Can be used by classes deriving from TApplication. More...
 
virtual Long_t ProcessRemote (const char *line, Int_t *error=0)
 Process the content of a line starting with ".R" (already stripped-off) The format is

[user@]host[:dir] [-l user] [-d dbg] [script] | [host] -close

The variable 'dir' is the remote directory to be used as working dir. More...

 
virtual void Help (const char *line)
 Print help on interpreter. More...
 
virtual void LoadGraphicsLibs ()
 Load shared libs necessary for graphics. More...
 
virtual void MakeBatch ()
 Switch to batch mode. More...
 
void SetSignalHandler (TSignalHandler *sh)
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
- Protected Member Functions inherited from TQObject
virtual voidGetSender ()
 
virtual const char * GetSenderClassName () const
 

Static Protected Attributes

static TString fgLastMsg
 
static Long64_t fgLastEntry = -1
 
- Static Protected Attributes inherited from TApplication
static TListfgApplications = 0
 
- Static Protected Attributes inherited from TQObject
static Bool_t fgAllSignalsBlocked = kFALSE
 flag used for suppression of signals More...
 

Private Member Functions

Int_t GetCompressionLevel () const
 
void RedirectOutput (const char *dir=0, const char *mode="w")
 Redirect stdout to a log file. More...
 
Int_t CatMotd ()
 Print message of the day (in the file pointed by the env PROOFMOTD or from fConfDir/etc/proof/motd). More...
 
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. More...
 
Int_t UnloadPackages ()
 Unloads all enabled packages. Returns -1 in case of error, 0 otherwise. More...
 
Int_t OldAuthSetup (TString &wconf)
 Setup authentication related stuff for old versions. More...
 
Int_t GetPriority ()
 Get the processing priority for the group the user belongs too. More...
 
TProofQueryResultMakeQueryResult (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. More...
 
void SetQueryRunning (TProofQueryResult *pq)
 Set query in running state. More...
 
Int_t SendResults (TSocket *sock, TList *outlist=0, TQueryResult *pq=0)
 Sends all objects from the given list to the specified socket. More...
 
Bool_t AcceptResults (Int_t connections, TVirtualProofPlayer *mergerPlayer)
 Accept and merge results from a set of workers. More...
 
void SetIdle (Bool_t st=kTRUE)
 Change the idle status. More...
 
Bool_t IsWaiting ()
 Return kTRUE if the session is waiting for the OK to start processing. More...
 
Int_t WaitingQueries ()
 Return the number of waiting queries. More...
 
Int_t QueueQuery (TProofQueryResult *pq)
 Add a query to the waiting list Returns the number of queries in the list. More...
 
TProofQueryResultNextQuery ()
 Get the next query from the waiting list. More...
 
Int_t CleanupWaitingQueries (Bool_t del=kTRUE, TList *qls=0)
 Cleanup the waiting queries list. More...
 

Private Attributes

TString fService
 
TString fUser
 
TString fGroup
 
TString fConfDir
 
TString fConfFile
 
TString fWorkDir
 
TString fImage
 
TString fSessionTag
 
TString fTopSessionTag
 
TString fSessionDir
 
TString fPackageDir
 
THashListfGlobalPackageDirList
 
TString fCacheDir
 
TString fQueryDir
 
TString fDataSetDir
 
TString fDataDir
 
TString fDataDirOpts
 
TString fAdminPath
 
TString fOutputFile
 
TProofLockPathfPackageLock
 
TProofLockPathfCacheLock
 
TProofLockPathfQueryLock
 
TString fArchivePath
 
TSocketfSocket
 
TProoffProof
 
TVirtualProofPlayerfPlayer
 
FILE * fLogFile
 
Int_t fLogFileDes
 
Long64_t fLogFileMaxSize
 
TListfEnabledPackages
 
Int_t fProtocol
 
TString fOrdinal
 
Int_t fGroupId
 
Int_t fGroupSize
 
Int_t fLogLevel
 
Int_t fNcmd
 
Int_t fGroupPriority
 
Bool_t fEndMaster
 
Bool_t fMasterServ
 
Bool_t fInterrupt
 
Float_t fRealTime
 
Float_t fCpuTime
 
TStopwatch fLatency
 
TStopwatch fCompute
 
TStopwatch fSaveOutput
 
Int_t fQuerySeqNum
 
Int_t fTotSessions
 
Int_t fActSessions
 
Float_t fEffSessions
 
TFileHandlerfInputHandler
 
TQueryResultManagerfQMgr
 
TListfWaitingQueries
 
Bool_t fIdle
 
std::recursive_mutex fQMtx
 
TListfQueuedMsg
 
TString fPrefix
 
Bool_t fRealTimeLog
 
TShutdownTimerfShutdownTimer
 
TReaperTimerfReaperTimer
 
TIdleTOTimerfIdleTOTimer
 
Int_t fCompressMsg
 
TDataSetManagerfDataSetManager
 
TDataSetManagerFilefDataSetStgRepo
 
Bool_t fSendLogToMaster
 
TServerSocketfMergingSocket
 
TMonitorfMergingMonitor
 
Int_t fMergedWorkers
 
Int_t fMaxQueries
 
Long64_t fMaxBoxSize
 
Long64_t fHWMBoxSize
 
Long64_t fMsgSizeHWM
 

Static Private Attributes

static Long_t fgVirtMemMax = -1
 
static Long_t fgResMemMax = -1
 
static Float_t fgMemHWM = 0.80
 
static Float_t fgMemStop = 0.95
 
static FILE * fgErrorHandlerFile = 0
 
static Int_t fgRecursive = 0
 
static Int_t fgLogToSysLog = 0
 
static TString fgSysLogService
 
static TString fgSysLogEntity
 

Friends

class TProofServLite
 
class TXProofServ
 

Additional Inherited Members

- Static Protected Member Functions inherited from TApplication
static Int_t ParseRemoteLine (const char *ln, TString &hostdir, TString &user, Int_t &dbg, TString &script)
 Parse the content of a line starting with ".R" (already stripped-off) The format is

[user@]host[:dir] [-l user] [-d dbg] [script]

The variable 'dir' is the remote directory to be used as working dir. More...

 
static TApplicationOpen (const char *url, Int_t debug, const char *script)
 Static function used to attach to an existing remote application or to start one. More...
 
static void Close (TApplication *app)
 Static function used to close a remote application. More...
 
- Static Protected Member Functions inherited from TQObject
static Bool_t ConnectToClass (TQObject *sender, const char *signal, TClass *receiver_class, void *receiver, const char *slot)
 Create connection between sender and receiver. More...
 
static Bool_t ConnectToClass (const char *sender_class, const char *signal, TClass *receiver_class, void *receiver, const char *slot)
 This method allows to make connection from any object of the same class to the receiver object. More...
 
static Int_t CheckConnectArgs (TQObject *sender, TClass *sender_class, const char *signal, TClass *receiver_class, const char *slot)
 Checking of consitency of sender/receiver methods/arguments. More...
 
static TString CompressName (const char *method_name)
 
- Protected Attributes inherited from TApplication
TApplicationfAppRemote
 
- Protected Attributes inherited from TQObject
TListfListOfSignals
 
TListfListOfConnections
 list of signals from this object More...
 
Bool_t fSignalsBlocked
 list of connections to this object More...
 

#include <TProofServ.h>

Inheritance diagram for TProofServ:
[legend]

Member Enumeration Documentation

Enumerator
kQueryOK 
kQueryModify 
kQueryStop 
kQueryEnqueued 

Definition at line 83 of file TProofServ.h.

Enumerator
kHighMemory 

Definition at line 82 of file TProofServ.h.

Constructor & Destructor Documentation

TProofServ::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.

Definition at line 559 of file TProofServ.cxx.

TProofServ::~TProofServ ( )
virtual

Cleanup.

Not really necessary since after this dtor there is no live anyway.

Definition at line 1003 of file TProofServ.cxx.

Member Function Documentation

Bool_t TProofServ::AcceptResults ( Int_t  connections,
TVirtualProofPlayer mergerPlayer 
)
private

Accept and merge results from a set of workers.

Definition at line 2244 of file TProofServ.cxx.

Referenced by HandleSubmerger().

Int_t TProofServ::CatMotd ( )
private

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.

Definition at line 1024 of file TProofServ.cxx.

Referenced by TXProofServ::CreateServer(), and CreateServer().

Int_t TProofServ::CleanupWaitingQueries ( Bool_t  del = kTRUE,
TList qls = 0 
)
private

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

Definition at line 7333 of file TProofServ.cxx.

Referenced by HandleRemove().

Int_t TProofServ::CreateServer ( )
virtual

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

Reimplemented in TXProofServ, and TProofServLite.

Definition at line 793 of file TProofServ.cxx.

Referenced by Run().

void TProofServ::DeletePlayer ( )
protectedvirtual

Delete player instance.

Definition at line 6360 of file TProofServ.cxx.

Referenced by HandleProcess(), HandleSocketInput(), HandleSubmerger(), MakePlayer(), and ProcessNext().

virtual void TProofServ::DisableTimeout ( )
inlinevirtual

Reimplemented in TXProofServ.

Definition at line 329 of file TProofServ.h.

virtual void TProofServ::EnableTimeout ( )
inlinevirtual

Reimplemented in TXProofServ.

Definition at line 330 of file TProofServ.h.

void TProofServ::ErrorHandler ( Int_t  level,
Bool_t  abort,
const char *  location,
const char *  msg 
)
static

The PROOF error handler function.

It prints the message on fgErrorHandlerFile and if abort is set it aborts the application.

Definition at line 6208 of file TProofServ.cxx.

Referenced by TProofPlayerRemote::RedirectOutput(), and TProofServ().

void TProofServ::FilterLocalroot ( TString path,
const char *  dsrv = "root://dum/" 
)
static

If 'path' is local and 'dsrv' is Xrootd, apply 'path.Localroot' settings, if any.

The final path via the server is dsrv+path.

Definition at line 7419 of file TProofServ.cxx.

Referenced by TProofPlayerRemote::AddOutputObject(), TProofOutputFile::AdoptFile(), TProofOutputFile::Init(), TProofPlayerRemote::MergeOutputFiles(), TSelEventGen::Process(), and TProofPlayer::SavePartialResults().

void TProofServ::FlushLogFile ( )

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.

Definition at line 6466 of file TProofServ.cxx.

Referenced by TProofServLite::CreateServer(), TXProofServ::CreateServer(), TXProofServ::HandleError(), TProof::HandleInputMessage(), SendLogFile(), SetupCommon(), and TProofServLite::SetupOnFork().

Int_t TProofServ::Fork ( )
protectedvirtual

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.

Definition at line 7118 of file TProofServ.cxx.

Referenced by TProofServLite::HandleFork().

TObject * TProofServ::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.

Definition at line 1097 of file TProofServ.cxx.

Int_t TProofServ::GetActSessions ( ) const
inline

Definition at line 276 of file TProofServ.h.

Referenced by TVirtualPacketizer::HandleTimer().

const char* TProofServ::GetCacheDir ( ) const
inline

Definition at line 262 of file TProofServ.h.

Referenced by TProofPlayer::AssertSelector().

TProofLockPath* TProofServ::GetCacheLock ( )
inline

Definition at line 294 of file TProofServ.h.

Referenced by TProofPlayer::AssertSelector(), and TProofPlayer::Process().

Int_t TProofServ::GetCompressionLevel ( ) const
inlineprivate

Definition at line 477 of file TProofServ.h.

Referenced by SendResults().

const char* TProofServ::GetConfDir ( ) const
inline

Definition at line 252 of file TProofServ.h.

Referenced by CatMotd(), and CreateServer().

const char* TProofServ::GetConfFile ( ) const
inline

Definition at line 253 of file TProofServ.h.

Float_t TProofServ::GetCpuTime ( ) const
inline

Definition at line 272 of file TProofServ.h.

const char* TProofServ::GetDataDir ( ) const
inline
const char* TProofServ::GetDataDirOpts ( ) const
inline
TMap * TProofServ::GetDataSetNodeMap ( TFileCollection fc,
TString emsg 
)
static

Get a map {server-name, list-of-files} for collection 'fc' to be used in TPacketizerFile.

Returns a pointer to the map (ownership of the caller). Or (TMap *)0 and an error message in emsg.

Definition at line 3801 of file TProofServ.cxx.

Referenced by HandleProcess(), and TProofLite::Process().

Float_t TProofServ::GetEffSessions ( ) const
inline
TList* TProofServ::GetEnabledPackages ( ) const
inline

Definition at line 280 of file TProofServ.h.

Referenced by TProof::SetupWorkersEnv().

const char* TProofServ::GetGroup ( ) const
inline
Int_t TProofServ::GetGroupId ( ) const
inline

Definition at line 267 of file TProofServ.h.

Int_t TProofServ::GetGroupSize ( ) const
inline

Definition at line 268 of file TProofServ.h.

const char* TProofServ::GetImage ( ) const
inline
void TProofServ::GetLocalServer ( TString dsrv)
static
Int_t TProofServ::GetLogLevel ( ) const
inline

Definition at line 269 of file TProofServ.h.

Float_t TProofServ::GetMemHWM ( )
static

MemHWM getter.

Definition at line 7387 of file TProofServ.cxx.

Referenced by TProofPlayer::CheckMemUsage().

Float_t TProofServ::GetMemStop ( )
static

MemStop getter.

Definition at line 7394 of file TProofServ.cxx.

Referenced by TProofPlayer::CheckMemUsage().

Long64_t TProofServ::GetMsgSizeHWM ( ) const
inline

Definition at line 287 of file TProofServ.h.

Referenced by TProofPlayerRemote::HandleHistogram().

TDSetElement * TProofServ::GetNextPacket ( Long64_t  totalEntries = -1)

Get next range of entries to be processed on this server.

Definition at line 1147 of file TProofServ.cxx.

Referenced by TPacketizerUnit::GetNextPacket(), and TDSetProxy::Next().

void TProofServ::GetOptions ( Int_t argc,
char **  argv 
)
virtual

Get and handle command line options.

Fixed format: "proofserv"|"proofslave" <confdir>

Reimplemented from TApplication.

Definition at line 1286 of file TProofServ.cxx.

Referenced by TProofServ().

const char* TProofServ::GetOrdinal ( ) const
inline
const char* TProofServ::GetPackageDir ( ) const
inline

Definition at line 261 of file TProofServ.h.

Referenced by TProof::Init().

const char* TProofServ::GetPrefix ( ) const
inline
Int_t TProofServ::GetPriority ( )
private

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 )

Definition at line 6392 of file TProofServ.cxx.

Referenced by SetupCommon().

TProof* TProofServ::GetProof ( ) const
inline
Int_t TProofServ::GetProtocol ( ) const
inline
Int_t TProofServ::GetQuerySeqNum ( ) const
inline

Definition at line 273 of file TProofServ.h.

Referenced by ResolveKeywords(), and TProofPlayer::SavePartialResults().

Float_t TProofServ::GetRealTime ( ) const
inline

Definition at line 271 of file TProofServ.h.

Long_t TProofServ::GetResMemMax ( )
static

ResMemMax getter.

Definition at line 7380 of file TProofServ.cxx.

Referenced by TProofPlayer::CheckMemUsage().

const char* TProofServ::GetService ( ) const
inline

Definition at line 251 of file TProofServ.h.

Referenced by CreateServer().

const char* TProofServ::GetSessionDir ( ) const
inline
Int_t TProofServ::GetSessionStatus ( )
protected

Return the status of this session: 0 idle 1 running 2 being terminated (currently unused) 3 queued 4 idle timed-out (not set in here but in TIdleTOTimer::Notify) This is typically run in the reader thread, so access needs to be protected.

Definition at line 7239 of file TProofServ.cxx.

Referenced by UpdateSessionStatus().

const char* TProofServ::GetSessionTag ( ) const
inline
TSocket* TProofServ::GetSocket ( ) const
inline
const char* TProofServ::GetTopSessionTag ( ) const
inline

Definition at line 259 of file TProofServ.h.

Referenced by TProofPlayer::SavePartialResults().

Int_t TProofServ::GetTotSessions ( ) const
inline

Definition at line 275 of file TProofServ.h.

Referenced by TProofPlayerSuperMaster::HandleTimer().

const char* TProofServ::GetUser ( ) const
inline
Long_t TProofServ::GetVirtMemMax ( )
static

VirtMemMax getter.

Definition at line 7373 of file TProofServ.cxx.

Referenced by TProofPlayer::CheckMemUsage().

const char* TProofServ::GetWorkDir ( ) const
inline
TProofServ::EQueryAction TProofServ::GetWorkers ( TList workers,
Int_t prioritychange,
Bool_t  resume = kFALSE 
)
virtual

Get list of workers to be used from now on.

The list must be provided by the caller.

Reimplemented in TXProofServ.

Definition at line 6145 of file TProofServ.cxx.

Referenced by TXProofServ::GetWorkers(), HandleProcess(), HandleSocketInput(), TProof::PollForNewWorkers(), TProofSuperMaster::StartSlaves(), and TProof::StartSlaves().

void TProofServ::HandleArchive ( TMessage mess,
TString slb = 0 
)
protectedvirtual

Handle archive request.

Definition at line 3689 of file TProofServ.cxx.

Referenced by HandleSocketInput().

Int_t TProofServ::HandleCache ( TMessage mess,
TString slb = 0 
)
protectedvirtual

Handle here all cache and package requests.

Definition at line 5403 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::HandleCheckFile ( TMessage mess,
TString slb = 0 
)
protectedvirtual

Handle file checking request.

Definition at line 5218 of file TProofServ.cxx.

Referenced by HandleSocketInput().

Int_t TProofServ::HandleDataSets ( TMessage mess,
TString slb = 0 
)
protectedvirtual

Handle here requests about datasets.

Definition at line 6540 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::HandleException ( Int_t  sig)
virtual

Exception handler: we do not try to recover here, just exit.

Reimplemented from TApplication.

Definition at line 6523 of file TProofServ.cxx.

void TProofServ::HandleFork ( TMessage mess)
protectedvirtual

Cloning itself via fork. Not implemented.

Reimplemented in TProofServLite.

Definition at line 7107 of file TProofServ.cxx.

Referenced by HandleSocketInput().

Int_t TProofServ::HandleLibIncPath ( TMessage mess)
protectedvirtual

Handle lib, inc search paths modification request.

Definition at line 5088 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::HandleProcess ( TMessage mess,
TString slb = 0 
)
protectedvirtual

Handle processing request.

Definition at line 3848 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::HandleQueryList ( TMessage mess)
protectedvirtual

Handle request for list of queries.

Definition at line 4884 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::HandleRemove ( TMessage mess,
TString slb = 0 
)
protectedvirtual

Handle remove request.

Definition at line 4947 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::HandleRetrieve ( TMessage mess,
TString slb = 0 
)
protectedvirtual

Handle retrieve request.

Definition at line 5011 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::HandleSigPipe ( )
virtual

Called when the client is not alive anymore (i.e.

when kKeepAlive has failed).

Reimplemented in TXProofServ, and TProofServLite.

Definition at line 2473 of file TProofServ.cxx.

Int_t TProofServ::HandleSocketInput ( TMessage mess,
Bool_t  all 
)
virtual

Process input coming from the client or from the master server.

If 'all' is kFALSE, process only those messages that can be handled during query 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

Definition at line 1473 of file TProofServ.cxx.

Referenced by ClassImp().

void TProofServ::HandleSocketInput ( )
virtual

Handle input coming from the client or from the master server.

Definition at line 1325 of file TProofServ.cxx.

Referenced by Get(), GetNextPacket(), and TXProofServ::HandleInput().

void TProofServ::HandleSubmerger ( TMessage mess)
protectedvirtual

Handle a message of type kPROOF_SUBMERGER.

Definition at line 6885 of file TProofServ.cxx.

Referenced by HandleSocketInput().

virtual void TProofServ::HandleTermination ( )
inlinevirtual

Reimplemented in TXProofServ, and TProofServLite.

Definition at line 303 of file TProofServ.h.

void TProofServ::HandleUrgentData ( )
virtual

Handle Out-Of-Band data sent by the master or client.

Reimplemented in TXProofServ.

Definition at line 2338 of file TProofServ.cxx.

Int_t TProofServ::HandleWorkerLists ( TMessage mess)
protectedvirtual

Handle here all requests to modify worker lists.

Definition at line 6044 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::Interrupt ( )
inline

Definition at line 304 of file TProofServ.h.

Referenced by TXProofServ::HandleUrgentData(), and HandleUrgentData().

Bool_t TProofServ::IsActive ( )
static

Static function that returns kTRUE in case we are a PROOF server.

Definition at line 3558 of file TProofServ.cxx.

Bool_t TProofServ::IsEndMaster ( ) const
inline

Definition at line 305 of file TProofServ.h.

Referenced by HandleWorkerLists(), and TPerfStats::TPerfStats().

Bool_t TProofServ::IsIdle ( )
protected

Return the idle status.

Definition at line 7271 of file TProofServ.cxx.

Referenced by HandleProcess(), and HandleSocketInput().

Bool_t TProofServ::IsMaster ( ) const
inline
Bool_t TProofServ::IsParallel ( ) const
Bool_t TProofServ::IsTopMaster ( ) const
inline
Bool_t TProofServ::IsWaiting ( )
private

Return kTRUE if the session is waiting for the OK to start processing.

Definition at line 7289 of file TProofServ.cxx.

void TProofServ::LogToMaster ( Bool_t  on = kTRUE)
inline
void TProofServ::MakePlayer ( )
protectedvirtual

Make player instance.

Definition at line 6336 of file TProofServ.cxx.

Referenced by HandleProcess(), and ProcessNext().

TProofQueryResult * TProofServ::MakeQueryResult ( Long64_t  nentries,
const char *  opt,
TList inl,
Long64_t  first,
TDSet dset,
const char *  selec,
TObject elist 
)
private

Create a TProofQueryResult instance for this query.

Definition at line 3615 of file TProofServ.cxx.

Referenced by HandleProcess().

TProofQueryResult * TProofServ::NextQuery ( )
private

Get the next query from the waiting list.

The query is removed from the list.

Definition at line 7320 of file TProofServ.cxx.

Referenced by ProcessNext().

Int_t TProofServ::OldAuthSetup ( TString conf)
private

Setup authentication related stuff for old versions.

Provided for backward compatibility.

Definition at line 3577 of file TProofServ.cxx.

Referenced by Setup().

void TProofServ::Print ( Option_t option = "") const
virtual

Print status of slave server.

Reimplemented from TObject.

Definition at line 2511 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::ProcessNext ( TString slb = 0)
protectedvirtual

process the next query from the queue of submitted jobs.

to be called on the top master only.

Definition at line 4505 of file TProofServ.cxx.

Referenced by HandleProcess(), and HandleSocketInput().

Int_t TProofServ::QueueQuery ( TProofQueryResult pq)
private

Add a query to the waiting list Returns the number of queries in the list.

Definition at line 7309 of file TProofServ.cxx.

Referenced by HandleProcess().

Int_t TProofServ::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 tokens. Returns -1 in case of error, 0 otherwise.

Definition at line 2583 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::RedirectOutput ( const char *  dir = 0,
const char *  mode = "w" 
)
private

Redirect stdout to a log file.

This log file will be flushed to the client or master after each command.

Definition at line 2523 of file TProofServ.cxx.

Referenced by TProofServLite::CreateServer(), TXProofServ::CreateServer(), CreateServer(), and TProofServLite::SetupOnFork().

Int_t TProofServ::RegisterDataSets ( TList in,
TList out,
TDataSetManager dsm,
TString e 
)
static

Register TFileCollections in 'out' as datasets according to the rules in 'in'.

Definition at line 4786 of file TProofServ.cxx.

Referenced by TProofLite::Process(), and ProcessNext().

virtual void TProofServ::ReleaseWorker ( const char *  )
inlinevirtual

Reimplemented in TXProofServ.

Definition at line 318 of file TProofServ.h.

Referenced by TProof::MarkBad(), and TProof::RemoveWorkers().

void TProofServ::Reset ( const char *  dir)

Reset PROOF environment to be ready for execution of next command.

Definition at line 2553 of file TProofServ.cxx.

Referenced by HandleSocketInput().

void TProofServ::ResolveKeywords ( TString fname,
const char *  path = 0 
)
static

Replace <ord>, <user>, <u>, <group>, <stag>, <qnum>, <file>, <rver> and <build> placeholders in fname.

Here, <rver> is the root version in integer form, e.g. 53403, and <build> a string includign version, architecture and compiler version, e.g. '53403_linuxx8664gcc_gcc46' .

Definition at line 7155 of file TProofServ.cxx.

Referenced by TProofOutputFile::Init(), TProofLite::Init(), TProof::Init(), TProofOutputFile::SetOutputFileName(), and SetupCommon().

void TProofServ::RestartComputeTime ( )

Reset the compute time.

Definition at line 1132 of file TProofServ.cxx.

Referenced by TEventIterTree::PreProcessEvent().

void TProofServ::Run ( Bool_t  retrn = kFALSE)
virtual

Main server eventloop.

Reimplemented from TApplication.

Definition at line 2655 of file TProofServ.cxx.

Int_t TProofServ::SendAsynMessage ( const char *  msg,
Bool_t  lf = kTRUE 
)
virtual
void TProofServ::SendLogFile ( Int_t  status = 0,
Int_t  start = -1,
Int_t  end = -1 
)
virtual

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.

Definition at line 2670 of file TProofServ.cxx.

Referenced by TProofServLite::CreateServer(), TXProofServ::CreateServer(), CreateServer(), HandleProcess(), HandleSocketInput(), HandleSubmerger(), TXProofServ::HandleUrgentData(), HandleUrgentData(), and TProofServLite::SetupOnFork().

void TProofServ::SendParallel ( Bool_t  async = kFALSE)

Send number of parallel nodes to master or client.

Definition at line 2785 of file TProofServ.cxx.

Referenced by TProof::AddWorkers(), and HandleSocketInput().

Int_t TProofServ::SendResults ( TSocket sock,
TList outlist = 0,
TQueryResult pq = 0 
)
private

Sends all objects from the given list to the specified socket.

Definition at line 4333 of file TProofServ.cxx.

Referenced by HandleProcess(), HandleSocketInput(), HandleSubmerger(), and ProcessNext().

void TProofServ::SendStatistics ( )

Send statistics of slave server to master or client.

Definition at line 2765 of file TProofServ.cxx.

Referenced by HandleSocketInput().

FILE * TProofServ::SetErrorHandlerFile ( FILE *  ferr)
static

Set the file stream where to log (default stderr).

If ferr == 0 the default is restored. Returns current setting.

Definition at line 6197 of file TProofServ.cxx.

Referenced by TProofPlayerRemote::RedirectOutput(), and TProofServ().

void TProofServ::SetIdle ( Bool_t  st = kTRUE)
private

Change the idle status.

Definition at line 7280 of file TProofServ.cxx.

Referenced by HandleProcess(), HandleSocketInput(), HandleSubmerger(), and ProcessNext().

void TProofServ::SetLastEntry ( Long64_t  lastentry)
static

Set the last entry before exception.

Definition at line 7365 of file TProofServ.cxx.

Referenced by TProofPlayer::Process().

void TProofServ::SetLastMsg ( const char *  lastmsg)
static

Set the message to be sent back in case of exceptions.

Definition at line 7357 of file TProofServ.cxx.

Referenced by TProofPlayer::Process(), and TProofPlayerRemote::SetLastMergingMsg().

void TProofServ::SetQueryRunning ( TProofQueryResult pq)
private

Set query in running state.

Definition at line 3649 of file TProofServ.cxx.

Referenced by ProcessNext().

Int_t TProofServ::Setup ( )
protectedvirtual

Print the ProofServ logo on standard output.

Return 0 on success, -1 on failure

Reimplemented in TXProofServ, and TProofServLite.

Definition at line 2865 of file TProofServ.cxx.

Referenced by CreateServer().

Int_t TProofServ::SetupCommon ( )
protected

Common part (between TProofServ and TXProofServ) of the setup phase.

Return 0 on success, -1 on error

Definition at line 3017 of file TProofServ.cxx.

Referenced by TProofServLite::Setup(), TXProofServ::Setup(), and Setup().

void TProofServ::Terminate ( Int_t  status)
virtual

Terminate the proof server.

Reimplemented from TApplication.

Reimplemented in TXProofServ, and TProofServLite.

Definition at line 3454 of file TProofServ.cxx.

Referenced by CreateServer(), HandleSigPipe(), HandleSocketInput(), HandleTermination(), HandleUrgentData(), and TIdleTOTimer::Notify().

TProofServ * TProofServ::This ( )
static

Static function returning pointer to global object gProofServ.

Mainly for use via CINT, where the gProofServ symbol might be deleted from the symbol table.

Definition at line 3568 of file TProofServ.cxx.

void TProofServ::TruncateLogFile ( )

Truncate the log file to the 80% of the required max size if this is set.

Definition at line 6476 of file TProofServ.cxx.

Referenced by HandleSocketInput(), and TDSetProxy::Next().

Bool_t TProofServ::UnlinkDataDir ( const char *  path)
protected

Scan recursively the datadir and unlink it if empty Return kTRUE if it can be unlinked, kFALSE otherwise.

Definition at line 3522 of file TProofServ.cxx.

Referenced by TProofServLite::Terminate(), TXProofServ::Terminate(), and Terminate().

Int_t TProofServ::UnloadPackage ( const char *  package)
private

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.

Definition at line 2811 of file TProofServ.cxx.

Referenced by HandleCache(), and UnloadPackages().

Int_t TProofServ::UnloadPackages ( )
private

Unloads all enabled packages. Returns -1 in case of error, 0 otherwise.

Definition at line 2846 of file TProofServ.cxx.

Referenced by HandleCache().

Int_t TProofServ::UpdateSessionStatus ( Int_t  xst = -1)

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.

Definition at line 7252 of file TProofServ.cxx.

Referenced by TXProofServ::HandleUrgentData(), and TIdleTOTimer::Notify().

Int_t TProofServ::WaitingQueries ( )
private

Return the number of waiting queries.

Definition at line 7299 of file TProofServ.cxx.

Referenced by HandleProcess(), and HandleSocketInput().

Friends And Related Function Documentation

friend class TProofServLite
friend

Definition at line 78 of file TProofServ.h.

friend class TXProofServ
friend

Definition at line 79 of file TProofServ.h.

Member Data Documentation

Int_t TProofServ::fActSessions
private

Definition at line 134 of file TProofServ.h.

Referenced by GetActSessions(), TXProofServ::HandleInput(), and TProofServ().

TString TProofServ::fAdminPath
private

Definition at line 103 of file TProofServ.h.

Referenced by TXProofServ::HandleUrgentData(), and UpdateSessionStatus().

TString TProofServ::fArchivePath
private

Definition at line 108 of file TProofServ.h.

Referenced by HandleArchive(), and TProofServ().

TString TProofServ::fCacheDir
private
TProofLockPath* TProofServ::fCacheLock
private
Int_t TProofServ::fCompressMsg
private
TStopwatch TProofServ::fCompute
private
TString TProofServ::fConfDir
private
TString TProofServ::fConfFile
private
Float_t TProofServ::fCpuTime
private
TString TProofServ::fDataDir
private
TString TProofServ::fDataDirOpts
private

Definition at line 102 of file TProofServ.h.

Referenced by GetDataDirOpts(), and SetupCommon().

TString TProofServ::fDataSetDir
private

Definition at line 100 of file TProofServ.h.

Referenced by SetupCommon().

TDataSetManager* TProofServ::fDataSetManager
private
TDataSetManagerFile* TProofServ::fDataSetStgRepo
private

Definition at line 158 of file TProofServ.h.

Referenced by HandleDataSets(), SetupCommon(), TProofServ(), and ~TProofServ().

Float_t TProofServ::fEffSessions
private

Definition at line 135 of file TProofServ.h.

Referenced by GetEffSessions(), TXProofServ::HandleInput(), and TProofServ().

TList* TProofServ::fEnabledPackages
private
Bool_t TProofServ::fEndMaster
private

Definition at line 123 of file TProofServ.h.

Referenced by TXProofServ::CreateServer(), CreateServer(), GetOptions(), and IsEndMaster().

FILE * TProofServ::fgErrorHandlerFile = 0
staticprivate

Definition at line 181 of file TProofServ.h.

Referenced by ErrorHandler(), and SetErrorHandlerFile().

Long64_t TProofServ::fgLastEntry = -1
staticprotected

Definition at line 242 of file TProofServ.h.

Referenced by HandleException(), HandleSocketInput(), and SetLastEntry().

TString TProofServ::fgLastMsg
staticprotected

Definition at line 241 of file TProofServ.h.

Referenced by HandleException(), HandleSocketInput(), and SetLastMsg().

THashList* TProofServ::fGlobalPackageDirList
private

Definition at line 97 of file TProofServ.h.

Referenced by HandleCache(), SetupCommon(), TProofServ(), and ~TProofServ().

Int_t TProofServ::fgLogToSysLog = 0
staticprivate
Float_t TProofServ::fgMemHWM = 0.80
staticprivate

Definition at line 175 of file TProofServ.h.

Referenced by GetMemHWM(), and TProofServ().

Float_t TProofServ::fgMemStop = 0.95
staticprivate

Definition at line 176 of file TProofServ.h.

Referenced by GetMemStop(), and TProofServ().

Int_t TProofServ::fgRecursive = 0
staticprivate

Definition at line 182 of file TProofServ.h.

Referenced by HandleSocketInput().

Long_t TProofServ::fgResMemMax = -1
staticprivate

Definition at line 173 of file TProofServ.h.

Referenced by GetResMemMax(), TXProofServ::Terminate(), Terminate(), and TProofServ().

TString TProofServ::fGroup
private

Definition at line 88 of file TProofServ.h.

Referenced by GetGroup(), GetPriority(), TXProofServ::HandleInput(), and SetupCommon().

Int_t TProofServ::fGroupId
private

Definition at line 118 of file TProofServ.h.

Referenced by GetGroupId(), HandleSocketInput(), and TProofServ().

Int_t TProofServ::fGroupPriority
private

Definition at line 122 of file TProofServ.h.

Referenced by TXProofServ::HandleInput(), SetupCommon(), and TProofServ().

Int_t TProofServ::fGroupSize
private

Definition at line 119 of file TProofServ.h.

Referenced by GetGroupSize(), HandleSocketInput(), and TProofServ().

TString TProofServ::fgSysLogEntity
staticprivate
TString TProofServ::fgSysLogService
staticprivate

Definition at line 186 of file TProofServ.h.

Referenced by TProofServ().

Long_t TProofServ::fgVirtMemMax = -1
staticprivate

Definition at line 172 of file TProofServ.h.

Referenced by GetVirtMemMax(), TXProofServ::Terminate(), Terminate(), and TProofServ().

Long64_t TProofServ::fHWMBoxSize
private

Definition at line 169 of file TProofServ.h.

Referenced by SetupCommon(), and TProofServ().

Bool_t TProofServ::fIdle
private
TIdleTOTimer* TProofServ::fIdleTOTimer
private
TString TProofServ::fImage
private

Definition at line 92 of file TProofServ.h.

Referenced by GetImage(), TXProofServ::GetWorkers(), GetWorkers(), and SetupCommon().

TFileHandler* TProofServ::fInputHandler
private

Definition at line 137 of file TProofServ.h.

Referenced by CreateServer(), and TProofServ().

Bool_t TProofServ::fInterrupt
private

Definition at line 125 of file TProofServ.h.

Referenced by Interrupt(), and TProofServ().

TStopwatch TProofServ::fLatency
private

Definition at line 128 of file TProofServ.h.

Referenced by GetNextPacket(), and HandleProcess().

FILE* TProofServ::fLogFile
private
Int_t TProofServ::fLogFileDes
private
Long64_t TProofServ::fLogFileMaxSize
private

Definition at line 114 of file TProofServ.h.

Referenced by TProofServ(), and TruncateLogFile().

Int_t TProofServ::fLogLevel
private
Bool_t TProofServ::fMasterServ
private
Long64_t TProofServ::fMaxBoxSize
private

Definition at line 168 of file TProofServ.h.

Referenced by SetupCommon(), and TProofServ().

Int_t TProofServ::fMaxQueries
private

Definition at line 167 of file TProofServ.h.

Referenced by HandleSocketInput(), ProcessNext(), SetupCommon(), and TProofServ().

Int_t TProofServ::fMergedWorkers
private

Definition at line 164 of file TProofServ.h.

Referenced by TProofServ().

TMonitor* TProofServ::fMergingMonitor
private

Definition at line 163 of file TProofServ.h.

Referenced by AcceptResults(), HandleSubmerger(), and TProofServ().

TServerSocket* TProofServ::fMergingSocket
private

Definition at line 162 of file TProofServ.h.

Referenced by AcceptResults(), HandleProcess(), HandleSubmerger(), and TProofServ().

Long64_t TProofServ::fMsgSizeHWM
private

Definition at line 179 of file TProofServ.h.

Referenced by GetMsgSizeHWM(), SendResults(), and TProofServ().

Int_t TProofServ::fNcmd
private

Definition at line 121 of file TProofServ.h.

Referenced by HandleSocketInput(), and TProofServ().

TString TProofServ::fOrdinal
private
TString TProofServ::fOutputFile
private

Definition at line 104 of file TProofServ.h.

TString TProofServ::fPackageDir
private
TProofLockPath* TProofServ::fPackageLock
private

Definition at line 105 of file TProofServ.h.

Referenced by HandleCache(), HandleCheckFile(), SetupCommon(), TProofServ(), and ~TProofServ().

TVirtualProofPlayer* TProofServ::fPlayer
private
TString TProofServ::fPrefix
private
TProof* TProofServ::fProof
private
Int_t TProofServ::fProtocol
private
TQueryResultManager* TProofServ::fQMgr
private
std::recursive_mutex TProofServ::fQMtx
private
TString TProofServ::fQueryDir
private
TProofLockPath* TProofServ::fQueryLock
private
Int_t TProofServ::fQuerySeqNum
private

Definition at line 131 of file TProofServ.h.

Referenced by GetQuerySeqNum(), HandleProcess(), ProcessNext(), and TProofServ().

TList* TProofServ::fQueuedMsg
private

Definition at line 145 of file TProofServ.h.

Referenced by HandleSocketInput(), and TProofServ().

Float_t TProofServ::fRealTime
private
Bool_t TProofServ::fRealTimeLog
private
TReaperTimer* TProofServ::fReaperTimer
private

Definition at line 152 of file TProofServ.h.

Referenced by Fork(), and TProofServ().

TStopwatch TProofServ::fSaveOutput
private

Definition at line 130 of file TProofServ.h.

Referenced by GetNextPacket(), and HandleProcess().

Bool_t TProofServ::fSendLogToMaster
private

Definition at line 160 of file TProofServ.h.

Referenced by LogToMaster(), SendLogFile(), and TProofServ().

TString TProofServ::fService
private
TString TProofServ::fSessionDir
private
TString TProofServ::fSessionTag
private
TShutdownTimer* TProofServ::fShutdownTimer
private

Definition at line 151 of file TProofServ.h.

Referenced by TXProofServ::CreateServer(), CreateServer(), and TProofServ().

TSocket* TProofServ::fSocket
private
TString TProofServ::fTopSessionTag
private
Int_t TProofServ::fTotSessions
private

Definition at line 133 of file TProofServ.h.

Referenced by GetTotSessions(), TXProofServ::HandleInput(), and TProofServ().

TString TProofServ::fUser
private
TList* TProofServ::fWaitingQueries
private
TString TProofServ::fWorkDir
private
Collaboration diagram for TProofServ:
[legend]

The documentation for this class was generated from the following files: