#include <BCP_message.hpp>
Inheritance diagram for BCP_message_environment:
Public Member Functions | |
Destructor | |
virtual | ~BCP_message_environment () |
Registering a process | |
virtual BCP_proc_id * | register_process ()=0 |
Identify parent process | |
virtual BCP_proc_id * | parent_process ()=0 |
Testing processes | |
virtual bool | alive (const BCP_proc_id *pid)=0 |
virtual BCP_vec< BCP_proc_id * >::iterator | alive (const BCP_proc_array &parray)=0 |
Send to one process | |
virtual void | send (const BCP_proc_id *const target, const BCP_message_tag tag)=0 |
virtual void | send (const BCP_proc_id *const target, const BCP_message_tag tag, const BCP_buffer &buf)=0 |
Broadcasting | |
virtual void | multicast (const BCP_proc_array *const target, const BCP_message_tag tag)=0 |
virtual void | multicast (const BCP_proc_array *const target, const BCP_message_tag tag, const BCP_buffer &buf)=0 |
Selective broadcasting | |
virtual void | multicast (BCP_vec< BCP_proc_id * >::const_iterator beg, BCP_vec< BCP_proc_id * >::const_iterator end, const BCP_message_tag tag)=0 |
virtual void | multicast (BCP_vec< BCP_proc_id * >::const_iterator beg, BCP_vec< BCP_proc_id * >::const_iterator end, const BCP_message_tag tag, const BCP_buffer &buf)=0 |
Receiving | |
virtual void | receive (const BCP_proc_id *const source, const BCP_message_tag tag, BCP_buffer &buf, const double timeout)=0 |
virtual bool | probe (const BCP_proc_id *const source, const BCP_message_tag tag)=0 |
Starting a process | |
virtual BCP_proc_id * | start_process (const BCP_string &exe, const bool debug)=0 |
virtual BCP_proc_id * | start_process (const BCP_string &exe, const BCP_string &machine, const bool debug)=0 |
virtual BCP_proc_array * | start_processes (const BCP_string &exe, const int proc_num, const bool debug)=0 |
virtual BCP_proc_array * | start_processes (const BCP_string &exe, const int proc_num, const BCP_vec< BCP_string > &machines, const bool debug)=0 |
Pack/unpack process id | |
virtual BCP_proc_id * | unpack_proc_id (BCP_buffer &buf)=0 |
virtual void | pack_proc_id (BCP_buffer &buf, const BCP_proc_id *pid)=0 |
All methods are pure virtual, enforcing the correct overriding of the methods.
Definition at line 178 of file BCP_message.hpp.
|
Being virtual, the destructor invokes the destructor for the real type of the object being deleted. Definition at line 184 of file BCP_message.hpp.
00184 {} |
|
Test if the processes given by the process array in the argument are alive or not. Return an iterator to the first dead process, or to the end of the array if there are no dead processes. |
|
Test if the process given by the argument is alive or not. Return true if alive, false otherwise. |
|
Send the message in the buffer with the given message tag to the processes in |
|
Send an empty message (message tag only) to the processes in |
|
Send the message in the buffer with the given message tag to all processes in the process array. |
|
Send an empty message (message tag only) to all the processes in the process array. |
|
Pack the process id into the buffer. |
|
Return the process id of the parent process (the process that spawned the currnet process. Returns null if the process does not have a parent. |
|
Probe if there are any messages from the given process with the given message tag. Return true if such a message is found, false otherwise. Note that the message is not "read", only its existence is checked. Similarly as above, the wild cards Referenced by BCP_vg_prob::probe_messages(), and BCP_cg_prob::probe_messages(). |
|
Blocking receive with timeout. Wait until a message is received from the given process with the given message tag within the given timelimit. If Referenced by BCP_vg_prob::probe_messages(), and BCP_cg_prob::probe_messages(). |
|
A process can register (receive its process id) with the message passing environment. |
|
Send the message in the buffer with the given message tag to the process given by the first argument. |
|
Send an empty message (message tag only) to the process given by the frist argument. Referenced by BCP_cg_user::send_cut(), and BCP_vg_user::send_var(). |
|
Spawn a new process on the machine specified by the second argument. |
|
Spawn a new process. The first argument contains the path to the executable to be spawned. If the second argument is set to true, then the executable is spawned under a debugger. |
|
Spawn |
|
Spawn |
|
Unpack a process id from the buffer given in the argument. |