#include <rmr/rmr.h>
#include "message.hpp"
+#include "alarm.hpp"
+#include "metrics.hpp"
#ifndef RMR_FALSE
#define RMR_FALSE 0
#define RMR_TRUE 1
#endif
+namespace xapp {
+
+
class Messenger {
private:
char* listen_port; // port we ask msg router to listen on
// copy and assignment are PRIVATE so that they fail if xapp tries; messenger cannot be copied!
- Messenger( const Messenger& soi );
+ Messenger( const Messenger& soi );
Messenger& operator=( const Messenger& soi );
public:
~Messenger(); // destroyer
void Add_msg_cb( int mtype, user_callback fun_name, void* data );
+
std::unique_ptr<Message> Alloc_msg( int payload_size ); // message allocation
+
+ std::unique_ptr<xapp::Alarm> Alloc_alarm( ); // alarm allocation
+ std::unique_ptr<xapp::Alarm> Alloc_alarm( const std::string& meid );
+ std::unique_ptr<xapp::Alarm> Alloc_alarm( int prob_id, const std::string& meid );
+
+ std::unique_ptr<xapp::Metrics> Alloc_metrics( ); // metrics allocation
+ std::unique_ptr<xapp::Metrics> Alloc_metrics( const std::string& source );
+ std::unique_ptr<xapp::Metrics> Alloc_metrics( const std::string& reporter, const std::string& source );
+
void Listen( ); // lisen driver
std::unique_ptr<Message> Receive( int timeout ); // receive 1 message
void Stop( ); // force to stop
- //void Release_mbuf( void* vmbuf );
bool Wait_for_cts( int max_wait );
+
+ int Wormhole_open( const std::string& endpoint );
};
+
+} // namespace
#endif