OMK::OutgoingSynchronisationMessage Class Reference

this is the abstract class for any sent synchronisation message used on a message passing distributed architecture. More...

#include <OMKOutgoingSynchronisationMessage.h>

Inheritance diagram for OMK::OutgoingSynchronisationMessage:

Inheritance graph
[legend]
Collaboration diagram for OMK::OutgoingSynchronisationMessage:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~OutgoingSynchronisationMessage ()
 a destructor
 OutgoingSynchronisationMessage ()
 a default constructor
virtual const DategetMessageDate () const=0
 The timestamp of the outgoing message.
template<typename Type>
OutgoingSynchronisationMessageoperator<< (const Type &val)
 insert any type for which a pack member function is defined
virtual void pack (const Packable &val)
 pack a Packable in the message
virtual void pack (bool val)=0
 pack a long in the message
virtual void pack (char val)=0
 pack a long in the message
virtual void pack (long val)=0
 pack a long in the message
virtual void pack (unsigned long val)=0
 pack an unsigned long in the message
virtual void pack (int val)=0
 pack an int in the message
virtual void pack (unsigned int val)=0
 pack an unsigned int in the message
virtual void pack (float val)=0
 pack a float in the message
virtual void pack (double val)=0
 pack a double in the message
virtual void pack (short val)=0
 pack a short in the message
virtual void pack (unsigned short val)=0
 pack an unsigned short in the message
virtual void pack (const std::string &val)=0
 pack a string in the message
OutgoingSynchronisationMessageoperator<< (char *val)
virtual void pack (char *val)=0
 pack a C style string, whithout it's length wich should be pack first if the string isn't if constant length
virtual void pack (const char *val)=0
 pack a C style string, whithout it's length wich should be pack first if the string isn't if constant length
virtual void pack (const long *val, int cnt)=0
 pack a long in the message
virtual void pack (const unsigned long *val, int cnt)=0
 pack an unsigned long in the message
virtual void pack (const int *val, int cnt)=0
 pack an int in the message
virtual void pack (const unsigned int *val, int cnt)=0
 pack an unsigned int in the message
virtual void pack (const float *val, int cnt)=0
 pack a float in the message
virtual void pack (const double *val, int cnt)=0
 pack a double in the message
virtual void pack (const short *val, int cnt)=0
 pack a short in the message
virtual void pack (const unsigned short *val, int cnt)=0
 pack an unsigned short in the message
virtual void pack (long *val, int cnt)=0
 pack a long in the message
virtual void pack (unsigned long *val, int cnt)=0
 pack an unsigned long in the message
virtual void pack (int *val, int cnt)=0
 pack an int in the message
virtual void pack (unsigned int *val, int cnt)=0
 pack an unsigned int in the message
virtual void pack (float *val, int cnt)=0
 pack a float in the message
virtual void pack (double *val, int cnt)=0
 pack a double in the message
virtual void pack (short *val, int cnt)=0
 pack a short in the message
virtual void pack (unsigned short *val, int cnt)=0
 pack an unsigned short in the message
std::ostringstream & getOutputStream ()
 member function enabling the packing of any flowable : get an output stream.
virtual void packOutputStream ()
 member function enabling the packing of any flowable : pack the outpustream in the message.

Protected Member Functions

virtual void reinit ()
 reinitialise the ostrstream after use

Protected Attributes

std::ostringstream _myos
 the ostrstream used to pack data that can only be inserted in a stream

Detailed Description

this is the abstract class for any sent synchronisation message used on a message passing distributed architecture.

should really inherit from ostream for code reuse reason.

Author:
David Margery
Version:
1.0

Definition at line 16 of file OMKOutgoingSynchronisationMessage.h.


Constructor & Destructor Documentation

OutgoingSynchronisationMessage::~OutgoingSynchronisationMessage (  )  [virtual]

a destructor

Definition at line 18 of file OMKOutgoingSynchronisationMessage.cpp.

00019 {
00020 }

OutgoingSynchronisationMessage::OutgoingSynchronisationMessage (  ) 

a default constructor

Definition at line 14 of file OMKOutgoingSynchronisationMessage.cpp.

00015 {
00016 }


Member Function Documentation

virtual const Date& OMK::OutgoingSynchronisationMessage::getMessageDate (  )  const [pure virtual]

The timestamp of the outgoing message.

Implemented in OMK::PvmOutgoingMessage.

Referenced by OMK::Output< T >::pack().

template<typename Type>
OutgoingSynchronisationMessage& OMK::OutgoingSynchronisationMessage::operator<< ( const Type &  val  )  [inline]

insert any type for which a pack member function is defined

Definition at line 30 of file OMKOutgoingSynchronisationMessage.h.

00031   {
00032     pack( val ) ;
00033     return *this ;
00034   }

void OutgoingSynchronisationMessage::pack ( const Packable val  )  [virtual]

pack a Packable in the message

Definition at line 47 of file OMKOutgoingSynchronisationMessage.cpp.

References OMK::Packable::pack().

Referenced by operator<<(), operator<<(), and packOutputStream().

00048 {
00049 #ifdef _DEBUGPVMMESS
00050    cerr<<"OutgoingSynchronisationMessage:"
00051        <<this
00052        <<":pack(const Packable  & ("
00053        <<typeid (val).name()
00054        <<") val)";
00055 #endif
00056 
00057    val.pack ( *this ) ;
00058 
00059 #ifdef _DEBUGPVMMESS
00060    cerr<< "end"<<endl;
00061 #endif
00062 }

virtual void OMK::OutgoingSynchronisationMessage::pack ( bool  val  )  [pure virtual]

pack a long in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( char  val  )  [pure virtual]

pack a long in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( long  val  )  [pure virtual]

pack a long in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( unsigned long  val  )  [pure virtual]

pack an unsigned long in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( int  val  )  [pure virtual]

pack an int in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( unsigned int  val  )  [pure virtual]

pack an unsigned int in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( float  val  )  [pure virtual]

pack a float in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( double  val  )  [pure virtual]

pack a double in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( short  val  )  [pure virtual]

pack a short in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( unsigned short  val  )  [pure virtual]

pack an unsigned short in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( const std::string &  val  )  [pure virtual]

pack a string in the message

Implemented in OMK::PvmOutgoingMessage.

OutgoingSynchronisationMessage & OutgoingSynchronisationMessage::operator<< ( char *  val  ) 

Definition at line 64 of file OMKOutgoingSynchronisationMessage.cpp.

References pack().

00065 {
00066    pack ( val ) ;
00067    return *this ;
00068 }

virtual void OMK::OutgoingSynchronisationMessage::pack ( char *  val  )  [pure virtual]

pack a C style string, whithout it's length wich should be pack first if the string isn't if constant length

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( const char *  val  )  [pure virtual]

pack a C style string, whithout it's length wich should be pack first if the string isn't if constant length

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( const long *  val,
int  cnt 
) [pure virtual]

pack a long in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( const unsigned long *  val,
int  cnt 
) [pure virtual]

pack an unsigned long in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( const int val,
int  cnt 
) [pure virtual]

pack an int in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( const unsigned int val,
int  cnt 
) [pure virtual]

pack an unsigned int in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( const float *  val,
int  cnt 
) [pure virtual]

pack a float in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( const double *  val,
int  cnt 
) [pure virtual]

pack a double in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( const short *  val,
int  cnt 
) [pure virtual]

pack a short in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( const unsigned short *  val,
int  cnt 
) [pure virtual]

pack an unsigned short in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( long *  val,
int  cnt 
) [pure virtual]

pack a long in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( unsigned long *  val,
int  cnt 
) [pure virtual]

pack an unsigned long in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( int val,
int  cnt 
) [pure virtual]

pack an int in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( unsigned int val,
int  cnt 
) [pure virtual]

pack an unsigned int in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( float *  val,
int  cnt 
) [pure virtual]

pack a float in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( double *  val,
int  cnt 
) [pure virtual]

pack a double in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( short *  val,
int  cnt 
) [pure virtual]

pack a short in the message

Implemented in OMK::PvmOutgoingMessage.

virtual void OMK::OutgoingSynchronisationMessage::pack ( unsigned short *  val,
int  cnt 
) [pure virtual]

pack an unsigned short in the message

Implemented in OMK::PvmOutgoingMessage.

ostringstream & OutgoingSynchronisationMessage::getOutputStream (  ) 

member function enabling the packing of any flowable : get an output stream.

Definition at line 29 of file OMKOutgoingSynchronisationMessage.cpp.

References _myos.

Referenced by OMK::Flowable::pack().

00030 {
00031    _myos.seekp(0, ostringstream::beg);
00032    return _myos ;
00033 }

void OutgoingSynchronisationMessage::packOutputStream (  )  [virtual]

member function enabling the packing of any flowable : pack the outpustream in the message.

pack all the data associated inserted into the ostsstream into the active buffer

Definition at line 35 of file OMKOutgoingSynchronisationMessage.cpp.

References _myos, and pack().

Referenced by OMK::Flowable::pack().

00036 {
00037 #ifdef _DEBUGPVMMESS
00038   cerr<<"OutgoingSynchronisationMessage:"<<(void *)this<<":packOutputMessage () "<<endl;
00039 #endif
00040 
00041   pack ( _myos.str() ) ;
00042   
00043   _myos.seekp(0, ostringstream::beg) ;
00044 }

void OutgoingSynchronisationMessage::reinit (  )  [protected, virtual]

reinitialise the ostrstream after use

Definition at line 22 of file OMKOutgoingSynchronisationMessage.cpp.

References _myos.

Referenced by OMK::PvmOutgoingMessage::flushCurrentBuffer(), and OMK::PvmOutgoingMessage::reinitAndRevertPvmContext().

00023 {
00024    // prepare the associated stream for new insertions
00025    //myos->rdbuf()->seekpos (ios::out, ostrstream::beg) ;
00026    _myos.seekp (ios::out, ostringstream::beg) ;
00027 }


Member Data Documentation

std::ostringstream OMK::OutgoingSynchronisationMessage::_myos [protected]

the ostrstream used to pack data that can only be inserted in a stream

Definition at line 138 of file OMKOutgoingSynchronisationMessage.h.

Referenced by getOutputStream(), packOutputStream(), and reinit().


logo OpenMask

Documentation generated on Mon Jun 9 11:46:01 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007