5 #ifndef __XMPP_IFMAP_INC__
6 #define __XMPP_IFMAP_INC__
8 #include <boost/function.hpp>
9 #include <boost/system/error_code.hpp>
10 #include <tbb/atomic.h>
23 class IFMapXmppChannelMapEntry;
68 const std::string&
FQName()
const;
159 void FillChannelMap(std::vector<IFMapXmppChannelMapEntry> *out_map);
164 typedef std::map<XmppChannel *, IFMapXmppChannel *>
ChannelMap;
void incr_invalid_channel_not_ready_messages()
IFMapXmppChannel * FindChannel(XmppChannel *)
uint64_t get_vmunsub_novmsub_messages()
uint64_t get_vmunsub_novrsub_messages()
tbb::atomic< uint64_t > vmsub_novrsub_messages
void ProcessChannelNotReady(XmppChannel *channel)
uint64_t get_invalid_channel_not_ready_messages()
void incr_invalid_channel_state_messages()
std::map< XmppChannel *, IFMapXmppChannel * > ChannelMap
tbb::atomic< uint64_t > invalid_vm_subscribe_messages
tbb::atomic< uint64_t > vmunsub_novmsub_messages
uint64_t get_duplicate_channel_ready_messages()
IFMapChannelManager(XmppServer *, IFMapServer *)
friend class XmppIfmapTest
tbb::atomic< uint64_t > duplicate_channel_ready_messages
virtual IFMapXmppChannel * CreateIFMapXmppChannel(XmppChannel *)
WorkQueue< ConfigTaskQueueEntry > config_task_work_queue_
void incr_invalid_vm_subscribe_messages()
void EnqueueChannelUnregister(XmppChannel *channel)
tbb::atomic< uint64_t > unknown_unsubscribe_messages
tbb::atomic< uint64_t > invalid_channel_not_ready_messages
uint64_t get_unknown_unsubscribe_messages()
tbb::atomic< uint64_t > duplicate_vrsub_messages
void incr_unknown_unsubscribe_messages()
tbb::atomic< uint64_t > duplicate_vmsub_messages
uint64_t get_vmsub_novrsub_messages()
tbb::atomic< uint64_t > vmunsub_novrsub_messages
tbb::atomic< uint64_t > unknown_subscribe_messages
void ProcessChannelReady(XmppChannel *channel)
void incr_duplicate_vmsub_messages()
void EnqueueChannelEvent(XCEvent event, XmppChannel *channel)
bool ProcessChannelUnregister(ConfigTaskQueueEntry entry)
void incr_vmunsub_novmsub_messages()
void IFMapXmppChannelEventCb(XmppChannel *, xmps::PeerState)
friend class IFMapChannelManagerTest
void incr_vmsub_novrsub_messages()
uint64_t get_duplicate_vmsub_messages()
IFMapServer * ifmap_server_
uint64_t get_invalid_channel_state_messages()
tbb::mutex channel_map_mutex_
void FillChannelMap(std::vector< IFMapXmppChannelMapEntry > *out_map)
tbb::atomic< uint64_t > invalid_channel_state_messages
uint64_t get_unknown_subscribe_messages()
XmppServer * xmpp_server_
virtual ~IFMapChannelManager()
uint64_t get_invalid_vm_subscribe_messages()
void incr_unknown_subscribe_messages()
void incr_vmunsub_novrsub_messages()
void incr_duplicate_channel_ready_messages()
void incr_duplicate_vrsub_messages()
void DeleteIFMapXmppChannel(IFMapXmppChannel *ifmap_chnl)
uint64_t get_duplicate_vrsub_messages()
bool MustProcessChannelNotReady()
uint64_t msgs_sent() const
IFMapServer * ifmap_server_
void ProcessVrSubscribe(const std::string &identifier)
std::string VrSubscribeGetVrName(const std::string &iqnode, bool *valid_message)
std::string channel_name_
virtual void ReceiveUpdate(const XmppStanza::XmppMessage *)
void ProcessVmUnsubscribe(const std::string &vm_uuid)
friend class XmppIfmapTest
std::string VmSubscribeGetVmUuid(const std::string &iqnode, bool *valid_message)
IFMapChannelManager * ifmap_channel_manager_
void WriteReadyCb(const boost::system::error_code &ec)
IFMapXmppChannel(XmppChannel *, IFMapServer *, IFMapChannelManager *)
const std::string & FQName() const
virtual ~IFMapXmppChannel()
void ProcessVmSubscribe(const std::string &vm_uuid)
std::string ToString() const
IFMapSender * ifmap_client_
void EnqueueVrSubscribe(const std::string &identifier)
void EnqueueVmSubUnsub(bool subscribe, const std::string &vm_uuid)
static const std::string NoFqnSet
const std::string & channel_name()
virtual const std::string & ToString() const =0