Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PsnPvmMulticastMessage.cxx

Go to the documentation of this file.
00001 #include "PsnPvmMulticastMessage.h"
00002 
00003 #include "stdio.h"
00004 #include "pvm3.h"
00005 
00006 PsnPvmMulticastMessage::PsnPvmMulticastMessage (const vector<int> & recepients ) :
00007   _numberOfRecepients ( recepients.size () ),
00008   _recepients ( 0 ) 
00009 {
00010   _recepients = new int [ _numberOfRecepients ] ;
00011   for ( int i = 0 ; i < _numberOfRecepients ; ++i )
00012     {
00013       _recepients [i] = recepients [i] ;
00014     }
00015 }
00016 
00017 
00018 
00019 PsnPvmMulticastMessage::~PsnPvmMulticastMessage () 
00020 {
00021   assert (_recepients != NULL ) ;
00022   delete [] _recepients ;
00023 }
00024 
00025 
00026 
00027 void PsnPvmMulticastMessage::send(PsnPvmMessage::MessageTag tag) 
00028 {
00029 #ifdef _DEBUGPVMMESS
00030    cerr<<"PsnPvmMulticastMessage:"<<(void *)this<<": send("<<tag<<")"<<endl; 
00031 #endif
00032   int oldbuf = pvm_setsbuf ( _currentBuffer ) ;
00033 
00034   int info = pvm_mcast ( _recepients, _numberOfRecepients, tag ) ;
00035 
00036   checkForSendErrors ( info ) ;
00037 
00038   reinitAndRevertPvmContext ( oldbuf ) ;
00039 }
00040 
00041 
00042 

logo OpenMask

Documentation generated on Mon Nov 25 15:25:01 2002

Generated with doxygen 1.2.12 by Dimitri van Heesch ,   1997-2001