#include <messshm.h>
Inheritance diagram for ShmMessageGrp


Public Methods | |
| ShmMessageGrp () | |
| ShmMessageGrp (const Ref< KeyVal > &) | |
| ShmMessageGrp (int nprocs) | |
| ~ShmMessageGrp () | |
| void | sync () | 
| Synchronize all of the processors. | |
| int | last_source () | 
| Returns information about the last message received or probed. | |
| int | last_size () | 
| int | last_type () | 
Protected Methods | |
| void | basic_send (int target, int type, void *data, int nbyte) | 
| Must be implemented by specializations. | |
| void | basic_recv (int type, void *data, int nbyte) | 
| Must be implemented by specializations. | |
| int | basic_probe (int type) | 
| Must be implemented by specializations. | |
| void | initialize (int nprocs) | 
| void | initialize () | 
| void | set_last_type (int a) | 
| void | set_last_source (int a) | 
| void | set_last_size (int a) | 
Protected Attributes | |
| int | last_type_ | 
| int | last_source_ | 
| int | last_size_ | 
This only provides improved performance if you have multiple CPU's in a symmetric multiprocessor configuration. Nonetheless, it is quite useful on a single CPU for tracking down bugs.
The ShmMessageGrp KeyVal constructor takes a single keyword that specifies the number of processors. Here is an example of a ParsedKeyVal input that creates a ShmMessageGrp that runs on four processors:
message<ShmMessageGrp>: n = 4