library: libNetx #include "TXSocket.h"

# TXSocket

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

## class TXSocket : public TSocket

| Inheritance Chart:
`TObject`
| <- | `TNamed`
| <- | `TSocket`
| <- | `TXSocket` |

        protected:

          TSocket* ExtractSocket()

        public:

                          TXSocket(TString host, Int_t port, Int_t tcpwindowsize = -1)
                          TXSocket(const TXSocket&)
                  virtual ~TXSocket()
              static void CatchTimeOut()
           static TClass* Class()
                     void Create(TString, Int_t, Int_t)
          virtual TClass* IsA() const
            virtual Int_t RecvRaw(void* buffer, Int_t length, ESendRecvOptions opt = kDefault)
            virtual Int_t SendRaw(const void* buffer, Int_t length, ESendRecvOptions opt = kDefault)
             virtual void ShowMembers(TMemberInspector& insp, char* parent)
             virtual void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)
                     void TryConnect()

### Data Members

        private:

                        Bool_t fASYNC
          TXSocketConnectParms fHost2contact    status connection thread
                         Int_t fRequestTimeout

## Class Description

     TXSocket

     Extension of TSocket to handle read/write and connection timeouts.

TXSocket(TString TcpAddress, Int_t TcpPort, Int_t TcpWindowSize) : TSocket()

     Create a TXSocket object (that doesn't actually connect to any server.

~TXSocket()

     Destructor

Int_t RecvRaw(void* buffer, Int_t length, ESendRecvOptions opt)

     Override of TSocket::RecvRaw. Before calling TSocket::RecvRaw we poll for a
     while on the socket descriptor waiting for a POLLIN event (data to read).

Int_t SendRaw(const void* buffer, Int_t length, ESendRecvOptions opt)

     Override of TSocket::SendRaw. Before calling TSocket::SendRaw we poll
     for a while on the socket descriptor waiting for a POLLOUT event
     (writes will not hang)

void TryConnect()

     Connection attempt

void CatchTimeOut()

     Called in connection with a timer timeout

void Create(TString host, Int_t port, Int_t tcpwindowsize)

     Create a connection

TSocket* ExtractSocket()

     Return copy of the underlying TSocket part and set the descriptor
     to -1 (so that the connection is not closed when the TXSocket is
     deleted).
     Used to save an open connection to rootd daemons

### Inline Functions

                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
               TXSocket TXSocket(const TXSocket&)

Author: Alvise Dorigo, Fabrizio Furano
Last update: root/netx:$Name: $:$Id: TXSocket.cxx,v 1.5 2004/12/16 19:23:18 rdm Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *