73 if (isatty(0) != 0 && isatty(1) != 0) {
75 Printf(
"Opening new connection to %s", u.
Data());
109 if (
Init(dbg) != 0) {
135 Error(
"Init",
"while opening the connection to %s - exit (error: %d)",
176 gROOT->GetListOfSockets()->Remove(
this);
188 Warning(
"AttachSession",
"invalid TXProofMgr - do nothing");
192 Warning(
"AttachSession",
"invalid description object - do nothing");
198 return d->GetProof();
210 if (
p &&
p->IsValid()) {
222 p->SetName(
d->GetName());
226 Error(
"AttachSession",
"attaching to PROOF session");
240 Warning(
"DetachSession",
"invalid TXProofMgr - do nothing");
255 }
else if (
id == 0) {
284 Warning(
"DetachSession",
"invalid TXProofMgr - do nothing");
312 Warning(
"MatchUrl",
"invalid TXProofMgr - do nothing");
347 Warning(
"ShowWorkers",
"invalid TXProofMgr - do nothing");
375 Error(
"GetMssUrl",
"invalid TXProofMgr - do nothing");
380 Error(
"GetMssUrl",
"functionality not supported by server");
389 Error(
"GetMssUrl",
"problems retrieving the required information");
393 Warning(
"GetMssUrl",
"TXProofMgr is now invalid: information may not be valid");
406 if (opt && !strncasecmp(opt,
"L",1))
412 Warning(
"QuerySessions",
"invalid TXProofMgr - do nothing");
432 Printf(
"// +++ %s session(s) currently active +++", to->
GetName());
435 Int_t id = -1, st = -1;
438 while (to->
GetString()[from] ==
' ') { from++; }
470 if (opt && !strncasecmp(opt,
"S",1))
493 Info(
"HandleInput",
"%p: got message type: %d",
this,
what);
499 Warning(
"HandleInput",
"%p: got unknown message type: %d",
this,
what);
504 Warning(
"HandleInput",
"%p: got message but socket is invalid!",
this);
523 Printf(
"ProofMgr: connection to coordinator at %s re-established",
528 Printf(
"TXProofMgr::HandleError: %p: got called ...",
this);
537 p->InterruptCurrentMonitor();
541 Printf(
"TXProofMgr::HandleError: %p: DONE ... ",
this);
562 Warning(
"Reset",
"invalid TXProofMgr - do nothing");
594 const char *pattern,
Bool_t rescan)
598 Warning(
"GetSessionLogs",
"invalid TXProofMgr - do nothing");
605 isess = (isess > 0) ? -isess : isess;
610 if (sesstag ==
"NR") {
616 Int_t xrs = (rescan) ? 1 : 0;
627 Warning(
"GetSessionLogs",
"Session tag undefined: corruption?\n"
628 " (received string: %s)", os->
GetName());
633 if (!rs.
Tokenize(purl, from,
"|")) {
634 Warning(
"GetSessionLogs",
"Pool URL undefined: corruption?\n"
635 " (received string: %s)", os->
GetName());
644 while (rs.
Tokenize(to, from,
"|")) {
654 if (url.
Contains(
".valgrind")) ord +=
"-valgrind";
658 Info(
"GetSessionLogs",
"ord: %s, url: %s", ord.
Data(), url.
Data());
665 const char *pat = pattern ? pattern :
"-v \"| SvcMsg\"";
666 if (pat && strlen(pat) > 0)
685 Warning(
"ReadBuffer",
"invalid TXProofMgr - do nothing");
702 Warning(
"ReadBuffer",
"invalid TXProofMgr - do nothing");
708 if (*pattern ==
'|') {
718 Int_t plen = strlen(ptr);
719 Int_t lfi = strlen(fin);
720 char *buf =
new char[lfi + plen + 1];
721 memcpy(buf, fin, lfi);
722 memcpy(buf+lfi, ptr, plen);
736 Warning(
"ShowROOTVersions",
"invalid TXProofMgr - do nothing");
744 Printf(
"----------------------------------------------------------\n");
745 Printf(
"Available versions (tag ROOT-vers remote-path PROOF-version):\n");
747 Printf(
"----------------------------------------------------------");
762 Warning(
"SetROOTVersion",
"invalid TXProofMgr - do nothing");
786 if (!msg || strlen(msg) <= 0) {
787 Error(
"SendMsgToUsers",
"no message to send - do nothing");
792 const Int_t kMAXBUF = 32768;
793 char buf[kMAXBUF] = {0};
795 size_t space = kMAXBUF - 1;
799 if (usr && strlen(usr) > 0 && (strlen(usr) != 1 || usr[0] !=
'*')) {
800 lusr = (strlen(usr) + 3);
801 snprintf(buf, kMAXBUF,
"u:%s ", usr);
811 Error(
"SendMsgToUsers",
"request to read message from unreadable file '%s'", msg);
816 if (!(
f = fopen(msg,
"r"))) {
817 Error(
"SendMsgToUsers",
"file '%s' cannot be open", msg);
822 off_t rcsk = lseek(fileno(
f), (off_t) 0, SEEK_END);
823 if ((rcsk != (off_t)(-1))) {
824 left = (size_t) rcsk;
825 if ((lseek(fileno(
f), (off_t) 0, SEEK_SET) == (off_t)(-1))) {
826 Error(
"SendMsgToUsers",
"cannot rewind open file (seek to 0)");
831 Error(
"SendMsgToUsers",
"cannot get size of open file (seek to END)");
836 size_t wanted = left;
837 if (wanted > space) {
840 "requested to send %lld bytes: max size is %lld bytes: truncating",
844 while ((
len = read(fileno(
f),
p, wanted)) < 0 &&
848 SysError(
"SendMsgToUsers",
"error reading file");
853 left = (
len >= (ssize_t)left) ? 0 : left -
len;
855 wanted = (left > kMAXBUF-1) ? kMAXBUF-1 : left;
857 }
while (
len > 0 && left > 0);
863 if (
len > (ssize_t)space) {
865 "requested to send %lld bytes: max size is %lld bytes: truncating",
888 Error(
"Grep",
"invalid TXProofMgr - do nothing");
893 Error(
"Grep",
"functionality not supported by server");
914 Error(
"Find",
"invalid TXProofMgr - do nothing");
919 Error(
"Find",
"functionality not supported by server (XrdProofd version: %d)",
941 Error(
"Ls",
"invalid TXProofMgr - do nothing");
946 Error(
"Ls",
"functionality not supported by server");
967 Error(
"More",
"invalid TXProofMgr - do nothing");
972 Error(
"More",
"functionality not supported by server");
995 Error(
"Rm",
"invalid TXProofMgr - do nothing");
1000 Error(
"Rm",
"functionality not supported by server");
1004 TString prompt, ans(
"Y"), opt(how);
1009 while (!force && opt.
Tokenize(t, from,
" ")) {
1010 if (t ==
"--force") {
1018 if (!force && isatty(0) != 0 && isatty(1) != 0) {
1020 prompt.
Form(
"Do you really want to remove '%s'? [N/y]",
what);
1022 while (ans !=
"N" && ans !=
"Y") {
1023 ans = Getline(prompt.
Data());
1025 if (ans ==
"") ans =
"N";
1027 if (ans !=
"N" && ans !=
"Y")
1028 Printf(
"Please answer y, Y, n or N");
1057 Error(
"Tail",
"invalid TXProofMgr - do nothing");
1062 Error(
"Tail",
"functionality not supported by server");
1083 Error(
"Md5sum",
"invalid TXProofMgr - do nothing");
1088 Error(
"Md5sum",
"functionality not supported by server");
1092 if (where && !strcmp(where,
"all")) {
1093 Error(
"Md5sum",
"cannot run on all nodes at once: please specify one");
1120 Error(
"Stat",
"invalid TXProofMgr - do nothing");
1125 Error(
"Stat",
"functionality not supported by server");
1129 if (where && !strcmp(where,
"all")) {
1130 Error(
"Stat",
"cannot run on all nodes at once: please specify one");
1145 sscanf(os->
GetName(),
"%ld %ld %d %d %d %I64d %ld %d", &dev, &ino, &
mode,
1146 &uid, &gid, &
size, &mtime, &islink);
1148 sscanf(os->
GetName(),
"%ld %ld %d %d %d %lld %ld %d", &dev, &ino, &
mode,
1149 &uid, &gid, &
size, &mtime, &islink);
1166 if (st.
fDev == -1)
return -1;
1205 const char *
what,
const char *how,
const char *where)
1209 Error(
"Exec",
"invalid TXProofMgr - do nothing");
1214 Error(
"Exec",
"functionality not supported by server");
1219 Error(
"Exec",
"specifying a path is mandatory");
1229 while (opts.Tokenize(o, from,
" ")) {
1231 if (!o.
BeginsWith(
"-") && !isc && isn)
continue;
1242 }
else if (o ==
"-n") {
1244 }
else if (o ==
"--bytes=" || o ==
"--lines=") {
1287 Error(
"GetFile",
"invalid TXProofMgr - do nothing");
1292 Error(
"GetFile",
"functionality not supported by server");
1299 Error(
"GetFile",
"remote file path undefined");
1321 UInt_t openflags = O_WRONLY;
1332 if (!fileloc.
EndsWith(
"/")) fileloc +=
"/";
1341 Printf(
"[GetFile] local file '%s' exists and is not regular: cannot continue",
1347 Error(
"GetFile",
"cannot get user info for additional checks");
1358 Printf(
"[GetFile] file '%s' exists: no permission to delete or overwrite the file", fileloc.
Data());
1359 Printf(
"[GetFile] ownership: owner: %d, group: %d, other: %d", owner,
group, other);
1365 openflags |= O_CREAT | O_TRUNC;
1368 openflags |= O_CREAT;
1372 openflags |= O_CREAT;
1377 if (
Md5sum(filerem, remsum) != 0) {
1379 Printf(
"[GetFile] remote file '%s' does not exists or cannot be read", filerem.
Data());
1385 if (rcloc == 0 && !force) {
1388 if (remsum == md5loc->
AsString()) {
1390 Printf(
"[GetFile] local file '%s' and remote file '%s' have the same MD5 check sum",
1392 Printf(
"[GetFile] use option 'force' to override");
1401 const char *
a = Getline(
"Local file exists already: would you like to overwrite it? [N/y]");
1402 if (
a[0] ==
'n' ||
a[0] ==
'N' ||
a[0] ==
'\0')
return 0;
1409 Int_t fdout = open(fileloc, openflags, openmode);
1411 Error(
"GetFile",
"could not open local file '%s' for writing: errno: %d", local, errno);
1432 Error(
"GetFile",
"received non-digit size string: '%s' ('%s')", os->
GetName(), ssz.
Data());
1438 Error(
"GetFile",
"received null or negative size: %lld",
size);
1444 const Int_t kMAXBUF = 16384;
1450 while (rc == 0 && filesize <
size) {
1451 left =
size - filesize;
1452 if (left > kMAXBUF) left = kMAXBUF;
1454 filesize = (rec > 0) ? (filesize + rec) : filesize;
1463 SysError(
"GetFile",
"error writing to unit: %d", fdout);
1472 }
else if (rec < 0) {
1474 Error(
"GetFile",
"error during receiving file");
1482 Error(
"GetFile",
"size not received");
1497 if (!(md5loc.get())) {
1498 Error(
"GetFile",
"cannot get MD5 checksum of the new local file '%s'", fileloc.
Data());
1500 }
else if (remsum != md5loc->AsString()) {
1501 Error(
"GetFile",
"checksums for the local copy and the remote file differ: {rem:%s,loc:%s}",
1502 remsum.
Data(), md5loc->AsString());
1521 Error(
"PutFile",
"invalid TXProofMgr - do nothing");
1526 Error(
"PutFile",
"functionality not supported by server");
1533 Error(
"PutFile",
"local file path undefined");
1548 }
else if (filerem.
EndsWith(
"/")) {
1557 UInt_t openflags = O_RDONLY;
1565 const char *why = (rcloc == 0) ?
"is not regular" :
"does not exists";
1566 Printf(
"[PutFile] local file '%s' %s: cannot continue", fileloc.
Data(), why);
1572 Error(
"PutFile",
"cannot get user info for additional checks");
1582 Printf(
"[PutFile] file '%s': no permission to read the file", fileloc.
Data());
1583 Printf(
"[PutFile] ownership: owner: %d, group: %d, other: %d", owner,
group, other);
1592 Error(
"PutFile",
"cannot calculate the check sum for '%s'", fileloc.
Data());
1603 if (
Stat(filerem, strem) == 0) {
1604 if (
Md5sum(filerem, remsum) != 0) {
1605 Printf(
"[PutFile] remote file exists but the check sum calculation failed");
1609 if (remsum == locsum) {
1611 Printf(
"[PutFile] local file '%s' and remote file '%s' have the same MD5 check sum",
1613 Printf(
"[PutFile] use option 'force' to override");
1620 const char *
a = Getline(
"Remote file exists already: would you like to overwrite it? [N/y]");
1621 if (
a[0] ==
'n' ||
a[0] ==
'N' ||
a[0] ==
'\0')
return 0;
1630 int fd = open(fileloc.
Data(), openflags);
1632 Error(
"PutFile",
"cannot open file '%s': %d", fileloc.
Data(), errno);
1639 if (force) cmd +=
" force";
1653 const Int_t kMAXBUF = 16384;
1657 lseek(fd, pos, SEEK_SET);
1660 while (rc == 0 && pos < stloc.
fSize) {
1662 if (left > kMAXBUF) left = kMAXBUF;
1666 if (siz < 0 || siz != left) {
1667 Error(
"PutFile",
"error reading from file: errno: %d", errno);
1686 Error(
"PutFile",
"command could not be executed");
1700 if (
Md5sum(filerem, remsum) != 0) {
1701 Printf(
"[PutFile] cannot get MD5 checksum of the new remote file '%s'", filerem.
Data());
1703 }
else if (remsum != locsum) {
1704 Printf(
"[PutFile] checksums for the local copy and the remote file differ: {rem:%s, loc:%s}",
1721 if (!pfx ||
size == 0 || !watch)
return;
1723 fprintf(stderr,
"[%s] Total %.02f MB\t|", pfx, (
Double_t)
size/1048576);
1725 for (
int l = 0;
l < 20;
l++) {
1728 fprintf(stderr,
"=");
1730 fprintf(stderr,
">");
1732 fprintf(stderr,
".");
1734 fprintf(stderr,
"=");
1740 fprintf(stderr,
"| %.02f %% [%.01f MB/s]\r",
1742 if (cr) fprintf(stderr,
"\n");
1756 Error(
"Cp",
"invalid TXProofMgr - do nothing");
1761 Error(
"Cp",
"functionality not supported by server");
1768 Error(
"Cp",
"source file path undefined");
1775 }
else if (filedst.
EndsWith(
"/")) {
1793 cmd.
Form(
"%s %s %s", filesrc.
Data(), filedst.
Data(), (fmt ? fmt :
""));
static void retrieve(const gsl_integration_workspace *workspace, double *a, double *b, double *r, double *e)
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
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 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 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 winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
Option_t Option_t TPoint TPoint const char mode
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 winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t bytes
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t src
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 winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
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)
TProofMgr * GetTXProofMgr(const char *url, Int_t l, const char *al)
static TXProofMgrInit gxproofmgr_init
const Int_t kXPROOF_Protocol
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.
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.
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.
const char * AsString() const
Return message digest as string.
static TMD5 * FileChecksum(const char *file)
Returns checksum of specified file.
Collectable string class.
const TString & GetString() const
const char * GetName() const override
Returns name of object.
virtual void SysError(const char *method, const char *msgfmt,...) const
Issue system error message.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
void Print(Option_t *opt="") const
Dump the content to the screen.
Implementation of the PROOF session log handler.
TProofLogElem * Add(const char *ord, const char *url)
Add new entry to the list of elements.
Int_t Retrieve(const char *ord="*", TProofLog::ERetrieveOpt opt=TProofLog::kTrailing, const char *fname=0, const char *pattern=0)
Retrieve the content of the log file associated with worker 'ord'.
TProofMgrInterruptHandler(const TProofMgrInterruptHandler &)
TProofMgrInterruptHandler & operator=(const TProofMgrInterruptHandler &)
TProofMgrInterruptHandler(TProofMgr *mgr)
Bool_t Notify()
TProofMgr interrupt handler.
The PROOF manager interacts with the PROOF server coordinator to create or destroy a PROOF session,...
virtual const char * GetUrl()
TSignalHandler * fIntHandler
static void SetTXProofMgrHook(TProofMgr_t pmh)
Set hook to TXProofMgr ctor.
virtual TProofDesc * GetProofDesc(Int_t id)
Get TProofDesc instance corresponding to 'id'.
This class controls a Parallel ROOT Facility, PROOF, cluster.
void Add() override
Add signal handler to system signal handler list.
void Remove() override
Remove signal handler from system signal handler list.
Int_t GetRemoteProtocol() const
Double_t RealTime()
Stop the stopwatch (if it is running) and return the realtime (in seconds) passed between the start a...
void Start(Bool_t reset=kTRUE)
Start the stopwatch.
void Continue()
Resume a stopped stopwatch.
void Stop()
Stop the stopwatch.
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.
TSubString Strip(EStripType s=kTrailing, char c=' ') const
Return a substring of self stripped at beginning and/or end.
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)
void ToUpper()
Change string to upper case.
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
TString & Remove(Ssiz_t pos)
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
Long64_t Atoll() const
Return long long value of string.
virtual int GetServiceByName(const char *service)
Get port # of internet service.
virtual void AddFileHandler(TFileHandler *fh)
Add a file handler to the list of system file handlers.
static void ResetErrno()
Static function resetting system error number.
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
static Int_t GetErrno()
Static function returning system error number.
virtual TFileHandler * RemoveFileHandler(TFileHandler *fh)
Remove a file handler from the list of file handlers.
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 * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
virtual Int_t GetUid(const char *user=nullptr)
Returns the user's id. If user = 0, returns current user's id.
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
virtual UserGroup_t * GetUserInfo(Int_t uid)
Returns all user info in the UserGroup_t structure.
This class represents a WWW compatible URL.
const char * GetUrl(Bool_t withDeflt=kFALSE) const
Return full URL.
const char * GetFileAndOptions() const
Return the file and its options (the string specified behind the ?).
const char * GetFile() const
void SetProtocol(const char *proto, Bool_t setDefaultPort=kFALSE)
Set protocol and, optionally, change the port accordingly.
const char * GetUser() const
const char * GetHost() const
const char * GetHostFQDN() const
Return fully qualified domain name of url host.
const char * GetProtocol() const
Handler of asynchronous events for XProofD sockets.
Implementation of the functionality provided by TProofMgr in the case of a xproofd-based session.
Int_t Md5sum(const char *what, TString &sum, const char *where=0)
Run 'md5sum' on one of the nodes.
void Ls(const char *what="~/", const char *how=0, const char *where=0)
Run 'ls' on the nodes.
void Tail(const char *what, const char *how=0, const char *where=0)
Run 'tail' on the nodes.
Int_t PutFile(const char *local, const char *remote, const char *opt=0)
Put file 'local'to 'remote' to the master If opt is "force", the file, if it exists remotely,...
Bool_t HandleError(const void *in=0)
Handle error on the input socket.
void CpProgress(const char *pfx, Long64_t bytes, Long64_t size, TStopwatch *watch, Bool_t cr=kFALSE)
Print file copy progress.
virtual ~TXProofMgr()
Destructor: close the connection.
void More(const char *what, const char *how=0, const char *where=0)
Run 'more' on the nodes.
Bool_t MatchUrl(const char *url)
Checks if 'url' refers to the same user@host:port entity as the URL in memory.
Int_t Stat(const char *what, FileStat_t &st, const char *where=0)
Run 'stat' on one of the nodes.
TObjString * ReadBuffer(const char *file, Long64_t ofs, Int_t len)
Read, via the coordinator, 'len' bytes from offset 'ofs' of 'file'.
void Find(const char *what="~/", const char *how="-type f", const char *where=0)
Run 'find' on the nodes.
TXProofMgr(const char *url, Int_t loglevel=-1, const char *alias="")
Create a PROOF manager for the standard (old) environment.
Int_t Cp(const char *src, const char *dst=0, const char *opts=0)
Copy files in/out of the sandbox.
const char * GetMssUrl(Bool_t=kFALSE)
Gets the URL to be prepended to paths when accessing the MSS associated with the connected cluster,...
TProofLog * GetSessionLogs(Int_t ridx=0, const char *stag=0, const char *pattern="-v \"| SvcMsg\"", Bool_t rescan=kFALSE)
Get logs or log tails from last session associated with this manager instance.
Int_t Init(Int_t loglevel=-1)
Do real initialization: open the connection and set the relevant variables.
TObjString * Exec(Int_t action, const char *what, const char *how, const char *where)
Execute 'action' (see EAdminExecType in 'XProofProtocol.h') at 'where' (default master),...
Int_t Rm(const char *what, const char *how=0, const char *where=0)
Run 'rm' on the nodes.
void ShowROOTVersions()
Display what ROOT versions are available on the cluster.
void ShowWorkers()
Show available workers.
Int_t SetROOTVersion(const char *tag)
Set the default ROOT version to be used.
void DetachSession(Int_t, Option_t *="")
Detach session with 'id' from its proofserv.
Int_t SendMsgToUsers(const char *msg, const char *usr=0)
Send a message to connected users.
TList * QuerySessions(Option_t *opt="S")
Get list of sessions accessible to this manager.
Int_t GetFile(const char *remote, const char *local, const char *opt=0)
Get file 'remote' into 'local' from the master.
void SetInvalid()
Invalidate this manager by closing the connection.
Bool_t HandleInput(const void *)
Handle asynchronous input on the socket.
TProof * AttachSession(Int_t id, Bool_t gui=kFALSE)
Dummy version provided for completeness.
void Grep(const char *what, const char *how=0, const char *where=0)
Run 'grep' on the nodes.
Int_t Reset(Bool_t hard=kFALSE, const char *usr=0)
Send a cleanup request for the sessions associated with the current user.
static TXSocketHandler * GetSocketHandler(TFileHandler *h=0, TSocket *s=0)
Get an instance of the input socket handler with 'h' as handler, connected to socket 's'.
High level handler of connections to XProofD.
Int_t GetOpenError() const
Getter for last error.
Int_t RecvRaw(void *buf, Int_t len, ESendRecvOptions opt=kDefault)
Receive a raw buffer of specified length bytes.
virtual void Close(Option_t *opt="")
Close connection.
TObjString * SendCoordinator(Int_t kind, const char *msg=0, Int_t int2=0, Long64_t l64=0, Int_t int3=0, const char *opt=0)
Send message to intermediate coordinator.
virtual Int_t Reconnect()
Try reconnection after failure.
Int_t Recv(TMessage *&mess)
Receive a TMessage object.
void DisconnectSession(Int_t id, Option_t *opt="")
Disconnect a session.
Int_t GetXrdProofdVersion() const
void CtrlC()
Interrupt the remote protocol instance.
Bool_t IsServProofd()
Return kTRUE if the remote server is a 'proofd'.
Bool_t IsValid() const
Getter for validity status.
void RemoteTouch()
Remote touch functionality: contact the server to proof our vitality.
virtual int WriteRaw(const void *buf, int len, XrdClientPhyConnection *p=0)
Low level write call.
static uint64_t sum(uint64_t i)