|
xorp
|
Base class for FinderMessenger classes. More...
#include <finder_messenger.hh>
Classes | |
| class | ResponseState |
Public Types | |
| typedef XrlSender::Callback | SendCallback |
Public Member Functions | |
| FinderMessengerBase (EventLoop &e, FinderMessengerManager *fmm, XrlCmdMap &cmds) | |
| virtual bool | send (const Xrl &xrl, const SendCallback &scb)=0 |
| virtual bool | pending () const =0 |
| Return true if sender has send requests pending. | |
| XrlCmdMap & | command_map () |
| EventLoop & | eventloop () |
| void | unhook_manager () |
| FinderMessengerManager * | manager () |
Protected Member Functions | |
| void | dispatch_xrl (uint32_t seqno, const Xrl &x) |
| Find command associated with Xrl and dispatch it. | |
| bool | dispatch_xrl_response (uint32_t seqno, const XrlError &e, XrlArgs *) |
| bool | store_xrl_response (uint32_t seqno, const SendCallback &scb) |
| virtual void | reply (uint32_t seqno, const XrlError &e, const XrlArgs *reply_args)=0 |
| void | response_timeout (uint32_t seqno) |
Private Types | |
|
typedef map< uint32_t, ResponseState > | SeqNoResponseMap |
Private Member Functions | |
| void | dispatch_xrl_cb (const XrlCmdError &e, const XrlArgs *reply_args, uint32_t seqno) |
Private Attributes | |
| EventLoop & | _eventloop |
| FinderMessengerManager * | _manager |
| SeqNoResponseMap | _expected_responses |
| XrlCmdMap & | _cmds |
Friends | |
| class | ResponseState |
Base class for FinderMessenger classes.
FinderMessenger classes are expected to handle the transport and dispatch of Xrl's and their responses. This base class provides a common code for actually doing the Xrl dispatch and handling the state associated with their responses.
| virtual bool FinderMessengerBase::send | ( | const Xrl & | xrl, |
| const SendCallback & | scb | ||
| ) | [pure virtual] |
Implements XrlSender.
Implemented in FinderTcpMessenger.