library: libProofx
#include "TXSocket.h"

TXSocket


class description - source file - inheritance tree (.pdf)

class TXSocket : public TSocket, public XrdClientAbsUnsolMsgHandler

Inheritance Chart:
TObject
<-
TNamed
<-
TSocket
XrdClientAbsUnsolMsgHandler
<-
TXSocket
<-
TXUnixSocket
    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)

Data Members

    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

Class Description

                                                                      
 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.