28#include "RConfigure.h" 
  135      Init(url, conffile, confdir, loglevel, alias);
 
  139   if (!
gROOT->GetListOfProofs()->FindObject(
this))
 
  140      gROOT->GetListOfProofs()->Add(
this);
 
  155                       const char *confdir, 
Int_t loglevel, 
const char *)
 
  166      if (!conffile || !conffile[0])
 
  168      if (!confdir  || !confdir[0])
 
  177      Error(
"Init", 
"could not create/assert sandbox for this session");
 
  184   if (sockpathdir(sockpathdir.
Length()-1) == 
'/') sockpathdir.
Remove(sockpathdir.
Length()-1);
 
  188      Error(
"Init", 
"Unix socket path '%s' is too long (%d bytes):",
 
  190      Error(
"Init", 
"use 'ProofLite.SockPathDir' to create it under a directory different" 
  191                    " from '%s'", sockpathdir.
Data());
 
  222   if (dynconf.
Length() > 0) {
 
  265      Warning(
"Init", 
"problems applying fMaxQueries");
 
  268      Warning(
"Init", 
"problems initializing the dataset manager");
 
  323      Warning(
"Init", 
"fork-based workers startup is not available on Windows - ignoring");
 
  335         Info(
"Init", 
" %d global package directories registered", nglb);
 
  340      Error(
"Init", 
"problems setting up workers");
 
  366   gROOT->GetListOfSockets()->Add(
this);
 
  411      TString sysname = 
"system.rootrc";
 
  421      ::Error(
"TProofLite::GetNumberOfWorkers",
 
  422              "PROOF-Lite disabled by the system administrator: sorry!");
 
  429   if (url && strlen(url)) {
 
  433         nw.
Remove(0, in + strlen(
"workers="));
 
  437            if ((nWorkers = nw.
Atoi()) <= 0) {
 
  438               ::Warning(
"TProofLite::GetNumberOfWorkers",
 
  439                         "number of workers specified by 'workers='" 
  440                         " is non-positive: using default");
 
  453            if ((nWorkers = nw.
Atoi()) == 0) {
 
  454               ::Warning(
"TProofLite::GetNumberOfWorkers",
 
  455                         "number of workers specified by 'workers='" 
  456                         " is non-positive: using default");
 
  471         if (notify) notify = 
kFALSE;
 
  477         ::Warning(
"TProofLite::GetNumberOfWorkers", 
"number of PROOF-Lite workers limited by" 
  478                                                     " the system administrator to %d", 
fgWrksMax);
 
  500      Error(
"SetupWorkers",
 
  501            "unable to create server socket for internal communications");
 
  512   Int_t nWrksDone = 0, nWrksTot = -1;
 
  520      for (; ord < nWrksTot; ord++) {
 
  524         fullord.
Form(
"%s.%d", o, ord);
 
  534         NotifyStartUp(
"Opening connections to workers", ++nWrksDone, nWrksTot);
 
  539         Warning(
"SetupWorkers", 
"standard startup: workers already started");
 
  547      for (; ord < nWrksTot; ord++) {
 
  551         fullord.
Form(
"%s.%d", o, ord + 1);
 
  552         if (!clones.
IsNull()) clones += 
" ";
 
  560         NotifyStartUp(
"Opening connections to workers", ++nWrksDone, nWrksTot);
 
  575   while (started.
GetSize() > 0 && nSelects < nWrksTot) {
 
  582      if (xs == (
TSocket *) -1) 
continue;
 
  589         if (s->
Recv(msg) < 0) {
 
  590            Warning(
"SetupWorkers", 
"problems receiving message from accepted socket!");
 
  607                     gROOT->GetListOfSockets()->Remove(s);
 
  625                     if (startedWorkers) startedWorkers->
Add(wrk);
 
  627                     NotifyStartUp(
"Setting up worker servers", ++nWrksDone, nWrksTot);
 
  634               Warning(
"SetupWorkers", 
"received empty message from accepted socket!");
 
  647         gROOT->GetPluginManager()->FindHandler(
"TProofProgressDialog")))
 
  672      snprintf(msg, 512, 
"%s: OK (%d workers)                 \n",
 
  675      snprintf(msg, 512, 
"%s: %d out of %d (%d %%)\r",
 
  676                   action, done, tot, frac);
 
  678   fprintf(stderr,
"%s", msg);
 
  687   if (!ord || strlen(ord) <= 0) {
 
  688      Error(
"SetProofServEnv", 
"ordinal string undefined");
 
  694   FILE *frc = fopen(rcfile.
Data(), 
"w");
 
  696      Error(
"SetProofServEnv", 
"cannot open rc file %s", rcfile.
Data());
 
  701   fprintf(frc,
"# The session working dir\n");
 
  702   fprintf(frc,
"ProofServ.SessionDir: %s/worker-%s\n", 
fWorkDir.
Data(), ord);
 
  705   fprintf(frc,
"# Session tag\n");
 
  706   fprintf(frc,
"ProofServ.SessionTag: %s\n", 
GetName());
 
  709   fprintf(frc,
"# Proof Log/Debug level\n");
 
  710   fprintf(frc,
"Proof.DebugLevel: %d\n", 
gDebug);
 
  713   fprintf(frc,
"# Ordinal number\n");
 
  714   fprintf(frc,
"ProofServ.Ordinal: %s\n", ord);
 
  717   fprintf(frc,
"# ROOT Version tag\n");
 
  718   fprintf(frc,
"ProofServ.RootVersionTag: %s\n", 
gROOT->GetVersion());
 
  723      Warning(
"SetProofServEnv", 
"problems getting sandbox string for worker");
 
  724   fprintf(frc,
"# Users sandbox\n");
 
  725   fprintf(frc, 
"ProofServ.Sandbox: %s\n", sandbox.
Data());
 
  728   fprintf(frc,
"# Users cache\n");
 
  732   fprintf(frc,
"# Users packages\n");
 
  736   fprintf(frc,
"# Server image\n");
 
  737   fprintf(frc, 
"ProofServ.Image: %s\n", 
fImage.
Data());
 
  740   fprintf(frc,
"# Open socket\n");
 
  744   fprintf(frc,
"# Client Protocol\n");
 
  752   FILE *fenv = fopen(envfile.
Data(), 
"w");
 
  754      Error(
"SetProofServEnv", 
"cannot open env file %s", envfile.
Data());
 
  765   fprintf(fenv, 
"export ROOTPROOFLOGFILE=%s\n", 
logfile.Data());
 
  767   fprintf(fenv, 
"export ROOTRCFILE=%s\n", rcfile.
Data());
 
  769   fprintf(fenv, 
"export ROOTVERSIONTAG=%s\n", 
gROOT->GetVersion());
 
  771   fprintf(fenv, 
"export ROOTPROOFLITE=%d\n", 
fNWorkers);
 
  773   fprintf(fenv, 
"export LOCALDATASERVER=\"file://\"\n");
 
  779      while ((env = (
TNamed *)nxenv())) {
 
  782         fprintf(fenv, 
"export %s=%s\n", env->
GetName(), senv.
Data());
 
  783         if (namelist.
Length() > 0)
 
  787      fprintf(fenv, 
"export PROOF_ALLVARS=%s\n", namelist.
Data());
 
  837               var = 
dynamic_cast<TNamed *
>(envVars->
FindObject(
"PROOF_SLAVE_CPUPIN_ORDER"));
 
  838               if (var) cpuPinList = var->
GetTitle();
 
  850         if (cpuPinList.
IsNull() || (cpuPinList == 
"*")) {
 
  860            for (
Int_t i=0; cpuPinList.
Tokenize(tok, from, 
"\\+"); i++) {
 
  862                  n = (tok.
Atoi() % nCpus);
 
  929   lastsess.
Form(
"%s/last-lite-session", sessdir.
Data());
 
  956      Printf(
"*** PROOF-Lite cluster %s(sequential mode)", ord.
Data());
 
  972   Printf(
"ROOT version|rev|tag:       %s", ver.
Data());
 
  988      Printf(
"List of workers:");
 
  990      while (
TSlave* sl = 
dynamic_cast<TSlave*
>(nextslave())) {
 
 1033   Info(
"SetQueryRunning", 
"starting query: %d", pq->
GetSeqNum());
 
 1061      Info(
"DrawSelect",
"not idle, asynchronous Draw not supported");
 
 1091   if (opt.Contains(
"fb=") || opt.Contains(
"feedback=")) 
SetFeedback(opt, optfb, 0);
 
 1098      Info(
"Process",
"asynchronous mode not yet supported in PROOF-Lite");
 
 1104      Info(
"Process", 
"not idle: cannot accept queries");
 
 1115      Error(
"Process", 
"invalid sesion or query-result manager undefined!");
 
 1132         Error(
"Process", 
"from AssertDataSet: %s", emsg.
Data());
 
 1136         Error(
"Process", 
"no files to process!");
 
 1139   } 
else if (hasNoData) {
 
 1148               emsg.
Form(
"dataset manager not initialized!");
 
 1153                  emsg.
Form(
"requested dataset '%s' does not exists", dsn.
Data());
 
 1160                     fcmap->
SetName(
"PROOF_FilesToProcess");
 
 1166               Error(
"HandleProcess", 
"%s", emsg.
Data());
 
 1173   TString selec(selector), varexp, selection, objname;
 
 1175   if (selec.BeginsWith(
"draw:")) {
 
 1180         Error(
"Process", 
"draw query: error parsing arguments '%s', '%s', '%s'",
 
 1181                          varexp.
Data(), selection.
Data(), opt.Data());
 
 1226   if (!
gROOT->IsBatch()) {
 
 1275   TList *startedWorkers = 0;
 
 1277      startedWorkers = 
new TList;
 
 1287      if (selector && strlen(selector)) {
 
 1326         Emit(
"StopProcess(Bool_t)", abort);
 
 1351               Warning(
"ProcessNext", 
"problems registering produced datasets: %s", err.
Data());
 
 1373         if (!(pq->
IsDraw()) && memqueries >= 0) {
 
 1383         msg.
Form(
"Lite-0: all output objects have been merged                                                         ");
 
 1384         fprintf(stderr, 
"%s\n", msg.
Data());
 
 1400      if (sst) rv = sst->
GetVal();
 
 1429      if (
gROOT->GetPluginManager()) {
 
 1431         h = 
gROOT->GetPluginManager()->FindHandler(
"TDataSetManager", dsm);
 
 1432         if (
h && 
h->LoadPlugin() != -1) {
 
 1436                                                         user.Data(), dsm.
Data()));
 
 1441      Warning(
"InitDataSetManager", 
"dataset manager plug-in initialization failed");
 
 1456         h = 
gROOT->GetPluginManager()->FindHandler(
"TDataSetManager", 
"file");
 
 1457         if (
h && 
h->LoadPlugin() == -1) 
h = 0;
 
 1462                           group.Data(), user.Data(),
 
 1466         Warning(
"InitDataSetManager", 
"default dataset manager plug-in initialization failed");
 
 1472      Info(
"InitDataSetManager", 
"datasetmgr Cq: %d, Ar: %d, Av: %d, Ti: %d, Sb: %d",
 
 1482   if (!dsReqCfg.
IsNull()) {
 
 1483      TPMERegexp reReqDir(
"(^| )(dir:)?([^ ]+)( |$)");
 
 1485      if (reReqDir.
Match(dsReqCfg) == 5) {
 
 1487         dsDirFmt.
Form(
"dir:%s perms:open", reReqDir[3].Data());
 
 1490            Warning(
"InitDataSetManager", 
"failed init of dataset staging requests repository");
 
 1494         Warning(
"InitDataSetManager", 
"specify, with [dir:]<path>, a valid path for staging requests");
 
 1497      Warning(
"InitDataSetManager", 
"no repository for staging requests available");
 
 1544   if (!macro || !macro[0]) {
 
 1545      Error(
"Load", 
"need to specify a macro name");
 
 1551   while (macs.Tokenize(mac, from, 
",")) {
 
 1576   return TProof::Load(macro, notOnClient, uniqueOnly, wrks);
 
 1607      Info(
"CopyMacroToCache", 
"enter: names: %s, %s", macro, 
name.Data());
 
 1611      Error(
"CopyMacroToCache", 
"file %s not found or not readable", 
name.Data());
 
 1631   const char *hext[] = { 
".h", 
".hh", 
"" };
 
 1634   while (strlen(hext[i]) > 0) {
 
 1635      hname = 
name(0, dot);
 
 1639      if (!checkedext.
IsNull()) checkedext += 
",";
 
 1640      checkedext += hext[i];
 
 1644   if (hname.
IsNull() && headerRequired == 1) {
 
 1645      Error(
"CopyMacroToCache", 
"header file for %s not found or not readable " 
 1646            "(checked extensions: %s)", 
name.Data(), checkedext.
Data());
 
 1649   if (headerRequired < 0)
 
 1663      if (md5 && md5cache && (*md5 == *md5cache))
 
 1664         useCacheBinaries = 
kTRUE;
 
 1669            if (md5h && md5hcache && (*md5h != *md5hcache))
 
 1670               useCacheBinaries = 
kFALSE;
 
 1681   dot = vername.
Last(
'.');
 
 1684   vername += 
".binversion";
 
 1688   if (useCacheBinaries) {
 
 1690      FILE *
f = fopen(
Form(
"%s/%s", cacheDir.
Data(), vername.
Data()), 
"r");
 
 1696      if (!
f || 
v != 
gROOT->GetVersion() || 
r != 
gROOT->GetGitCommit())
 
 1697         useCacheBinaries = 
kFALSE;
 
 1702   dot = binname.
Last(
'.');
 
 1710   if (useCacheBinaries) {
 
 1717            if (!strncmp(
e, binname.
Data(), binname.
Length()) ||
 
 1729                        Info(
"CopyMacroToCache",
 
 1730                             "retrieving %s from cache", fncache.
Data());
 
 1744         Error(
"CopyMacroToCache", 
"could not create a selector from %s", macro);
 
 1757         if (!strncmp(
e, binname.
Data(), binname.
Length()) ||
 
 1769                     Info(
"CopyMacroToCache",
"caching %s ...", 
e);
 
 1783      FILE *
f = fopen(
Form(
"%s/%s", cacheDir.
Data(), vername.
Data()), 
"w");
 
 1785         fputs(
gROOT->GetVersion(), 
f);
 
 1786         fputs(
Form(
"\n%s", 
gROOT->GetGitCommit()), 
f);
 
 1792   if (!useCacheBinaries) {
 
 1795         Info(
"CopyMacroToCache",
"caching %s ...", 
name.Data());
 
 1800            Info(
"CopyMacroToCache",
"caching %s ...", hname.
Data());
 
 1825   if (maxold < 0) 
return 0;
 
 1835         if (!strncmp(
e, 
"session-", 8) && !strstr(
e, 
GetName())) {
 
 1838            if (i != 
kNPOS) 
d.Remove(i);
 
 1840            if (i != 
kNPOS) 
d.Remove(0,i+1);
 
 1850   while (olddirs->
GetSize() > maxold) {
 
 1851      if (notify && 
gDebug > 0)
 
 1852         Printf(
"Cleaning sandbox at: %s", sandbox.
Data());
 
 1878   Int_t ntot = 0, npre = 0, ndraw= 0;
 
 1911               Warning(
"GetListOfQueries", 
"unable to clone TProofQueryResult '%s:%s'",
 
 1946      Info(
"RegisterDataSet", 
"dataset manager not available");
 
 1950   if (!uri || strlen(uri) <= 0) {
 
 1951      Info(
"RegisterDataSet", 
"specifying a dataset name is mandatory");
 
 1959      parallelverify = 
kTRUE;
 
 1969         Error(
"RegisterDataSet", 
"can not save an empty list.");
 
 1976      Info(
"RegisterDataSet", 
"dataset registration not allowed");
 
 1981      Error(
"RegisterDataSet", 
"dataset was not saved");
 
 1984   if (!parallelverify) 
return result;
 
 1989      Error(
"RegisterDataSet", 
"problems verifying dataset '%s'", uri);
 
 2005      Info(
"ExistsDataSet", 
"dataset manager not available");
 
 2009   if (!dataset || strlen(dataset) <= 0) {
 
 2010      Info(
"SetDataSetTreeName", 
"specifying a dataset name is mandatory");
 
 2014   if (!treename || strlen(treename) <= 0) {
 
 2015      Info(
"SetDataSetTreeName", 
"specifying a tree name is mandatory");
 
 2034      Info(
"ExistsDataSet", 
"dataset manager not available");
 
 2038   if (!uri || strlen(uri) <= 0) {
 
 2039      Error(
"ExistsDataSet", 
"dataset name missing");
 
 2053      Info(
"GetDataSets", 
"dataset manager not available");
 
 2058   if (srvex && strlen(srvex) > 0) {
 
 2073      Info(
"GetDataSet", 
"dataset manager not available");
 
 2087      Info(
"GetDataSet", 
"dataset manager not available");
 
 2091   if (!uri || strlen(uri) <= 0) {
 
 2092      Info(
"GetDataSet", 
"specifying a dataset name is mandatory");
 
 2107      Info(
"RemoveDataSet", 
"dataset manager not available");
 
 2117      Info(
"RemoveDataSet", 
"dataset creation / removal not allowed");
 
 2134      Error(
"RequestStagingDataSet", 
"invalid dataset specified");
 
 2139      Error(
"RequestStagingDataSet", 
"no dataset staging request repository available");
 
 2143   TString dsUser, dsGroup, dsName, dsTree;
 
 2151      Warning(
"RequestStagingDataSet", 
"staging of %s already requested", dataset);
 
 2158      Error(
"RequestStagingDataSet", 
"empty dataset or no dataset returned");
 
 2169      for (
Int_t i=0; i<nToErase; i++)
 
 2179      Error(
"RequestStagingDataSet", 
"can't register staging request for %s", dataset);
 
 2184   Info(
"RequestStagingDataSet", 
"Staging request registered for %s", dataset);
 
 2198      Error(
"CancelStagingDataSet", 
"invalid dataset specified");
 
 2203      Error(
"CancelStagingDataSet", 
"no dataset staging request repository available");
 
 2226      Error(
"GetStagingStatusDataSet", 
"invalid dataset specified");
 
 2231      Error(
"GetStagingStatusDataSet", 
"no dataset staging request repository available");
 
 2243      Info(
"GetStagingStatusDataSet", 
"no pending staging request for %s", dataset);
 
 2258      Info(
"VerifyDataSet", 
"dataset manager not available");
 
 2269         Info(
"VerifyDataSet", 
"dataset verification not allowed");
 
 2317   if (dataFile.
Length() > 0) {
 
 2328            Warning(
"SendInputDataFile", 
"problems copying '%s' to '%s'",
 
 2343      Info(
"Remove", 
"Enter: %s, %d", ref, all);
 
 2353   if (queryref == 
"cleanupdir") {
 
 2359      Info(
"Remove", 
"%d directories removed", nd);
 
 2382      Warning(
"Remove", 
"query result manager undefined!");
 
 2387        "query %s could not be removed (unable to lock session)", queryref.
Data());
 
 2401      Error(
"GetTreeHeader", 
"undefined TDSet");
 
 2410      PDB(kGlobal, 1) 
Info(
"GetTreeHeader", 
"empty TDSet");
 
 2415         t = (
TTree*) 
f->Get(
e->GetObjName());
 
 2422            while ((
e = dset->
Next()) != 0) {
 
 2427                     entries += 
t1->GetEntries();
 
 2462      Error(
"FindUniqueSlaves", 
"first object in fActiveSlaves not a TSlave: embarrasing!");
 
 2497   if (!dirname) 
return;
 
 2505   const char *ent = 0;
 
 2507      fn.
Form(
"%s/%s", dirname, ent);
 
 2541      Info(
"PollForNewWorkers", 
"max reached: %d workers started", 
fNWorkers);
 
 2555   Int_t nWrksDone = 0, nWrksTot = -1;
 
 2562   for (; ord < nWrksTot; ord++) {
 
 2565      fullord = 
Form(
"0.%d", ord);
 
 2575         Info(
"PollForNewWorkers", 
"additional worker '%s' started", fullord.
Data());
 
 2578      NotifyStartUp(
"Opening connections to workers", ++nWrksDone, nWrksTot);
 
 2592   while (started.
GetSize() > 0 && nSelects < nWrksTot) {
 
 2599      if (xs == (
TSocket *) -1) 
continue;
 
 2606         if (s->
Recv(msg) < 0) {
 
 2607            Warning(
"PollForNewWorkers", 
"problems receiving message from accepted socket!");
 
 2623                     gROOT->GetListOfSockets()->Remove(s);
 
 2641                     addedWorkers->
Add(wrk);
 
 2643                     NotifyStartUp(
"Setting up added worker servers", ++nWrksDone, nWrksTot);
 
 2650               Warning(
"PollForNewWorkers", 
"received empty message from accepted socket!");
 
 2678         Info(
"PollForNewWorkers", 
"Will send the PROCESS message to selected workers");
 
 2686   TIter naw(addedWorkers);
 
 2687   while ((wrk = (
TSlave *)naw())) {
 
 2691   delete addedWorkers;
 
std::ofstream * logfile() const
 
R__EXTERN TApplication * gApplication
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t np
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
 
const Bool_t kSortDescending
 
R__EXTERN TProofServ * gProofServ
 
const char *const kPROOF_QueryDir
 
const char *const kPROOF_DataSetDir
 
const char *const kPROOF_CacheLockFile
 
const char *const kPROOF_CacheDir
 
const char *const kPROOF_PackDir
 
const char *const kPROOF_ConfFile
 
const char *const kPROOF_QueryLockFile
 
R__EXTERN TProof * gProof
 
const char *const kPROOF_ConfDir
 
const Int_t kPROOF_Protocol
 
R__EXTERN TVirtualMutex * gROOTMutex
 
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
 
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
 
Bool_t R_ISREG(Int_t mode)
 
Bool_t R_ISDIR(Int_t mode)
 
R__EXTERN TSystem * gSystem
 
#define R__LOCKGUARD(mutex)
 
TSignalHandler * GetSignalHandler() const
 
void SetName(const char *name)
 
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
 
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
 
Manages an element of a TDSet.
 
This class implements a data set to be used for PROOF processing.
 
virtual TDSetElement * Next(Long64_t totalEntries=-1)
Returns next TDSetElement.
 
virtual void Reset()
Reset or initialize access to the elements.
 
TObject * GetEntryList() const
 
TList * GetListOfElements() const
 
Int_t WriteDataSet(const char *group, const char *user, const char *dsName, TFileCollection *dataset, UInt_t option=0, TMD5 *checksum=0)
Writes indicated dataset.
 
TFileCollection * GetDataSet(const char *uri, const char *srv=0)
Utility function used in various methods for user dataset upload.
 
Bool_t ExistsDataSet(const char *group, const char *user, const char *dsName)
Checks if the indicated dataset exits.
 
Bool_t RemoveDataSet(const char *group, const char *user, const char *dsName)
Removes the indicated dataset.
 
virtual TFileCollection * GetDataSet(const char *uri, const char *server=0)
Utility function used in various methods for user dataset upload.
 
Int_t ScanDataSet(const char *uri, const char *opt)
Scans the dataset indicated by 'uri' following the 'opts' directives.
 
virtual TMap * GetDataSets(const char *uri, UInt_t=TDataSetManager::kExport)
Returns all datasets for the <group> and <user> specified by <uri>.
 
virtual Bool_t ExistsDataSet(const char *uri)
Checks if the indicated dataset exits.
 
virtual void ShowDataSets(const char *uri="*", const char *opt="")
Prints formatted information about the dataset 'uri'.
 
virtual Bool_t RemoveDataSet(const char *uri)
Removes the indicated dataset.
 
Bool_t ParseUri(const char *uri, TString *dsGroup=0, TString *dsUser=0, TString *dsName=0, TString *dsTree=0, Bool_t onlyCurrent=kFALSE, Bool_t wildcards=kFALSE)
Parses a (relative) URI that describes a DataSet on the cluster.
 
virtual Int_t ClearCache(const char *uri)
Clear cached information matching uri.
 
virtual TMap * GetSubDataSets(const char *uri, const char *excludeservers)
Partition dataset 'ds' accordingly to the servers.
 
virtual Int_t RegisterDataSet(const char *uri, TFileCollection *dataSet, const char *opt)
Register a dataset, perfoming quota checkings, if needed.
 
virtual Int_t ShowCache(const char *uri)
Show cached information matching uri.
 
The TEnv class reads config files, by default named .rootrc.
 
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
 
virtual Int_t ReadFile(const char *fname, EEnvLevel level)
Read and parse the resource file for a certain level.
 
Class that contains a list of TFileInfo's and accumulated meta data information about its entries.
 
Int_t Update(Long64_t avgsize=-1)
Update accumulated information about the elements of the collection (e.g.
 
Long64_t GetNFiles() const
 
Class describing a generic file including meta information.
 
Bool_t RemoveUrlAt(Int_t i)
Remove URL at given position. Returns kTRUE on success, kFALSE on error.
 
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
 
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
 
void Clear(Option_t *option="") override
Remove all objects from the list.
 
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
 
void Add(TObject *obj) override
 
TObject * Remove(TObject *obj) override
Remove object from the list.
 
TObject * Last() const override
Return the last object in the list. Returns 0 when list is empty.
 
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
 
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
 
This code implements the MD5 message-digest algorithm.
 
static TMD5 * FileChecksum(const char *file)
Returns checksum of specified file.
 
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
 
virtual void RemoveAll()
Remove all sockets from the monitor.
 
TSocket * Select()
Return pointer to socket for which an event is waiting.
 
virtual void Add(TSocket *sock, Int_t interest=kRead)
Add socket to the monitor's active list.
 
virtual void DeActivateAll()
De-activate all activated sockets.
 
The TNamed class is the base class for all named ROOT classes.
 
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
 
const char * GetName() const override
Returns name of object.
 
const char * GetTitle() const override
Returns title of object.
 
virtual void SetName(const char *name)
Set the name of the TNamed.
 
Collectable string class.
 
Mother of all ROOT objects.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
@ kInvalidObject
if object ctor succeeded but object should not be used
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
 
Wrapper for PCRE library (Perl Compatible Regular Expressions).
 
Int_t Substitute(TString &s, const TString &r, Bool_t doDollarSubst=kTRUE)
Substitute matching part of s with r, dollar back-ref substitution is performed if doDollarSubst is t...
 
Int_t Match(const TString &s, UInt_t start=0)
Runs a match on s against the regex 'this' was created with.
 
The PROOF package manager contains tools to manage packages.
 
void GetEnabledPackages(TString &packlist)
Method to get a semi-colon separated list with the names of the enabled packages.
 
static Int_t RegisterGlobalPath(const char *paths)
Parse one or more paths as possible sources of packages Returns number of paths added; or -1 in case ...
 
const char * GetDir() const
 
Named parameter, streamable and storable.
 
const AParamType & GetVal() const
 
Longptr_t ExecPlugin(int nargs)
 
Int_t LoadPlugin()
Load the plugin library for this handler.
 
This class starts a PROOF session on the local machine: no daemons, client and master merged,...
 
Long64_t Process(TDSet *dset, const char *sel, Option_t *o="", Long64_t nent=-1, Long64_t fst=0)
Process a data set (TDSet) using the specified selector (.C) file.
 
TProofLockPath * fQueryLock
 
static Int_t GetNumberOfWorkers(const char *url=0)
Static method to determine the number of workers giving priority to users request.
 
void ClearCache(const char *file=0)
Remove files from all file caches.
 
Int_t CreateSandbox()
Create the sandbox for this session.
 
Int_t SetDataSetTreeName(const char *dataset, const char *treename)
Set/Change the name of the default tree.
 
Bool_t RegisterDataSet(const char *dsName, TFileCollection *ds, const char *opt="")
Register the 'dataSet' on the cluster under the current user, group and the given 'dataSetName'.
 
TQueryResultManager * fQMgr
 
TTree * GetTreeHeader(TDSet *tdset)
Creates a tree header (a tree with nonexisting files) object for the DataSet.
 
Int_t InitDataSetManager()
Initialize the dataset manager from directives or from defaults Return 0 on success,...
 
TServerSocket * fServSock
 
void ClearDataSetCache(const char *dataset=0)
Clear the content of the dataset cache, if any (matching 'dataset', if defined).
 
TDataSetManagerFile * fDataSetStgRepo
 
Int_t SetProofServEnv(const char *ord)
Create environment files for worker 'ord'.
 
Int_t PollForNewWorkers()
Simulate dynamic addition, for test purposes.
 
Long64_t DrawSelect(TDSet *dset, const char *varexp, const char *selection="", Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)
Execute the specified drawing action on a data set (TDSet).
 
void NotifyStartUp(const char *action, Int_t done, Int_t tot)
Notify setting-up operation message.
 
void SetQueryRunning(TProofQueryResult *pq)
Set query in running state.
 
Int_t CleanupSandbox()
Remove old sessions dirs keep at most 'Proof.MaxOldSessions' (default 10)
 
Int_t VerifyDataSet(const char *uri, const char *=0)
Verify if all files in the specified dataset are available.
 
void FindUniqueSlaves()
Add to the fUniqueSlave list the active slaves that have a unique (user) file system image.
 
Bool_t ExistsDataSet(const char *uri)
Returns kTRUE if 'dataset' described by 'uri' exists, kFALSE otherwise.
 
Bool_t RequestStagingDataSet(const char *dataset)
Allows users to request staging of a particular dataset.
 
void ShowData()
List contents of the data directory in the sandbox.
 
TDataSetManager * fDataSetManager
 
virtual ~TProofLite()
Destructor.
 
TFileCollection * GetDataSet(const char *uri, const char *=0)
Get a list of TFileInfo objects describing the files of the specified dataset.
 
void ShowDataSets(const char *uri="", const char *=0)
Shows datasets in locations that match the uri By default shows the user's datasets and global ones.
 
Int_t Remove(const char *ref, Bool_t all)
Handle remove request.
 
TFileCollection * GetStagingStatusDataSet(const char *dataset)
Obtains a TFileCollection showing the staging status of the specified dataset.
 
Int_t Init(const char *masterurl, const char *conffile, const char *confdir, Int_t loglevel, const char *alias=0)
Start the PROOF environment.
 
TList * GetListOfQueries(Option_t *opt="")
Get the list of queries.
 
void Print(Option_t *option="") const
Print status of PROOF-Lite cluster.
 
Int_t RemoveDataSet(const char *uri, const char *=0)
Remove the specified dataset from the PROOF cluster.
 
TMap * GetDataSets(const char *uri="", const char *=0)
lists all datasets that match given uri
 
void ShowDataDir(const char *dirname)
List contents of the data directory 'dirname'.
 
void ResolveKeywords(TString &s, const char *ord, const char *logfile)
Resolve some keywords in 's' <logfilewrk>, <user>, <rootsys>, <cpupin>
 
Bool_t CancelStagingDataSet(const char *dataset)
Cancels a dataset staging request.
 
Int_t fDynamicStartupNMax
 
Int_t CopyMacroToCache(const char *macro, Int_t headerRequired=0, TSelector **selector=0, Int_t opt=0, TList *wrks=0)
Copy a macro, and its possible associated .h[h] file, to the cache directory, from where the workers ...
 
Int_t fDynamicStartupStep
 
TProofQueryResult * MakeQueryResult(Long64_t nent, const char *opt, Long64_t fst, TDSet *dset, const char *selec)
Create a TProofQueryResult instance for this query.
 
void ShowDataSetCache(const char *dataset=0)
Display the content of the dataset cache, if any (matching 'dataset', if defined).
 
void ShowCache(Bool_t all=kFALSE)
List contents of file cache.
 
void SendInputDataFile()
Make sure that the input data objects are available to the workers in a dedicated file in the cache; ...
 
Int_t SetupWorkers(Int_t opt=0, TList *wrks=0)
Start up PROOF workers.
 
TProofLockPath * fCacheLock
 
Int_t Load(const char *macro, Bool_t notOnClient=kFALSE, Bool_t uniqueOnly=kTRUE, TList *wrks=0)
Copy the specified macro in the cache directory.
 
Int_t Unlock()
Unlock the directory.
 
Int_t Lock()
Locks the directory.
 
The PROOF manager interacts with the PROOF server coordinator to create or destroy a PROOF session,...
 
TQueryResult version adapted to PROOF neeeds.
 
void SetRunning(Int_t startlog, const char *par, Int_t nwrks)
Call when running starts.
 
const char * GetOrdinal() const
 
static void ResolveKeywords(TString &fname, const char *path=0)
Replace <ord>, <user>, <u>, <group>, <stag>, <qnum>, <file>, <rver> and <build> placeholders in fname...
 
static Int_t RegisterDataSets(TList *in, TList *out, TDataSetManager *dsm, TString &e)
Register TFileCollections in 'out' as datasets according to the rules in 'in'.
 
static TMap * GetDataSetNodeMap(TFileCollection *fc, TString &emsg)
Get a map {server-name, list-of-files} for collection 'fc' to be used in TPacketizerFile.
 
Int_t GetNumberOfInactiveSlaves() const
Return number of inactive slaves, i.e.
 
void ActivateAsyncInput()
Activate the a-sync input handler.
 
TMonitor * fCurrentMonitor
 
TMonitor * fAllUniqueMonitor
 
void SetFeedback(TString &opt, TString &optfb, Int_t action)
Extract from opt in optfb information about wanted feedback settings.
 
Int_t SendCurrentState(ESlaves list=kActive)
Transfer the current state of the master to the active slave servers.
 
TList * fTerminatedSlaveInfos
 
TMonitor * fUniqueMonitor
 
Bool_t fProgressDialogStarted
 
Int_t GetClientProtocol() const
 
void SetupWorkersEnv(TList *wrks, Bool_t increasingpool=kFALSE)
Set up packages, loaded macros, include and lib paths ...
 
TList * fNonUniqueMasters
 
Int_t HandleOutputOptions(TString &opt, TString &target, Int_t action)
Extract from opt information about output handling settings.
 
TVirtualProofPlayer * fPlayer
 
Bool_t IsParallel() const
 
void AskParallel()
Ask the for the number of parallel slaves.
 
void SetRunStatus(ERunStatus rst)
 
Long64_t fLastPollWorkers_s
 
TQueryResult * GetQueryResult(const char *ref=0)
Return pointer to the full TQueryResult instance owned by the player and referenced by 'ref'.
 
Int_t GetNumberOfSlaves() const
Return number of slaves as described in the config file.
 
void SetPerfTree(const char *pf="perftree.root", Bool_t withWrks=kFALSE)
Enable/Disable saving of the performance tree.
 
Int_t AssertPath(const char *path, Bool_t writable)
Make sure that 'path' exists; if 'writable' is kTRUE, make also sure that the path is writable.
 
Int_t VerifyDataSetParallel(const char *uri, const char *optStr)
Internal function for parallel dataset verification used TProof::VerifyDataSet and TProofLite::Verify...
 
Int_t SetParallel(Int_t nodes=-1, Bool_t random=kFALSE)
Tell PROOF how many slaves to use in parallel.
 
Int_t Collect(const TSlave *sl, Long_t timeout=-1, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect responses from slave sl.
 
Float_t GetCpuTime() const
 
Int_t SendInitialState()
Transfer the initial (i.e.
 
Int_t Broadcast(const TMessage &mess, TList *slaves)
Broadcast a message to all slaves in the specified list.
 
void PrepareInputDataFile(TString &dataFile)
Prepare the file with the input data objects to be sent the master; the objects are taken from the de...
 
void InitMembers()
Default initializations.
 
void SetParameter(const char *par, const char *value)
Set input list parameter.
 
void SetActive(Bool_t=kTRUE)
 
Int_t GetParallel() const
Returns number of slaves active in parallel mode.
 
Long64_t GetBytesRead() const
 
void UpdateDialog()
Final update of the progress dialog.
 
void AskStatistics()
Ask the for the statistics of the slaves.
 
TPluginHandler * fProgressDialog
 
void ParseConfigField(const char *config)
The config file field may contain special instructions which need to be parsed at the beginning,...
 
Int_t GetNumberOfBadSlaves() const
Return number of bad slaves.
 
TMonitor * fActiveMonitor
 
Int_t GoParallel(Int_t nodes, Bool_t accept=kFALSE, Bool_t random=kFALSE)
Go in parallel mode with at most "nodes" slaves.
 
virtual TVirtualProofPlayer * MakePlayer(const char *player=0, TSocket *s=0)
Construct a TProofPlayer object.
 
TSignalHandler * fIntHandler
 
Int_t SavePerfTree(const char *pf=0, const char *qref=0)
Save performance information from TPerfStats to file 'pf'.
 
virtual Int_t Load(const char *macro, Bool_t notOnClient=kFALSE, Bool_t uniqueOnly=kTRUE, TList *wrks=0)
Load the specified macro on master, workers and, if notOnClient is kFALSE, on the client.
 
Int_t RemoveWorkers(TList *wrks)
Used for shuting down the workres after a query is finished.
 
TList * fAvailablePackages
 
Int_t GetNumberOfActiveSlaves() const
Return number of active slaves, i.e.
 
TSlave * CreateSlave(const char *url, const char *ord, Int_t perf, const char *image, const char *workdir)
Create a new TSlave of type TSlave::kSlave.
 
static Int_t AssertDataSet(TDSet *dset, TList *input, TDataSetManager *mgr, TString &emsg)
Make sure that dataset is in the form to be processed.
 
friend class TProofInputHandler
 
Float_t GetRealTime() const
 
Int_t SendGroupView()
Send to all active slaves servers the current slave group size and their unique id.
 
Int_t GetLogLevel() const
 
TList * GetListOfSlaveInfos()
Returns list of TSlaveInfo's. In case of error return 0.
 
TProofMgr::EServType fServType
 
static TList * fgProofEnvList
 
const char * GetUser() const
 
EQueryMode GetQueryMode(Option_t *mode=0) const
Find out the query mode based on the current setting and 'mode'.
 
Bool_t fSendGroupView
list returned by kPROOF_GETSLAVEINFO
 
void ResetProgressDialog(const char *sel, Int_t sz, Long64_t fst, Long64_t ent)
Reset progress dialog.
 
static const TList * GetEnvVars()
Get environemnt variables.
 
TList * fEnabledPackagesOnCluster
 
Int_t GetSandbox(TString &sb, Bool_t assert=kFALSE, const char *rc=0)
Set the sandbox path from ' Proof.Sandbox' or the alternative var 'rc'.
 
Int_t GetNumberOfUniqueSlaves() const
Return number of unique slaves, i.e.
 
void AddInput(TObject *obj)
Add objects that might be needed during the processing of the selector (see Process()).
 
TProofOutputList fOutputList
 
void QueryResultReady(const char *ref)
Notify availability of a query result.
 
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
 
Class managing the query-result area.
 
void SaveQuery(TProofQueryResult *qr, const char *fout=0)
Save current status of query 'qr' to file name fout.
 
Bool_t FinalizeQuery(TProofQueryResult *pq, TProof *proof, TVirtualProofPlayer *player)
Final steps after Process() to complete the TQueryResult instance.
 
void RemoveQuery(TQueryResult *qr, Bool_t soft=kFALSE)
Remove everything about query qr.
 
TList * PreviousQueries() const
 
Int_t CleanupQueriesDir()
Remove all queries results referring to previous sessions.
 
Int_t ApplyMaxQueries(Int_t mxq)
Scan the queries directory and remove the oldest ones (and relative dirs, if empty) in such a way onl...
 
Int_t DrawQueries() const
 
Int_t LockSession(const char *sessiontag, TProofLockPath **lck)
Try locking query area of session tagged sessiontag.
 
void IncrementDrawQueries()
 
void ScanPreviousQueries(const char *dir)
Scan the queries directory for the results of previous queries.
 
A container class for query results.
 
virtual void SetOutputList(TList *out, Bool_t adopt=kTRUE)
Set / change the output list.
 
Long64_t GetEntries() const
 
void SetTermTime(Float_t termtime)
 
TQueryResult * CloneInfo()
Return an instance of TQueryResult containing only the local info fields, i.e.
 
virtual void SetProcessInfo(Long64_t ent, Float_t cpu=0., Long64_t siz=-1, Float_t inittime=0., Float_t proctime=0.)
Set processing info.
 
Int_t fSeqNum
query unique sequential number
 
static const char * GetMacroPath()
Get macro search path. Static utility function.
 
static const TString & GetRootSys()
Get the rootsys directory in the installation. Static utility function.
 
static const TString & GetEtcDir()
Get the sysconfig directory in the installation. Static utility function.
 
static void SetMacroPath(const char *newpath)
Set or extend the macro search path.
 
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
 
static TSelector * GetSelector(const char *filename)
The code in filename is loaded (interpreted or compiled, see below), filename must contain a valid cl...
 
virtual TSocket * Accept(UChar_t Opt=0)
Accept a connection on a server socket.
 
const char * GetDataDir() const
 
Class describing a PROOF worker server.
 
TSocket * GetSocket() const
 
void SetSocket(TSocket *s)
 
void SetInputHandler(TFileHandler *ih)
Adopt and register input handler for this slave.
 
virtual Int_t SetupServ(Int_t stype, const char *conffile)
Init a PROOF slave object.
 
virtual Bool_t IsValid() const
 
virtual Int_t Recv(TMessage *&mess)
Receive a TMessage object.
 
virtual Bool_t IsValid() const
 
A sorted doubly linked list.
 
void Add(TObject *obj) override
Add object in sorted list.
 
Double_t RealTime()
Stop the stopwatch (if it is running) and return the realtime (in seconds) passed between the start a...
 
void Stop()
Stop the stopwatch.
 
TString & Insert(Ssiz_t pos, const char *s)
 
Int_t Atoi() const
Return integer value of string.
 
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
 
TString & Replace(Ssiz_t pos, Ssiz_t n, const char *s)
 
const char * Data() const
 
Bool_t IsDigit() const
Returns true if all characters in string are digits (0-9) or white spaces, i.e.
 
TString & ReplaceAll(const TString &s1, const TString &s2)
 
Ssiz_t Last(char c) const
Find last occurrence of a character c.
 
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString.
 
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
 
Int_t CountChar(Int_t c) const
Return number of times character c occurs in the string.
 
TString & Remove(Ssiz_t pos)
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
virtual const char * GetBuildCompilerVersion() const
Return the build compiler version.
 
virtual int Symlink(const char *from, const char *to)
Create a symbolic link from file1 to file2.
 
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
 
virtual void FreeDirectory(void *dirp)
Free a directory.
 
virtual void * OpenDirectory(const char *name)
Open a directory. Returns 0 if directory does not exist.
 
virtual int GetPid()
Get process id.
 
virtual int CopyFile(const char *from, const char *to, Bool_t overwrite=kFALSE)
Copy a file.
 
virtual const char * Getenv(const char *env)
Get environment variable.
 
virtual TString SplitAclicMode(const char *filename, TString &mode, TString &args, TString &io) const
This method split a filename of the form:
 
virtual char * ConcatFileName(const char *dir, const char *name)
Concatenate a directory and a file name. User must delete returned string.
 
virtual int MakeDirectory(const char *name)
Make a directory.
 
virtual Int_t Exec(const char *shellcmd)
Execute a command.
 
virtual int GetSysInfo(SysInfo_t *info) const
Returns static system info, like OS type, CPU type, number of CPUs RAM size, etc into the SysInfo_t s...
 
int GetPathInfo(const char *path, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime)
Get info about a file: id, size, flags, modification time.
 
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
 
virtual const char * GetDirEntry(void *dirp)
Get a directory entry. Returns 0 if no more entries.
 
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
 
virtual void AddSignalHandler(TSignalHandler *sh)
Add a signal handler to list of system signal handlers.
 
virtual const char * HostName()
Return the system's host name.
 
virtual const char * WorkingDirectory()
Return working directory.
 
virtual TSignalHandler * RemoveSignalHandler(TSignalHandler *sh)
Remove a signal handler from list of signal handlers.
 
virtual void Setenv(const char *name, const char *value)
Set environment variable.
 
virtual const char * GetBuildArch() const
Return the build architecture.
 
virtual const char * HomeDirectory(const char *userName=nullptr)
Return the user's home directory.
 
virtual TString GetDirName(const char *pathname)
Return the directory name in pathname.
 
virtual int Unlink(const char *name)
Unlink, i.e.
 
virtual UserGroup_t * GetUserInfo(Int_t uid)
Returns all user info in the UserGroup_t structure.
 
virtual const char * TempDirectory() const
Return a user configured or systemwide directory to create temporary files in.
 
A TTree represents a columnar dataset.
 
virtual void SetMaxEntryLoop(Long64_t maxev=kMaxEntries)
 
virtual void SetMaxVirtualSize(Long64_t size=0)
 
virtual void DropBaskets()
Remove some baskets from memory.
 
virtual Long64_t GetEntries() const
 
This class represents a RFC 3986 compatible URI.
 
Bool_t SetFragment(const TString &fragment)
Set fragment component of URI:
 
const TString GetUri() const
Returns the whole URI - an implementation of chapter 5.3 component recomposition.
 
void SetUser(const char *user)
 
void SetUrl(const char *url, Bool_t defaultIsFile=kFALSE)
Parse url character string and split in its different subcomponents.
 
void SetProtocol(const char *proto, Bool_t setDefaultPort=kFALSE)
Set protocol and, optionally, change the port accordingly.
 
const char * GetUser() const
 
void SetHost(const char *host)
 
virtual void AddInput(TObject *inp)=0
 
virtual Int_t GetDrawArgs(const char *var, const char *sel, Option_t *opt, TString &selector, TString &objname)=0
 
virtual TList * GetInputList() const =0
 
virtual Long64_t DrawSelect(TDSet *set, const char *varexp, const char *selection, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)=0
 
virtual EExitStatus GetExitStatus() const =0
 
virtual void AddQueryResult(TQueryResult *q)=0
 
virtual Bool_t JoinProcess(TList *workers)=0
 
virtual TList * GetListOfResults() const =0
 
virtual void RemoveQueryResult(const char *ref)=0
 
virtual void StopProcess(Bool_t abort, Int_t timeout=-1)=0
 
virtual Long64_t Process(TDSet *set, const char *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)=0
 
virtual TList * GetOutputList() const =0
 
virtual void SetCurrentQuery(TQueryResult *q)=0