X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Figmp_binding.cpp;h=73e0bd8f02af8538074c2a5a9e08160a2c4aa278;hb=66b48a9c6155a2c088f0f45fc568c846edb4b1af;hp=bcdc6cbed10699876934df57f4e40c8646e3f969;hpb=f49ba0e81e0cb9b9f8075cb4ce051b5bacde8ad3;p=vpp.git diff --git a/extras/vom/vom/igmp_binding.cpp b/extras/vom/vom/igmp_binding.cpp index bcdc6cbed10..73e0bd8f02a 100644 --- a/extras/vom/vom/igmp_binding.cpp +++ b/extras/vom/vom/igmp_binding.cpp @@ -22,7 +22,7 @@ namespace VOM { /** * A DB of all igmp bindings configs */ -singular_db igmp_binding::m_db; +singular_db igmp_binding::m_db; igmp_binding::event_handler igmp_binding::m_evh; @@ -41,7 +41,7 @@ igmp_binding::igmp_binding(const igmp_binding& o) igmp_binding::~igmp_binding() { sweep(); - m_db.release(m_itf->key(), this); + m_db.release(key(), this); } bool @@ -50,6 +50,12 @@ igmp_binding::operator==(const igmp_binding& l) const return (*m_itf == *l.m_itf); } +const igmp_binding::key_t +igmp_binding::key() const +{ + return (m_itf->key()); +} + void igmp_binding::sweep() { @@ -96,7 +102,13 @@ igmp_binding::update(const igmp_binding& desired) std::shared_ptr igmp_binding::find_or_add(const igmp_binding& temp) { - return (m_db.find_or_add(temp.m_itf->key(), temp)); + return (m_db.find_or_add(temp.key(), temp)); +} + +std::shared_ptr +igmp_binding::find(const key_t& k) +{ + return (m_db.find(k)); } std::shared_ptr