#include <IZmfMessagingService.hpp>
|
virtual bool | start (IZmfMessagingCoreInterface *const corePtr, std::shared_ptr< zmf::data::ModuleHandle > selfHandle, std::shared_ptr< zmf::config::IConfigurationProvider > config)=0 |
|
virtual void | stop ()=0 |
|
virtual void | peerJoin (std::shared_ptr< zmf::data::ModuleHandle > module)=0 |
|
virtual void | peerLeave (std::shared_ptr< zmf::data::ModuleHandle > module)=0 |
|
virtual void | subscribe (const zmf::data::MessageType &topic)=0 |
|
virtual void | unsubscribe (const zmf::data::MessageType &topic)=0 |
|
virtual void | publish (const zmf::data::ZmfMessage &msg)=0 |
|
virtual zmf::data::ZmfInReply | sendRequest (const zmf::data::ModuleUniqueId &target, const zmf::data::ZmfMessage &msg)=0 |
|
virtual void | cancelRequest (uint64_t requestID, bool manual)=0 |
|
virtual void | sendReply (ExternalRequestIdentity requestID, const zmf::data::ZmfMessage &reply)=0 |
|
virtual void | onDisable ()=0 |
|
This class provides the interface definition for the ZMQ-module of ZMF. The IZmfMessagingCoreInterface class provides the logical counterpart. The Implementation
- Author
- Jonas Grunert
- Date
- created on 6/25/15.
virtual void zmf::messaging::IZmfMessagingService::cancelRequest |
( |
uint64_t |
requestID, |
|
|
bool |
manual |
|
) |
| |
|
pure virtual |
virtual void zmf::messaging::IZmfMessagingService::onDisable |
( |
| ) |
|
|
pure virtual |
virtual void zmf::messaging::IZmfMessagingService::peerJoin |
( |
std::shared_ptr< zmf::data::ModuleHandle > |
module | ) |
|
|
pure virtual |
virtual void zmf::messaging::IZmfMessagingService::peerLeave |
( |
std::shared_ptr< zmf::data::ModuleHandle > |
module | ) |
|
|
pure virtual |
virtual void zmf::messaging::IZmfMessagingService::publish |
( |
const zmf::data::ZmfMessage & |
msg | ) |
|
|
pure virtual |
virtual void zmf::messaging::IZmfMessagingService::sendReply |
( |
ExternalRequestIdentity |
requestID, |
|
|
const zmf::data::ZmfMessage & |
reply |
|
) |
| |
|
pure virtual |
virtual zmf::data::ZmfInReply zmf::messaging::IZmfMessagingService::sendRequest |
( |
const zmf::data::ModuleUniqueId & |
target, |
|
|
const zmf::data::ZmfMessage & |
msg |
|
) |
| |
|
pure virtual |
Sends the given message to the given peer. A ZmfInReply is returned providing a handle for the outstanding response.
- Parameters
-
target | the identity of the receiver |
msg | the Message to send |
- Returns
- ZmfInReply a handle for the outstanding response. May be passed to the module.
Implemented in zmf::messaging::ZmqZmfMessagingServiceImplementation.
virtual bool zmf::messaging::IZmfMessagingService::start |
( |
IZmfMessagingCoreInterface *const |
corePtr, |
|
|
std::shared_ptr< zmf::data::ModuleHandle > |
selfHandle, |
|
|
std::shared_ptr< zmf::config::IConfigurationProvider > |
config |
|
) |
| |
|
pure virtual |
Starts the ZMQ Service. After the service successfully started, the other methods may be called and the implementation will start to deliver incoming events to the provided IZmfMessagingCoreInterface.
- Parameters
-
core | pointer to the IZmfMessagingCoreInterface implementation that provides methods implementations of this class will interact with. |
selfHandle | shared_ptr to the ModuleHandle describing the module instance running on top of this ZMF instance |
- Returns
- Returns true if started successfully, false otherwise
Implemented in zmf::messaging::ZmqZmfMessagingServiceImplementation.
virtual void zmf::messaging::IZmfMessagingService::stop |
( |
| ) |
|
|
pure virtual |
Stops the ZMQ Service. After the service is stopped, calling any method except the start method will not have any effect. Also the implementation will remove any state (peer information, outstanding messages) currently stored.
Implemented in zmf::messaging::ZmqZmfMessagingServiceImplementation.
virtual void zmf::messaging::IZmfMessagingService::subscribe |
( |
const zmf::data::MessageType & |
topic | ) |
|
|
pure virtual |
virtual void zmf::messaging::IZmfMessagingService::unsubscribe |
( |
const zmf::data::MessageType & |
topic | ) |
|
|
pure virtual |
The documentation for this class was generated from the following file: