library: libCore
#include "TMessage.h"

TMessage


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

class TMessage : public TBuffer

Inheritance Chart:
TObject
<-
TBuffer
<-
TMessage
    private:
TMessage(const TMessage&) void operator=(const TMessage&) protected:
TMessage(void* buf, Int_t bufsize) void SetLength() const public:
TMessage(UInt_t what = kMESS_ANY) virtual ~TMessage() static TClass* Class() char* CompBuffer() const Int_t CompLength() const Int_t Compress() void Forward() TClass* GetClass() const Int_t GetCompressionLevel() const virtual TClass* IsA() const virtual void Reset() void Reset(UInt_t what) void SetCompressionLevel(Int_t level = 1) void SetWhat(UInt_t what) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) Int_t Uncompress() UInt_t What() const

Data Members

    private:
UInt_t fWhat Message type TClass* fClass If message is kMESS_OBJECT pointer to object's class Int_t fCompress Compression level from 0 (not compressed) to 9 (max compression) char* fBufComp Compressed buffer char* fBufCompCur Current position in compressed buffer char* fCompPos Position of fBufCur when message was compressed

Class Description

                                                                      
 TMessage                                                             
                                                                      
 Message buffer class used for serializing objects and sending them   
 over a network. This class inherits from TBuffer the basic I/O       
 serializer.                                                          
                                                                      


TMessage(UInt_t what) : TBuffer(kWrite)
 Create a TMessage object for storing objects. The "what" integer
 describes the type of message. Predifined ROOT system message types
 can be found in MessageTypes.h. Make sure your own message types are
 unique from the ROOT defined message types (i.e. 0 - 10000 are
 reserved by ROOT). In case you OR "what" with kMESS_ACK, the message
 will wait for an acknowledgement from the remote side. This makes
 the sending process synchronous. In case you OR "what" with kMESS_ZIP,
 the message will be compressed in TSocket using the zip algorithm
 (only if message is > 256 bytes).

TMessage(void *buf, Int_t bufsize) : TBuffer(kRead, bufsize, buf)
 Create a TMessage object for reading objects. The objects will be
 read from buf. Use the What() method to get the message type.

~TMessage()
 Clean up compression buffer.

void Forward()
 Change a buffer that was received into one that can be send, i.e.
 forward a just received message.

void Reset()
 Reset the message buffer so we can use (i.e. fill) it again.

void SetLength() const
 Set the message length at the beginning of the message buffer.
 This method is only called by TSocket::Send().

void SetWhat(UInt_t what)
 Using this method one can change the message type a-posteriory.
 In case you OR "what" with kMESS_ACK, the message will wait for
 an acknowledgement from the remote side. This makes the sending
 process synchronous.

void SetCompressionLevel(Int_t level)
 Set the message compression level. Can be between 0 and 9 with 0
 being no compression and 9 maximum compression. In general the default
 level of 1 is the best compromise between achieved compression and
 cpu time. Compression will only happen when the message is > 256 bytes.

Int_t Compress()
 Compress the message. The message will only be compressed if the
 compression level > 0 and the if the message is > 256 bytes.
 Returns -1 in case of error (when compression fails or
 when the message increases in size in some pathological cases),
 otherwise returns 0.

Int_t Uncompress()
 Uncompress the message. The message will only be uncompressed when
 kMESS_ZIP is set. Returns -1 in case of error, 0 otherwise.



Inline Functions


               void operator=(const TMessage&)
           TMessage TMessage(UInt_t what = kMESS_ANY)
            TClass* GetClass() const
               void Reset(UInt_t what)
             UInt_t What() const
              Int_t GetCompressionLevel() const
              char* CompBuffer() const
              Int_t CompLength() const
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)


Author: Fons Rademakers 19/12/96
Last update: root/net:$Name: $:$Id: TMessage.cxx,v 1.6 2004/05/07 09:51:58 brun Exp $
Copyright (C) 1995-2000, 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.