#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. |