#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:
static const int MAX_PAYLOAD; // max message size we'll handle
static const int DEFAULT_CALLBACK; // parm for add callback to set default
- Messenger( char* port, bool wait4table ); // builder
+ Messenger( const char* port, bool wait4table ); // builder
Messenger( Messenger&& soi ); // move construction
Messenger& operator=( Messenger&& soi ); // move operator
~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