75 Printf(
"Opening new connection to %s",
u.Data());
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");
319 if (!
strcmp(
u.GetProtocol(),
TUrl(
"a").GetProtocol()))
320 u.SetProtocol(
"proof");
322 if (
u.GetPort() ==
TUrl(
"a").GetPort()) {
347 Warning(
"ShowWorkers",
"invalid TXProofMgr - do nothing");
375 Error(
"GetMssUrl",
"invalid TXProofMgr - do nothing");
380 Error(
"GetMssUrl",
"functionality not supported by server");
385 Printf(
"os: '%s'", os->GetName());
389 Error(
"GetMssUrl",
"problems retrieving the required information");
393 Warning(
"GetMssUrl",
"TXProofMgr is now invalid: information may not be valid");
412 Warning(
"QuerySessions",
"invalid TXProofMgr - do nothing");
432 Printf(
"// +++ %s session(s) currently active +++",
to->GetName());
438 while (
to->GetString()[
from] ==
' ') {
from++; }
439 if (!
to->GetString().Tokenize(
tk,
from,
" ") || !
tk.IsDigit())
continue;
441 if (!
to->GetString().Tokenize(
tg,
from,
" "))
continue;
442 if (!
to->GetString().Tokenize(
al,
from,
" "))
continue;
443 if (!
to->GetString().Tokenize(
tk,
from,
" ") || !
tk.IsDigit())
continue;
469 if (
ocl->FindObject(
d->GetName())) {
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");
598 Warning(
"GetSessionLogs",
"invalid TXProofMgr - do nothing");
626 if (!
rs.Tokenize(tag,
from,
"|")) {
627 Warning(
"GetSessionLogs",
"Session tag undefined: corruption?\n"
628 " (received string: %s)", os->GetName());
634 Warning(
"GetSessionLogs",
"Pool URL undefined: corruption?\n"
635 " (received string: %s)", os->GetName());
644 while (
rs.Tokenize(
to,
from,
"|")) {
652 url.Remove(0,
ii + 1);
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\"";
685 Warning(
"ReadBuffer",
"invalid TXProofMgr - do nothing");
702 Warning(
"ReadBuffer",
"invalid TXProofMgr - do nothing");
708 if (*pattern ==
'|') {
720 char *buf =
new char[
lfi +
plen + 1];
736 Warning(
"ShowROOTVersions",
"invalid TXProofMgr - do nothing");
744 Printf(
"----------------------------------------------------------\n");
745 Printf(
"Available versions (tag ROOT-vers remote-path PROOF-version):\n");
746 Printf(
"%s", os->GetName());
747 Printf(
"----------------------------------------------------------");
762 Warning(
"SetROOTVersion",
"invalid TXProofMgr - do nothing");
787 Error(
"SendMsgToUsers",
"no message to send - do nothing");
811 Error(
"SendMsgToUsers",
"request to read message from unreadable file '%s'",
msg);
817 Error(
"SendMsgToUsers",
"file '%s' cannot be open",
msg);
824 left = (size_t)
rcsk;
826 Error(
"SendMsgToUsers",
"cannot rewind open file (seek to 0)");
831 Error(
"SendMsgToUsers",
"cannot get size of open file (seek to END)");
840 "requested to send %lld bytes: max size is %lld bytes: truncating",
848 SysError(
"SendMsgToUsers",
"error reading file");
857 }
while (
len > 0 && left > 0);
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");
901 if (os)
Printf(
"%s", os->GetName());
914 Error(
"Find",
"invalid TXProofMgr - do nothing");
919 Error(
"Find",
"functionality not supported by server (XrdProofd version: %d)",
928 if (os)
Printf(
"%s", os->GetName());
941 Error(
"Ls",
"invalid TXProofMgr - do nothing");
946 Error(
"Ls",
"functionality not supported by server");
954 if (os)
Printf(
"%s", os->GetName());
967 Error(
"More",
"invalid TXProofMgr - do nothing");
972 Error(
"More",
"functionality not supported by server");
980 if (os)
Printf(
"%s", os->GetName());
995 Error(
"Rm",
"invalid TXProofMgr - do nothing");
1000 Error(
"Rm",
"functionality not supported by server");
1010 if (t ==
"--force") {
1020 prompt.Form(
"Do you really want to remove '%s'? [N/y]",
what);
1022 while (
ans !=
"N" &&
ans !=
"Y") {
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");
1070 if (os)
Printf(
"%s", os->GetName());
1083 Error(
"Md5sum",
"invalid TXProofMgr - do nothing");
1088 Error(
"Md5sum",
"functionality not supported by server");
1093 Error(
"Md5sum",
"cannot run on all nodes at once: please specify one");
1103 sum = os->GetName();
1120 Error(
"Stat",
"invalid TXProofMgr - do nothing");
1125 Error(
"Stat",
"functionality not supported by server");
1130 Error(
"Stat",
"cannot run on all nodes at once: please specify one");
1146 &uid, &gid, &
size, &mtime, &islink);
1149 &uid, &gid, &
size, &mtime, &islink);
1160 st.fIsLink = (islink == 1);
1164 if (!os->GetString().Tokenize(
tkn,
from,
"[ ]+") || !
tkn.IsDigit())
return -1;
1165 st.fDev =
tkn.Atoi();
1166 if (
st.fDev == -1)
return -1;
1167 if (!os->GetString().Tokenize(
tkn,
from,
"[ ]+") || !
tkn.IsDigit())
return -1;
1168 st.fIno =
tkn.Atoi();
1169 if (!os->GetString().Tokenize(
tkn,
from,
"[ ]+") || !
tkn.IsDigit())
return -1;
1170 st.fMode =
tkn.Atoi();
1171 if (!os->GetString().Tokenize(
tkn,
from,
"[ ]+") || !
tkn.IsDigit())
return -1;
1172 st.fUid =
tkn.Atoi();
1173 if (!os->GetString().Tokenize(
tkn,
from,
"[ ]+") || !
tkn.IsDigit())
return -1;
1174 st.fGid =
tkn.Atoi();
1175 if (!os->GetString().Tokenize(
tkn,
from,
"[ ]+") || !
tkn.IsDigit())
return -1;
1176 st.fSize =
tkn.Atoll();
1177 if (!os->GetString().Tokenize(
tkn,
from,
"[ ]+") || !
tkn.IsDigit())
return -1;
1178 st.fMtime =
tkn.Atoi();
1179 if (!os->GetString().Tokenize(
tkn,
from,
"[ ]+") || !
tkn.IsDigit())
return -1;
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,
" ")) {
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");
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);
1379 Printf(
"[GetFile] remote file '%s' does not exists or cannot be read",
filerem.Data());
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;
1411 Error(
"GetFile",
"could not open local file '%s' for writing: errno: %d",
local,
errno);
1430 ssz.ReplaceAll(
" ",
"");
1431 if (!
ssz.IsDigit()) {
1432 Error(
"GetFile",
"received non-digit size string: '%s' ('%s')", os->GetName(),
ssz.Data());
1438 Error(
"GetFile",
"received null or negative size: %lld",
size);
1472 }
else if (rec < 0) {
1474 Error(
"GetFile",
"error during receiving file");
1482 Error(
"GetFile",
"size not received");
1498 Error(
"GetFile",
"cannot get MD5 checksum of the new local file '%s'",
fileloc.Data());
1501 Error(
"GetFile",
"checksums for the local copy and the remote file differ: {rem:%s,loc:%s}",
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(
"/")) {
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());
1605 Printf(
"[PutFile] remote file exists but the check sum calculation failed");
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;
1639 if (
force) cmd +=
" force";
1660 while (
rc == 0 && pos <
stloc.fSize) {
1666 if (
siz < 0 ||
siz != left) {
1667 Error(
"PutFile",
"error reading from file: errno: %d",
errno);
1686 Error(
"PutFile",
"command could not be executed");
1701 Printf(
"[PutFile] cannot get MD5 checksum of the new remote file '%s'",
filerem.Data());
1704 Printf(
"[PutFile] checksums for the local copy and the remote file differ: {rem:%s, loc:%s}",
1725 for (
int l = 0;
l < 20;
l++) {
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(
"/")) {
1785 filesrc.Form(
"file://host/%s",
usrc.GetFileAndOptions());
1789 filedst.Form(
"file://host/%s",
udst.GetFileAndOptions());
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
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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.
static TMD5 * FileChecksum(const char *file)
Returns checksum of specified file.
Collectable string class.
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 override
Dump the content to the screen.
Implementation of the PROOF session log handler.
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
const char * Data() const
Bool_t IsDigit() const
Returns true if all characters in string are digits (0-9) or white spaces, i.e.
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
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 * GetFile() const
const char * GetUser() const
const char * GetHost() const
Handler of asynchronous events for XProofD sockets.
Implementation of the functionality provided by TProofMgr in the case of a xproofd-based session.
void Ls(const char *what="~/", const char *how=0, const char *where=0) override
Run 'ls' on the nodes.
void Tail(const char *what, const char *how=0, const char *where=0) override
Run 'tail' on the nodes.
Int_t Reset(Bool_t hard=kFALSE, const char *usr=0) override
Send a cleanup request for the sessions associated with the current user.
~TXProofMgr() override
Destructor: close the connection.
void CpProgress(const char *pfx, Long64_t bytes, Long64_t size, TStopwatch *watch, Bool_t cr=kFALSE)
Print file copy progress.
Bool_t IsValid() const override
void ShowWorkers() override
Show available workers.
TList * QuerySessions(Option_t *opt="S") override
Get list of sessions accessible to this manager.
void SetInvalid() override
Invalidate this manager by closing the connection.
void ShowROOTVersions() override
Display what ROOT versions are available on the cluster.
Int_t Md5sum(const char *what, TString &sum, const char *where=0) override
Run 'md5sum' on one of the nodes.
void DetachSession(Int_t, Option_t *="") override
Detach session with 'id' from its proofserv.
Int_t SendMsgToUsers(const char *msg, const char *usr=0) override
Send a message to connected users.
Int_t GetFile(const char *remote, const char *local, const char *opt=0) override
Get file 'remote' into 'local' from the master.
TProof * AttachSession(Int_t id, Bool_t gui=kFALSE) override
Dummy version provided for completeness.
TXProofMgr(const char *url, Int_t loglevel=-1, const char *alias="")
Create a PROOF manager for the standard (old) environment.
void More(const char *what, const char *how=0, const char *where=0) override
Run 'more' on the nodes.
Int_t Cp(const char *src, const char *dst=0, const char *opts=0) override
Copy files in/out of the sandbox.
Int_t SetROOTVersion(const char *tag) override
Set the default ROOT version to be used.
Int_t Rm(const char *what, const char *how=0, const char *where=0) override
Run 'rm' on the nodes.
Int_t PutFile(const char *local, const char *remote, const char *opt=0) override
Put file 'local'to 'remote' to the master If opt is "force", the file, if it exists remotely,...
Int_t Stat(const char *what, FileStat_t &st, const char *where=0) override
Run 'stat' on one of the nodes.
Bool_t HandleError(const void *in=0) override
Handle error on the input socket.
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),...
Bool_t HandleInput(const void *) override
Handle asynchronous input on the socket.
const char * GetMssUrl(Bool_t=kFALSE) override
Gets the URL to be prepended to paths when accessing the MSS associated with the connected cluster,...
void Grep(const char *what, const char *how=0, const char *where=0) override
Run 'grep' on the nodes.
Bool_t MatchUrl(const char *url) override
Checks if 'url' refers to the same user@host:port entity as the URL in memory.
void Find(const char *what="~/", const char *how="-type f", const char *where=0) override
Run 'find' on the nodes.
TObjString * ReadBuffer(const char *file, Long64_t ofs, Int_t len) override
Read, via the coordinator, 'len' bytes from offset 'ofs' of 'file'.
TProofLog * GetSessionLogs(Int_t ridx=0, const char *stag=0, const char *pattern="-v \"| SvcMsg\"", Bool_t rescan=kFALSE) override
Get logs or log tails from last session associated with this manager instance.
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)