#include <CommPortal.hh>
Inherited by FileCommPortal.
The CommPortal class abstracts a messaging modality. It provides a way to receive and send messages to remote managers. The idea is that some classes of RemoteManager share a single nexus for sending and receiving data (i.e., many remote managers, one UDP socket managed by one CommMessenger sub-class).
| Public Member Functions | |
| CommPortal () | |
| virtual | ~CommPortal () | 
| bool | init (CommManager *mgr) | 
| CommManager * | getManager () const | 
| virtual Message * | receiveMsg ()=0 | 
| virtual bool | releaseMsg (Message *message)=0 | 
| virtual bool | flush ()=0 | 
| Static Public Member Functions | |
| utils::Generator< CommPortal > * | generator (utils::SymbolTable *table) | 
| CommPortal * | generate (const char *spec_string, utils::SymbolTable *table) | 
| Protected Attributes | |
| CommManager * | _mgr | 
| The messager's communication manager. | |
| 
 | 
| Build an unattached communications nexus | 
| 
 | 
| Empty virtual destructor needed for C++ syntax reasons | 
| 
 | 
| Flush message sends. If we are packaging or buffering message sends, force the real sends. 
 Implemented in NetCommPortal, and SerialCommPortal. | 
| 
 | ||||||||||||
| Create a portal given a spec string and a symbol table 
 
 | 
| 
 | 
| Get the communications portal generator from the symbol table. 
 
 | 
| 
 | 
| Return the communications manager. 
 | 
| 
 | 
| Initialize the messager. Connect it to a CommManager and do any other necessary bookkeeping. 
 
 | 
| 
 | 
| Receive a message, blocking until one is available. 
 Implemented in NetCommPortal, and SerialCommPortal. | 
| 
 | 
| Release a message received by CommPortal::receiveMsg. If you do not do this when you are done with a message, there will be a memory leak. 
 
 Implemented in NetCommPortal, and SerialCommPortal. |