library: libProofx #include "TXSocket.h" |
TXSocket
class description - source file - inheritance tree (.pdf)
class TXSocket : public TSocket, public XrdClientAbsUnsolMsgHandler
private:
static Int_t CleanPipe(TSocket* s = 0)
static void DumpReadySock()
Int_t GetLowSocket() const
static Int_t GetPipeRead()
static void InitEnvs()
Int_t PickUpReady()
TXSockBuf* PopUpSpare(Int_t sz)
static Int_t PostPipe(TSocket* s = 0)
void PushBackSpare()
public:
TXSocket(const char* url, Char_t mode = M, Int_t psid = -1, Char_t ver = -1, const char* alias = "0")
virtual ~TXSocket()
static TClass* Class()
virtual void Close(Option_t* opt = "")
Bool_t Create()
void DisconnectSession(Int_t id, Option_t* opt = "")
virtual void DoError(int level, const char* location, const char* fmt, va_list va) const
Int_t Flush()
virtual Int_t GetClientID() const
virtual Int_t GetClientIDSize() const
Int_t GetInterrupt(Int_t timeout = 0)
Int_t GetLogConnID() const
Int_t GetOpenError() const
Int_t GetServType() const
Int_t GetSessionID() const
virtual TClass* IsA() const
Bool_t IsServProofd()
virtual Bool_t IsValid() const
Bool_t Ping(Bool_t cleanpipe = kFALSE)
virtual UnsolRespProcResult ProcessUnsolicitedMsg(XrdClientUnsolMsgSender* s, XrdClientMessage* msg)
virtual Int_t Recv(TMessage*& mess)
virtual Int_t Recv(Int_t& status, Int_t& kind)
virtual Int_t Recv(char* mess, Int_t max)
virtual Int_t Recv(char* mess, Int_t max, Int_t& kind)
virtual Int_t RecvRaw(void* buf, Int_t len, ESendRecvOptions opt = kDefault)
virtual void RemoveClientID()
virtual Int_t Send(const TMessage& mess)
virtual Int_t Send(Int_t kind)
virtual Int_t Send(Int_t status, Int_t kind)
virtual Int_t Send(const char* mess, Int_t kind = kMESS_STRING)
TObjString* SendCoordinator(Int_t kind, const char* msg = "0")
Int_t SendInterrupt(Int_t type)
virtual Int_t SendRaw(const void* buf, Int_t len, ESendRecvOptions opt = kDontBlock)
virtual void SetClientID(Int_t)
virtual Int_t SetOption(ESockOptions, Int_t)
void SetSendOpt(ESendRecvOptions o)
void SetSessionID(Int_t id)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
char fMode 'e' (def) or 'i' (internal - proofsrv)
int fSendOpt Options for sending messages
Short_t fSessionID proofsrv: remote ID of connected session
TString fUser Username used for login
TString fHost Remote host
Int_t fPort Remote port
TString fAlias An alias name for this connection
TObject* fReference Generic object reference of this socket
TXHandler* fHandler Handler of asynchronous events (input, error)
XrdProofConn* fConn instance of the underlying connection module
TSemaphore fASem Control access to conn async msg queue
TMutex* fAMtx To protect async msg queue
list<TXSockBuf*> fAQue list of asynchronous messages
Int_t fByteLeft bytes left in the first buffer
Int_t fByteCur current position in the first buffer
TXSockBuf* fBufCur current read buffer
TMutex* fSMtx To protect spare list
list<TXSockBuf*> fSQue list of spare buffers
TSemaphore fISem Control access to interrupt queue
TMutex* fIMtx To protect interrupt queue
int fILev Highest received interrupt
Int_t fPid
static TList fgReadySock Static list of sockets ready to be read
static TMutex fgReadyMtx Protect access to the sockets-ready list
static Int_t fgPipe[2] Pipe for input monitoring
static TString fgLoc Location string
static Bool_t fgInitDone Avoid initializing more than once
public:
static const TXSocket::ECoordMsgType kQuerySessions
static const TXSocket::ECoordMsgType kSessionTag
static const TXSocket::ECoordMsgType kSessionAlias
static const TXSocket::ECoordMsgType kGetWorkers
static const TXSocket::ECoordMsgType kQueryWorkers
TXSocket
High level handler of connections to xproofd.
Inline Functions
void ~TXSocket()
Int_t PickUpReady()
TXSockBuf* PopUpSpare(Int_t sz)
void PushBackSpare()
Int_t GetLowSocket() const
Int_t GetPipeRead()
Int_t PostPipe(TSocket* s = 0)
Int_t CleanPipe(TSocket* s = 0)
void InitEnvs()
void DumpReadySock()
TXSocket TXSocket(const char* url, Char_t mode = M, Int_t psid = -1, Char_t ver = -1, const char* alias = "0")
void Close(Option_t* opt = "")
Bool_t Create()
void DisconnectSession(Int_t id, Option_t* opt = "")
void DoError(int level, const char* location, const char* fmt, va_list va) const
UnsolRespProcResult ProcessUnsolicitedMsg(XrdClientUnsolMsgSender* s, XrdClientMessage* msg)
Int_t GetClientID() const
Int_t GetClientIDSize() const
Int_t GetLogConnID() const
Int_t GetOpenError() const
Int_t GetServType() const
Int_t GetSessionID() const
Bool_t IsValid() const
Bool_t IsServProofd()
void RemoveClientID()
void SetClientID(Int_t)
void SetSendOpt(ESendRecvOptions o)
void SetSessionID(Int_t id)
Int_t Send(const TMessage& mess)
Int_t Send(Int_t kind)
Int_t Send(Int_t status, Int_t kind)
Int_t Send(const char* mess, Int_t kind = kMESS_STRING)
Int_t SendRaw(const void* buf, Int_t len, ESendRecvOptions opt = kDontBlock)
TObjString* SendCoordinator(Int_t kind, const char* msg = "0")
Int_t Recv(TMessage*& mess)
Int_t Recv(Int_t& status, Int_t& kind)
Int_t Recv(char* mess, Int_t max)
Int_t Recv(char* mess, Int_t max, Int_t& kind)
Int_t RecvRaw(void* buf, Int_t len, ESendRecvOptions opt = kDefault)
Int_t SendInterrupt(Int_t type)
Int_t GetInterrupt(Int_t timeout = 0)
Int_t Flush()
Bool_t Ping(Bool_t cleanpipe = kFALSE)
Int_t SetOption(ESockOptions, Int_t)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Author: G. Ganis Oct 2005
Last update: root/proofx:$Name: $:$Id: TXSocket.h,v 1.3 2006/04/19 10:57:44 rdm Exp $
Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.