library: libNetx #include "TXMessage.h"

# TXMessage

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

## class TXMessage

| Inheritance Chart:
`TXMessage` |

        private:

          Short_t CharStreamid2Int(kXR_char* charstreamid)
             void Int2CharStreamid(kXR_char* charstreamid, Short_t intstreamid)

        public:

                          TXMessage(ServerResponseHeader header)
                          TXMessage()
                          TXMessage(const TXMessage&)
                  virtual ~TXMessage()
           static TClass* Class()
                   Bool_t CreateData()
                kXR_int32 DataLen()
                    void* DonateData()
                    void* GetData()
                kXR_int16 GetStatusCode()
                  Short_t HeaderSID()
                kXR_int16 HeaderStatus()
          virtual TClass* IsA() const
                   Bool_t IsAttn()
                     bool IsError()
                     bool IsMarshalled()
                     void Marshall()
                   Bool_t MatchStreamid(Short_t sid)
               TXMessage& operator=(const TXMessage&)
                    Int_t ReadRaw(TXPhyConnection* phy, ESendRecvOptions opt)
                     void SetHeaderStatus(kXR_int16 sts)
                     void SetMarshalled(Bool_t m)
                     void SetStatusCode(kXR_int16 status)
             virtual void ShowMembers(TMemberInspector& insp, char* parent)
             virtual void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)
                     void Unmarshall()

### Data Members

        private:

             Bool_t fAllocated
              void* fData        !
             Bool_t fMarshalled
          kXR_int16 fStatusCode

        public:

          static const TXMessage::EXMSCStatus kXMSC_ok
          static const TXMessage::EXMSCStatus kXMSC_readerr
          static const TXMessage::EXMSCStatus kXMSC_writeerr
          static const TXMessage::EXMSCStatus kXMSC_timeout
                         ServerResponseHeader fHdr

## Class Description

     TXMessage

     Class to handle messages to/from xrootd.

TXMessage(struct ServerResponseHeader header)

     Constructor

TXMessage()

     Default constructor

~TXMessage()

     Destructor

void* DonateData()

     Unlink the owned data in order to pass them elsewhere

Bool_t CreateData()

     Allocate data

void Marshall()

     Marshall, i.e. put in network byte order

void Unmarshall()

     Unmarshall, i.e. from network byte to normal order

Int_t ReadRaw(TXPhyConnection *phy, ESendRecvOptions opt)

     Given a physical connection, we completely build the content
     of the message, reading it from the socket of a phyconn

void Int2CharStreamid(kXR_char *charstreamid, Short_t intstreamid)

     Converts a streamid given as an integer to its representation
     suitable for the streamid inside the messages (i.e. ascii)

Short_t CharStreamid2Int(kXR_char *charstreamid)

     Converts a streamid given as an integer to its representation
     suitable for the streamid inside the messages (i.e. ascii)

### Inline Functions

              kXR_int32 DataLen()
                  void* GetData()
              kXR_int16 GetStatusCode()
              kXR_int16 HeaderStatus()
                Short_t HeaderSID()
                 Bool_t IsAttn()
                   bool IsError()
                   bool IsMarshalled()
                 Bool_t MatchStreamid(Short_t sid)
                   void SetHeaderStatus(kXR_int16 sts)
                   void SetMarshalled(Bool_t m)
                   void SetStatusCode(kXR_int16 status)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
              TXMessage TXMessage(const TXMessage&)
             TXMessage& operator=(const TXMessage&)

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