Yes we are aware of that, just trying to do one logical thing at a time. First item was to remove use of patricia trees. /HansF
On 17 January 2014 11:42, Anders Björnerstedt <[email protected]> wrote: > Just use std:string directly instead of SaNameT. > > /AndersBj > > -----Original Message----- > From: Anders Björnerstedt [mailto:[email protected]] > Sent: den 17 januari 2014 11:10 > To: Hans Nordebäck; Hans Feldt; [email protected]; > [email protected] > Cc: [email protected] > Subject: Re: [devel] [PATCH 1 of 2] amfd: use template class db to replace > patricia tree db [#713] > > Since you are rewriting the internal database for AMFD, could you try to > avoid using the SaNameT type in this new representation ? > I mean these are internal structures so you dont need to use SaNameT here. > We are trying to find a way to move away from the troublesome SaNameT type, > in general. > > /AndersBj > > -----Original Message----- > From: Hans Nordeback [mailto:[email protected]] > Sent: den 17 januari 2014 11:03 > To: Hans Feldt; [email protected]; [email protected] > Cc: [email protected] > Subject: [devel] [PATCH 1 of 2] amfd: use template class db to replace > patricia tree db [#713] > > osaf/services/saf/amf/amfd/include/db_template.h | 63 > ++++++++++++++++++++++++ > 1 files changed, 63 insertions(+), 0 deletions(-) > > > diff --git a/osaf/services/saf/amf/amfd/include/db_template.h > b/osaf/services/saf/amf/amfd/include/db_template.h > new file mode 100644 > --- /dev/null > +++ b/osaf/services/saf/amf/amfd/include/db_template.h > @@ -0,0 +1,63 @@ > +/* -*- OpenSAF -*- > + * > + * (C) Copyright 2014 The OpenSAF Foundation > + * > + * This program is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY > + * or FITNESS FOR A PARTICULAR PURPOSE. This file and program are > +licensed > + * under the GNU Lesser General Public License Version 2.1, February 1999. > + * The complete license can be accessed from the following location: > + * http://opensource.org/licenses/lgpl-license.php > + * See the Copying file included with the OpenSAF distribution for full > + * licensing terms. > + * > + * Author(s): Ericsson AB > + * > + */ > +#ifndef DB_TEMPLATE_H > +#define DB_TEMPLATE_H > + > +#include <map> > +#include <string> > + > +template <typename T> > +class AmfDb { > + public: > + void insert(T *obj); > + void erase(T *obj); > + T *find(const SaNameT *name); > + > + typedef std::map<std::string, T*> AmfDbMap; > + typedef typename AmfDbMap::const_iterator const_iterator; > + > + const_iterator begin() const {return db.begin();} > + const_iterator end() const {return db.end();} > + > + private: > + AmfDbMap db; > +}; > + > +template <typename T> > +void AmfDb<T>::insert(T *obj) { > + std::string name((const char*)obj->name.value, obj->name.length); > + db[name] = obj; > +} > + > +template <typename T> > +void AmfDb<T>::erase(T *obj) { > + std::string name((const char*)obj->name.value, obj->name.length); > + typename AmfDbMap::iterator it = db.find(name); > + db.erase(it); > +} > + > +template <typename T> > +T *AmfDb<T>::find(const SaNameT *dn) { > + std::string name((const char*)dn->value, dn->length); > + typename AmfDbMap::iterator it = db.find(name); > + if (it == db.end()) > + return NULL; > + else > + return it->second; > +} > + > +#endif /* DB_TEMPLATE_H */ > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical > Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Opensaf-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/opensaf-devel > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical > Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Opensaf-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/opensaf-devel > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Opensaf-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/opensaf-devel ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
