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
| Documentation generated on Mon Nov 25 15:25:01 2002 |
Generated with doxygen 1.2.12 by Dimitri van Heesch , 1997-2001 |