ROOT  6.06/08
Reference Guide
Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
TXSocket Class Reference

Definition at line 75 of file TXSocket.h.

Public Types

enum  EUrgentMsgType { kStopProcess = 2000 }
 
- Public Types inherited from TSocket
enum  EStatusBits { kIsUnix = BIT(16), kBrokenConn = BIT(17) }
 
enum  EInterest { kRead = 1, kWrite = 2 }
 
enum  EServiceType { kSOCKD, kROOTD, kPROOFD }
 
- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 

Public Member Functions

 TXSocket (const char *url, Char_t mode='M', Int_t psid=-1, Char_t ver=-1, const char *logbuf=0, Int_t loglevel=-1, TXHandler *handler=0)
 Constructor Open the connection to a remote XrdProofd instance and start a PROOF session. More...
 
virtual ~TXSocket ()
 Destructor. More...
 
virtual void Close (Option_t *opt="")
 Close connection. More...
 
Bool_t Create (Bool_t attach=kFALSE)
 This method sends a request for creation of (or attachment to) a remote server application. More...
 
void DisconnectSession (Int_t id, Option_t *opt="")
 Disconnect a session. More...
 
void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
virtual UnsolRespProcResult ProcessUnsolicitedMsg (XrdClientUnsolMsgSender *s, XrdClientMessage *msg)
 We are here if an unsolicited response comes from a logical conn The response comes in the form of an XrdClientMessage *, that must NOT be destroyed after processing. More...
 
virtual Int_t GetClientID () const
 
virtual Int_t GetClientIDSize () const
 
Int_t GetLogConnID () const
 Getter for logical connection ID. More...
 
Int_t GetOpenError () const
 Getter for last error. More...
 
Int_t GetServType () const
 Getter for server type. More...
 
Int_t GetSessionID () const
 Getter for session ID. More...
 
Int_t GetXrdProofdVersion () const
 
Bool_t IsValid () const
 Getter for validity status. More...
 
Bool_t IsServProofd ()
 Return kTRUE if the remote server is a 'proofd'. More...
 
virtual void RemoveClientID ()
 
virtual void SetClientID (Int_t)
 
void SetSendOpt (ESendRecvOptions o)
 
void SetSessionID (Int_t id)
 Set session ID to 'id'. If id < 0, disable also the asynchronous handler. More...
 
Int_t Send (const TMessage &mess)
 Send a TMessage object. More...
 
Int_t Send (Int_t kind)
 Send a single message opcode. More...
 
Int_t Send (Int_t status, Int_t kind)
 Send a status and a single message opcode. More...
 
Int_t Send (const char *mess, Int_t kind=kMESS_STRING)
 Send a character string buffer. More...
 
Int_t SendRaw (const void *buf, Int_t len, ESendRecvOptions opt=kDontBlock)
 Send a raw buffer of specified length. More...
 
TObjStringSendCoordinator (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. More...
 
Int_t Recv (TMessage *&mess)
 Receive a TMessage object. More...
 
Int_t Recv (Int_t &status, Int_t &kind)
 Receives a status and a message type. More...
 
Int_t Recv (char *mess, Int_t max)
 Receive a character string message of maximum max length. More...
 
Int_t Recv (char *mess, Int_t max, Int_t &kind)
 Receive a character string message of maximum max length. More...
 
Int_t RecvRaw (void *buf, Int_t len, ESendRecvOptions opt=kDefault)
 Receive a raw buffer of specified length bytes. More...
 
Int_t SendInterrupt (Int_t type)
 Send urgent message (interrupt) to remote server Returns 0 or -1 in case of error. More...
 
Int_t GetInterrupt (Bool_t &forward)
 Get latest interrupt level and reset it; if the interrupt has to be propagated to lower stages forward will be kTRUE after the call. More...
 
void SendUrgent (Int_t type, Int_t int1, Int_t int2)
 Send urgent message to counterpart; 'type' specifies the type of the message (see TXSocket::EUrgentMsgType), and 'int1', 'int2' two containers for additional information. More...
 
void SetInterrupt (Bool_t i=kTRUE)
 
Bool_t IsInterrupt ()
 
void SetAWait (Bool_t w=kTRUE)
 
Bool_t IsAWait ()
 
Int_t Flush ()
 Flush the asynchronous queue. More...
 
Bool_t Ping (const char *ord=0)
 Ping functionality: contact the server to check its vitality. More...
 
void RemoteTouch ()
 Remote touch functionality: contact the server to proof our vitality. More...
 
void CtrlC ()
 Interrupt the remote protocol instance. More...
 
Int_t SetOption (ESockOptions, Int_t)
 Set socket options. More...
 
void DisableTimeout ()
 
void EnableTimeout ()
 
virtual Int_t Reconnect ()
 Try reconnection after failure. More...
 
- Public Member Functions inherited from TSocket
 TSocket (TInetAddress address, const char *service, Int_t tcpwindowsize=-1)
 Create a socket. More...
 
 TSocket (TInetAddress address, Int_t port, Int_t tcpwindowsize=-1)
 Create a socket. More...
 
 TSocket (const char *host, const char *service, Int_t tcpwindowsize=-1)
 Create a socket. More...
 
 TSocket (const char *host, Int_t port, Int_t tcpwindowsize=-1)
 Create a socket; see CreateAuthSocket for the form of url. More...
 
 TSocket (const char *sockpath)
 Create a socket in the Unix domain on 'sockpath'. More...
 
 TSocket (Int_t descriptor)
 Create a socket. More...
 
 TSocket (Int_t descriptor, const char *sockpath)
 Create a socket. More...
 
 TSocket (const TSocket &s)
 TSocket copy ctor. More...
 
virtual ~TSocket ()
 
virtual Int_t GetDescriptor () const
 
TInetAddress GetInetAddress () const
 
virtual TInetAddress GetLocalInetAddress ()
 Return internet address of local host to which the socket is bound. More...
 
Int_t GetPort () const
 
const char * GetService () const
 
Int_t GetServType () const
 
virtual Int_t GetLocalPort ()
 Return the local port # to which the socket is bound. More...
 
UInt_t GetBytesSent () const
 
UInt_t GetBytesRecv () const
 
Int_t GetCompressionAlgorithm () const
 
Int_t GetCompressionLevel () const
 
Int_t GetCompressionSettings () const
 
Int_t GetErrorCode () const
 Returns error code. More...
 
virtual Int_t GetOption (ESockOptions opt, Int_t &val)
 Get socket options. Returns -1 in case of error. More...
 
Int_t GetRemoteProtocol () const
 
TSecContextGetSecContext () const
 
Int_t GetTcpWindowSize () const
 
TTimeStamp GetLastUsage ()
 
const char * GetUrl () const
 
virtual Bool_t IsAuthenticated () const
 
virtual Int_t Select (Int_t interest=kRead, Long_t timeout=-1)
 Waits for this socket to change status. More...
 
virtual Int_t SendObject (const TObject *obj, Int_t kind=kMESS_OBJECT)
 Send an object. More...
 
void SetCompressionAlgorithm (Int_t algorithm=0)
 See comments for function SetCompressionSettings. More...
 
void SetCompressionLevel (Int_t level=1)
 See comments for function SetCompressionSettings. More...
 
void SetCompressionSettings (Int_t settings=1)
 Used to specify the compression level and algorithm: settings = 100 * algorithm + level. More...
 
void SetRemoteProtocol (Int_t rproto)
 
void SetSecContext (TSecContext *ctx)
 
void SetService (const char *service)
 
void SetServType (Int_t st)
 
void SetUrl (const char *url)
 
void Touch ()
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TString &name, const TString &title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual ~TNamed ()
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void SetName (const char *name)
 Change (i.e. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Change (i.e. set) all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Change (i.e. set) the title of the TNamed. More...
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Private Member Functions

Int_t PickUpReady ()
 Wait and pick-up next buffer from the asynchronous queue. More...
 
TXSockBufPopUpSpare (Int_t sz)
 Pop-up a buffer of at least size bytes from the spare list If none is found either one is reallocated or a new one created. More...
 
void PushBackSpare ()
 Release read buffer giving back to the spare list. More...
 
void PostMsg (Int_t type, const char *msg=0)
 Post a message of type 'type' into the read messages queue. More...
 
Int_t GetLowSocket () const
 

Static Private Member Functions

static void SetLocation (const char *loc="")
 Set location string. More...
 
static void InitEnvs ()
 Init environment variables for XrdClient. More...
 

Private Attributes

char fMode
 
kXR_int32 fSendOpt
 
Short_t fSessionID
 
TString fUser
 
TString fHost
 
Int_t fPort
 
Int_t fLogLevel
 
TString fBuffer
 
TObjectfReference
 
TXHandlerfHandler
 
XrdProofConnfConn
 
TSemaphore fASem
 
TMutexfAMtx
 
Bool_t fAWait
 
std::list< TXSockBuf * > fAQue
 
Int_t fByteLeft
 
Int_t fByteCur
 
TXSockBuffBufCur
 
TSemaphore fAsynProc
 
TMutexfIMtx
 
kXR_int32 fILev
 
Bool_t fIForward
 
Int_t fPid
 
Bool_t fDontTimeout
 
Bool_t fRDInterrupt
 
Int_t fXrdProofdVersion
 

Static Private Attributes

static TXSockPipe fgPipe
 
static TString fgLoc = "undef"
 
static Bool_t fgInitDone = kFALSE
 
static TMutex fgSMtx
 
static std::list< TXSockBuf * > fgSQue
 

Friends

class TXProofMgr
 
class TXProofServ
 
class TXSlave
 
class TXSocketHandler
 
class TXSockPipe
 
class TXUnixSocket
 

Additional Inherited Members

- Static Public Member Functions inherited from TSocket
static Int_t GetClientProtocol ()
 Static method returning supported client protocol. More...
 
static ULong64_t GetSocketBytesSent ()
 Get total number of bytes sent via all sockets. More...
 
static ULong64_t GetSocketBytesRecv ()
 Get total number of bytes received via all sockets. More...
 
static TSocketCreateAuthSocket (const char *user, const char *host, Int_t port, Int_t size=0, Int_t tcpwindowsize=-1, TSocket *s=0, Int_t *err=0)
 Creates a socket or a parallel socket and authenticates to the remote server specified in 'url' on remote 'port' as 'user'. More...
 
static TSocketCreateAuthSocket (const char *url, Int_t size=0, Int_t tcpwindowsize=-1, TSocket *s=0, Int_t *err=0)
 Creates a socket or a parallel socket and authenticates to the remote server. More...
 
static void NetError (const char *where, Int_t error)
 Print error string depending on error code. More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Protected Member Functions inherited from TSocket
 TSocket ()
 
Bool_t Authenticate (const char *user)
 Authenticated the socket with specified user. More...
 
void SetDescriptor (Int_t desc)
 
void SendStreamerInfos (const TMessage &mess)
 Check if TStreamerInfo must be sent. More...
 
Bool_t RecvStreamerInfos (TMessage *mess)
 Receive a message containing streamer infos. More...
 
void SendProcessIDs (const TMessage &mess)
 Check if TProcessIDs must be sent. More...
 
Bool_t RecvProcessIDs (TMessage *mess)
 Receive a message containing process ids. More...
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
- Protected Attributes inherited from TSocket
TInetAddress fAddress
 
UInt_t fBytesRecv
 
UInt_t fBytesSent
 
Int_t fCompress
 
TInetAddress fLocalAddress
 
Int_t fRemoteProtocol
 
TSecContextfSecContext
 
TString fService
 
EServiceType fServType
 
Int_t fSocket
 
Int_t fTcpWindowSize
 
TString fUrl
 
TBits fBitsInfo
 
TListfUUIDs
 
TVirtualMutexfLastUsageMtx
 
TTimeStamp fLastUsage
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Static Protected Attributes inherited from TSocket
static ULong64_t fgBytesRecv = 0
 
static ULong64_t fgBytesSent = 0
 
static Int_t fgClientProtocol = 17
 

#include <TXSocket.h>

+ Inheritance diagram for TXSocket:
+ Collaboration diagram for TXSocket:

Member Enumeration Documentation

§ EUrgentMsgType

Enumerator
kStopProcess 

Definition at line 152 of file TXSocket.h.

Constructor & Destructor Documentation

§ TXSocket()

TXSocket::TXSocket ( const char *  url,
Char_t  m = 'M',
Int_t  psid = -1,
Char_t  capver = -1,
const char *  logbuf = 0,
Int_t  loglevel = -1,
TXHandler handler = 0 
)

Constructor Open the connection to a remote XrdProofd instance and start a PROOF session.

The mode 'm' indicates the role of this connection: 'a' Administrator; used by an XPD to contact the head XPD 'i' Internal; used by a TXProofServ to call back its creator (see XrdProofUnixConn) 'C' PROOF manager: open connection only (do not start a session) 'M' Client creating a top master 'A' Client attaching to top master 'm' Top master creating a submaster 's' Master creating a slave The buffer 'logbuf' is a null terminated string to be sent over at login.

Definition at line 127 of file TXSocket.cxx.

§ ~TXSocket()

TXSocket::~TXSocket ( )
virtual

Destructor.

Definition at line 239 of file TXSocket.cxx.

Member Function Documentation

§ Close()

void TXSocket::Close ( Option_t opt = "")
virtual

Close connection.

Available options are (case insensitive) 'P' force closing of the underlying physical connection 'S' shutdown remote session, is any A session ID can be given using #...# signature, e.g. "#1#". Default is opt = "".

Reimplemented from TSocket.

Definition at line 323 of file TXSocket.cxx.

Referenced by Reconnect(), TXProofMgr::SetInvalid(), TXSocket(), and ~TXSocket().

§ Create()

Bool_t TXSocket::Create ( Bool_t  attach = kFALSE)

This method sends a request for creation of (or attachment to) a remote server application.

Definition at line 1051 of file TXSocket.cxx.

Referenced by Reconnect(), and TXSocket().

§ CtrlC()

void TXSocket::CtrlC ( )

Interrupt the remote protocol instance.

Used to propagate Ctrl-C. No reply from server is expected.

Definition at line 1383 of file TXSocket.cxx.

Referenced by IsAWait().

§ DisableTimeout()

void TXSocket::DisableTimeout ( )
inline

Definition at line 241 of file TXSocket.h.

§ DisconnectSession()

void TXSocket::DisconnectSession ( Int_t  id,
Option_t opt = "" 
)

Disconnect a session.

Use opt= "S" or "s" to shutdown remote session. Default is opt = "".

Definition at line 280 of file TXSocket.cxx.

Referenced by Close(), and TXProofMgr::DetachSession().

§ DoError()

void TXSocket::DoError ( int  level,
const char *  location,
const char *  fmt,
va_list  va 
) const
virtual

Interface to ErrorHandler (protected).

Reimplemented from TObject.

Definition at line 71 of file TXSocket.cxx.

§ EnableTimeout()

void TXSocket::EnableTimeout ( )
inline

Definition at line 242 of file TXSocket.h.

§ Flush()

Int_t TXSocket::Flush ( )

Flush the asynchronous queue.

Typically called when a kHardInterrupt is received. Returns number of bytes in flushed buffers.

Definition at line 1002 of file TXSocket.cxx.

Referenced by IsAWait().

§ GetClientID()

virtual Int_t TXSocket::GetClientID ( ) const
inlinevirtual

Reimplemented in TXUnixSocket.

Definition at line 172 of file TXSocket.h.

Referenced by PickUpReady(), and SendRaw().

§ GetClientIDSize()

virtual Int_t TXSocket::GetClientIDSize ( ) const
inlinevirtual

Reimplemented in TXUnixSocket.

Definition at line 173 of file TXSocket.h.

Referenced by Send().

§ GetInterrupt()

Int_t TXSocket::GetInterrupt ( Bool_t forward)

Get latest interrupt level and reset it; if the interrupt has to be propagated to lower stages forward will be kTRUE after the call.

Definition at line 970 of file TXSocket.cxx.

Referenced by Recv().

§ GetLogConnID()

Int_t TXSocket::GetLogConnID ( ) const

Getter for logical connection ID.

Definition at line 917 of file TXSocket.cxx.

§ GetLowSocket()

Int_t TXSocket::GetLowSocket ( ) const
private

Definition at line 1977 of file TXSocket.cxx.

§ GetOpenError()

Int_t TXSocket::GetOpenError ( ) const

Getter for last error.

Definition at line 925 of file TXSocket.cxx.

Referenced by TXProofMgr::Init(), and TXProofMgr::SetROOTVersion().

§ GetServType()

Int_t TXSocket::GetServType ( ) const

Getter for server type.

Definition at line 933 of file TXSocket.cxx.

§ GetSessionID()

Int_t TXSocket::GetSessionID ( ) const

Getter for session ID.

Definition at line 941 of file TXSocket.cxx.

§ GetXrdProofdVersion()

Int_t TXSocket::GetXrdProofdVersion ( ) const
inline

§ InitEnvs()

void TXSocket::InitEnvs ( )
staticprivate

Init environment variables for XrdClient.

Definition at line 1984 of file TXSocket.cxx.

Referenced by TXSocket().

§ IsAWait()

Bool_t TXSocket::IsAWait ( )
inline

Definition at line 224 of file TXSocket.h.

§ IsInterrupt()

Bool_t TXSocket::IsInterrupt ( )
inline

Definition at line 220 of file TXSocket.h.

Referenced by PickUpReady().

§ IsServProofd()

Bool_t TXSocket::IsServProofd ( )

Return kTRUE if the remote server is a 'proofd'.

Definition at line 957 of file TXSocket.cxx.

Referenced by GetXrdProofdVersion(), and TXProofMgr::Init().

§ IsValid()

Bool_t TXSocket::IsValid ( ) const
virtual

Getter for validity status.

Reimplemented from TSocket.

Definition at line 949 of file TXSocket.cxx.

Referenced by Close(), Create(), CtrlC(), DisconnectSession(), TXProofMgr::HandleError(), TXProofMgr::HandleInput(), TXProofMgr::Init(), Ping(), Recv(), and RemoteTouch().

§ PickUpReady()

Int_t TXSocket::PickUpReady ( )
private

Wait and pick-up next buffer from the asynchronous queue.

Definition at line 1419 of file TXSocket.cxx.

Referenced by RecvRaw().

§ Ping()

Bool_t TXSocket::Ping ( const char *  ord = 0)

Ping functionality: contact the server to check its vitality.

If external, the server waits for a reply from the server Returns kTRUE if OK or kFALSE in case of error.

Definition at line 1273 of file TXSocket.cxx.

Referenced by IsAWait().

§ PopUpSpare()

TXSockBuf * TXSocket::PopUpSpare ( Int_t  sz)
private

Pop-up a buffer of at least size bytes from the spare list If none is found either one is reallocated or a new one created.

Definition at line 1510 of file TXSocket.cxx.

Referenced by PostMsg(), and ProcessUnsolicitedMsg().

§ PostMsg()

void TXSocket::PostMsg ( Int_t  type,
const char *  msg = 0 
)
private

Post a message of type 'type' into the read messages queue.

If 'msg' is defined it is also added as TString. This is used, for example, with kPROOF_FATAL to force the main thread to mark this socket as bad, avoiding race condition when a worker dies while in processing state.

Definition at line 860 of file TXSocket.cxx.

Referenced by ProcessUnsolicitedMsg().

§ ProcessUnsolicitedMsg()

UnsolRespProcResult TXSocket::ProcessUnsolicitedMsg ( XrdClientUnsolMsgSender *  s,
XrdClientMessage *  m 
)
virtual

We are here if an unsolicited response comes from a logical conn The response comes in the form of an XrdClientMessage *, that must NOT be destroyed after processing.

It is destroyed by the first sender. Remember that we are in a separate thread, since unsolicited responses are asynchronous by nature.

Definition at line 380 of file TXSocket.cxx.

§ PushBackSpare()

void TXSocket::PushBackSpare ( )
private

Release read buffer giving back to the spare list.

Definition at line 1560 of file TXSocket.cxx.

Referenced by RecvRaw().

§ Reconnect()

Int_t TXSocket::Reconnect ( )
virtual

Try reconnection after failure.

Reimplemented from TSocket.

Reimplemented in TXUnixSocket.

Definition at line 2133 of file TXSocket.cxx.

Referenced by TXProofMgr::HandleError().

§ Recv() [1/4]

Int_t TXSocket::Recv ( TMessage *&  mess)
virtual

Receive a TMessage object.

The user must delete the TMessage object. Returns length of message in bytes (can be 0 if other side of connection is closed) or -1 in case of error or -5 if pipe broken (connection invalid). In those case mess == 0.

Reimplemented from TSocket.

Definition at line 1774 of file TXSocket.cxx.

Referenced by TXProofMgr::HandleInput(), and Send().

§ Recv() [2/4]

Int_t TXSocket::Recv ( Int_t status,
Int_t kind 
)
inlinevirtual

Receives a status and a message type.

Returns length of received integers, 2*sizeof(Int_t) (can be 0 if other side of connection is closed) or -1 in case of error or -4 in case a non-blocking socket would block (i.e. there is nothing to be read).

Reimplemented from TSocket.

Definition at line 202 of file TXSocket.h.

§ Recv() [3/4]

Int_t TXSocket::Recv ( char *  str,
Int_t  max 
)
inlinevirtual

Receive a character string message of maximum max length.

The expected message must be of type kMESS_STRING. Returns length of received string (can be 0 if otherside of connection is closed) or -1 in case of error or -4 in case a non-blocking socket would block (i.e. there is nothing to be read).

Reimplemented from TSocket.

Definition at line 204 of file TXSocket.h.

§ Recv() [4/4]

Int_t TXSocket::Recv ( char *  str,
Int_t  max,
Int_t kind 
)
inlinevirtual

Receive a character string message of maximum max length.

Returns in kind the message type. Returns length of received string+4 (can be 0 if other side of connection is closed) or -1 in case of error or -4 in case a non-blocking socket would block (i.e. there is nothing to be read).

Reimplemented from TSocket.

Definition at line 206 of file TXSocket.h.

§ RecvRaw()

Int_t TXSocket::RecvRaw ( void buf,
Int_t  len,
ESendRecvOptions  opt = kDefault 
)
virtual

Receive a raw buffer of specified length bytes.

Reimplemented from TSocket.

Definition at line 1581 of file TXSocket.cxx.

Referenced by TXProofMgr::GetFile(), and Recv().

§ RemoteTouch()

void TXSocket::RemoteTouch ( )

Remote touch functionality: contact the server to proof our vitality.

No reply from server is expected.

Definition at line 1345 of file TXSocket.cxx.

Referenced by TXProofMgr::HandleInput(), and IsAWait().

§ RemoveClientID()

virtual void TXSocket::RemoveClientID ( )
inlinevirtual

Reimplemented in TXUnixSocket.

Definition at line 182 of file TXSocket.h.

§ Send() [1/4]

Int_t TXSocket::Send ( const TMessage mess)
virtual

Send a TMessage object.

Returns the number of bytes in the TMessage that were sent and -1 in case of error.

Reimplemented from TSocket.

Definition at line 1689 of file TXSocket.cxx.

Referenced by SetSendOpt().

§ Send() [2/4]

Int_t TXSocket::Send ( Int_t  kind)
inlinevirtual

Send a single message opcode.

Use kind (opcode) to set the TMessage "what" field. Returns the number of bytes that were sent (always sizeof(Int_t)) and -1 in case of error. In case the kind has been or'ed with kMESS_ACK, the call will only return after having received an acknowledgement, making the sending process synchronous.

Reimplemented from TSocket.

Definition at line 189 of file TXSocket.h.

§ Send() [3/4]

Int_t TXSocket::Send ( Int_t  status,
Int_t  kind 
)
inlinevirtual

Send a status and a single message opcode.

Use kind (opcode) to set the TMessage "what" field. Returns the number of bytes that were sent (always 2*sizeof(Int_t)) and -1 in case of error. In case the kind has been or'ed with kMESS_ACK, the call will only return after having received an acknowledgement, making the sending process synchronous.

Reimplemented from TSocket.

Definition at line 190 of file TXSocket.h.

§ Send() [4/4]

Int_t TXSocket::Send ( const char *  str,
Int_t  kind = kMESS_STRING 
)
inlinevirtual

Send a character string buffer.

Use kind to set the TMessage "what" field. Returns the number of bytes in the string str that were sent and -1 in case of error. In case the kind has been or'ed with kMESS_ACK, the call will only return after having received an acknowledgement, making the sending process synchronous.

Reimplemented from TSocket.

Definition at line 192 of file TXSocket.h.

§ SendCoordinator()

TObjString * TXSocket::SendCoordinator ( Int_t  kind,
const char *  msg = 0,
Int_t  int2 = 0,
Long64_t  l64 = 0,
Int_t  int3 = 0,
const char *  opt = 0 
)

§ SendInterrupt()

Int_t TXSocket::SendInterrupt ( Int_t  type)

Send urgent message (interrupt) to remote server Returns 0 or -1 in case of error.

Definition at line 1638 of file TXSocket.cxx.

Referenced by Recv().

§ SendRaw()

Int_t TXSocket::SendRaw ( const void buffer,
Int_t  length,
ESendRecvOptions  opt = kDontBlock 
)
virtual

Send a raw buffer of specified length.

Use opt = kDontBlock to ask xproofd to push the message into the proofsrv. (by default is appended to a queue waiting for a request from proofsrv). Returns the number of bytes sent or -1 in case of error.

Reimplemented from TSocket.

Definition at line 1216 of file TXSocket.cxx.

Referenced by Send().

§ SendUrgent()

void TXSocket::SendUrgent ( Int_t  type,
Int_t  int1,
Int_t  int2 
)

Send urgent message to counterpart; 'type' specifies the type of the message (see TXSocket::EUrgentMsgType), and 'int1', 'int2' two containers for additional information.

Definition at line 1942 of file TXSocket.cxx.

Referenced by Recv().

§ SetAWait()

void TXSocket::SetAWait ( Bool_t  w = kTRUE)
inline

Definition at line 223 of file TXSocket.h.

Referenced by PickUpReady().

§ SetClientID()

virtual void TXSocket::SetClientID ( Int_t  )
inlinevirtual

Reimplemented in TXUnixSocket.

Definition at line 183 of file TXSocket.h.

Referenced by PickUpReady().

§ SetInterrupt()

void TXSocket::SetInterrupt ( Bool_t  i = kTRUE)

Definition at line 1677 of file TXSocket.cxx.

Referenced by PickUpReady().

§ SetLocation()

void TXSocket::SetLocation ( const char *  loc = "")
staticprivate

Set location string.

Definition at line 254 of file TXSocket.cxx.

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

§ SetOption()

Int_t TXSocket::SetOption ( ESockOptions  opt,
Int_t  val 
)
inlinevirtual

Set socket options.

Reimplemented from TSocket.

Definition at line 238 of file TXSocket.h.

§ SetSendOpt()

void TXSocket::SetSendOpt ( ESendRecvOptions  o)
inline

Definition at line 184 of file TXSocket.h.

§ SetSessionID()

void TXSocket::SetSessionID ( Int_t  id)

Set session ID to 'id'. If id < 0, disable also the asynchronous handler.

Definition at line 268 of file TXSocket.cxx.

Referenced by SetSendOpt().

Friends And Related Function Documentation

§ TXProofMgr

friend class TXProofMgr
friend

Definition at line 77 of file TXSocket.h.

§ TXProofServ

friend class TXProofServ
friend

Definition at line 78 of file TXSocket.h.

§ TXSlave

friend class TXSlave
friend

Definition at line 79 of file TXSocket.h.

§ TXSocketHandler

friend class TXSocketHandler
friend

Definition at line 80 of file TXSocket.h.

§ TXSockPipe

friend class TXSockPipe
friend

Definition at line 81 of file TXSocket.h.

§ TXUnixSocket

friend class TXUnixSocket
friend

Definition at line 82 of file TXSocket.h.

Member Data Documentation

§ fAMtx

TMutex* TXSocket::fAMtx
private

§ fAQue

std::list<TXSockBuf *> TXSocket::fAQue
private

Definition at line 104 of file TXSocket.h.

Referenced by Flush(), PickUpReady(), PostMsg(), ProcessUnsolicitedMsg(), and TXSocket().

§ fASem

TSemaphore TXSocket::fASem
private

Definition at line 101 of file TXSocket.h.

Referenced by Flush(), PickUpReady(), PostMsg(), ProcessUnsolicitedMsg(), and SetInterrupt().

§ fAsynProc

TSemaphore TXSocket::fAsynProc
private

Definition at line 109 of file TXSocket.h.

Referenced by Close(), and ProcessUnsolicitedMsg().

§ fAWait

Bool_t TXSocket::fAWait
private

Definition at line 103 of file TXSocket.h.

Referenced by IsAWait(), and SetInterrupt().

§ fBufCur

TXSockBuf* TXSocket::fBufCur
private

Definition at line 107 of file TXSocket.h.

Referenced by PickUpReady(), PushBackSpare(), RecvRaw(), and TXSocket().

§ fBuffer

TString TXSocket::fBuffer
private

Definition at line 94 of file TXSocket.h.

Referenced by Create(), and TXSocket().

§ fByteCur

Int_t TXSocket::fByteCur
private

Definition at line 106 of file TXSocket.h.

Referenced by PickUpReady(), PushBackSpare(), RecvRaw(), and TXSocket().

§ fByteLeft

Int_t TXSocket::fByteLeft
private

Definition at line 105 of file TXSocket.h.

Referenced by PickUpReady(), PushBackSpare(), RecvRaw(), and TXSocket().

§ fConn

XrdProofConn* TXSocket::fConn
private

§ fDontTimeout

Bool_t TXSocket::fDontTimeout
private

Definition at line 120 of file TXSocket.h.

Referenced by PickUpReady().

§ fgInitDone

Bool_t TXSocket::fgInitDone = kFALSE
staticprivate

Definition at line 129 of file TXSocket.h.

Referenced by DoError(), InitEnvs(), and TXSocket().

§ fgLoc

TString TXSocket::fgLoc = "undef"
staticprivate

Definition at line 128 of file TXSocket.h.

Referenced by DoError(), and SetLocation().

§ fgPipe

TXSockPipe TXSocket::fgPipe
staticprivate

§ fgSMtx

TMutex TXSocket::fgSMtx
staticprivate

Definition at line 132 of file TXSocket.h.

Referenced by DoError(), Flush(), PopUpSpare(), and PushBackSpare().

§ fgSQue

std::list< TXSockBuf * > TXSocket::fgSQue
staticprivate

Definition at line 133 of file TXSocket.h.

Referenced by DoError(), Flush(), PopUpSpare(), and PushBackSpare().

§ fHandler

TXHandler* TXSocket::fHandler
private

Definition at line 96 of file TXSocket.h.

Referenced by TXSocketHandler::Notify(), ProcessUnsolicitedMsg(), and TXSocket().

§ fHost

TString TXSocket::fHost
private

§ fIForward

Bool_t TXSocket::fIForward
private

Definition at line 114 of file TXSocket.h.

Referenced by GetInterrupt(), ProcessUnsolicitedMsg(), and TXSocket().

§ fILev

kXR_int32 TXSocket::fILev
private

Definition at line 113 of file TXSocket.h.

Referenced by GetInterrupt(), ProcessUnsolicitedMsg(), and TXSocket().

§ fIMtx

TMutex* TXSocket::fIMtx
private

Definition at line 112 of file TXSocket.h.

Referenced by GetInterrupt(), ProcessUnsolicitedMsg(), TXSocket(), and ~TXSocket().

§ fLogLevel

Int_t TXSocket::fLogLevel
private

Definition at line 92 of file TXSocket.h.

Referenced by Create().

§ fMode

char TXSocket::fMode
private

Definition at line 85 of file TXSocket.h.

Referenced by Create(), Ping(), Reconnect(), and TXSocket().

§ fPid

Int_t TXSocket::fPid
private

Definition at line 117 of file TXSocket.h.

Referenced by TXSocket().

§ fPort

Int_t TXSocket::fPort
private

Definition at line 90 of file TXSocket.h.

Referenced by TInetAddress::GetPort(), and TXSocket().

§ fRDInterrupt

Bool_t TXSocket::fRDInterrupt
private

Definition at line 121 of file TXSocket.h.

Referenced by IsInterrupt(), and SetInterrupt().

§ fReference

TObject* TXSocket::fReference
private

Definition at line 95 of file TXSocket.h.

Referenced by TXSocket().

§ fSendOpt

kXR_int32 TXSocket::fSendOpt
private

Definition at line 86 of file TXSocket.h.

Referenced by Send(), SendRaw(), and TXSocket().

§ fSessionID

Short_t TXSocket::fSessionID
private

§ fUser

TString TXSocket::fUser
private

Definition at line 88 of file TXSocket.h.

Referenced by TXSocket().

§ fXrdProofdVersion

Int_t TXSocket::fXrdProofdVersion
private

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