ack, only code review/Regards HansN

On 05/21/14 13:19, [email protected] wrote:
>   osaf/services/saf/amf/amfd/ckpt_enc.cc  |   7 +++----
>   osaf/services/saf/amf/amfd/imm.cc       |   9 +++------
>   osaf/services/saf/amf/amfd/include/si.h |   2 +-
>   osaf/services/saf/amf/amfd/si.cc        |  32 
> ++++++++------------------------
>   osaf/services/saf/amf/amfd/util.cc      |   6 +++---
>   5 files changed, 18 insertions(+), 38 deletions(-)
>
>
> diff --git a/osaf/services/saf/amf/amfd/ckpt_enc.cc 
> b/osaf/services/saf/amf/amfd/ckpt_enc.cc
> --- a/osaf/services/saf/amf/amfd/ckpt_enc.cc
> +++ b/osaf/services/saf/amf/amfd/ckpt_enc.cc
> @@ -2370,7 +2370,6 @@ static uint32_t enc_cs_su_config(AVD_CL_
>   static uint32_t enc_cs_si_config(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc, 
> uint32_t *num_of_obj)
>   {
>       uint32_t status = NCSCC_RC_SUCCESS;
> -     AVD_SI *si;
>       SaNameT si_name;
>       EDU_ERR ederror = static_cast<EDU_ERR>(0);
>       TRACE_ENTER();
> @@ -2378,9 +2377,9 @@ static uint32_t enc_cs_si_config(AVD_CL_
>       /*
>        * Walk through the entire list and send the entire list data.
>        */
> -     si_name.length = 0;
> -     for (si = avd_si_getnext(&si_name); si != NULL;
> -          si = avd_si_getnext(&si_name)) {
> +     for (std::map<std::string, AVD_SI*>::const_iterator it = si_db->begin();
> +                     it != si_db->end(); it++) {
> +             AVD_SI *si = it->second;
>               status = m_NCS_EDU_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_si, 
> &enc->io_uba,
>                                           EDP_OP_TYPE_ENC, si, &ederror, 
> enc->i_peer_version);
>   
> diff --git a/osaf/services/saf/amf/amfd/imm.cc 
> b/osaf/services/saf/amf/amfd/imm.cc
> --- a/osaf/services/saf/amf/amfd/imm.cc
> +++ b/osaf/services/saf/amf/amfd/imm.cc
> @@ -1579,8 +1579,6 @@ void avd_imm_update_runtime_attrs(void)
>       AVD_COMP *comp;
>       SaNameT node_name = {0};
>       AVD_AVND *node;
> -     SaNameT si_name = {0};
> -     AVD_SI  *si;
>   
>       /* Update SU Class runtime cached attributes. */
>       for (std::map<std::string, AVD_SU*>::const_iterator it = su_db->begin();
> @@ -1631,12 +1629,11 @@ void avd_imm_update_runtime_attrs(void)
>       }
>   
>       /* Update Node Class runtime cached attributes. */
> -     si = avd_si_getnext(&si_name);
> -     while (si != NULL) {
> +     for (std::map<std::string, AVD_SI*>::const_iterator it = si_db->begin();
> +                     it != si_db->end(); it++) {
> +             AVD_SI *si = it->second;
>               avd_saImmOiRtObjectUpdate(&si->name, "saAmfSIAssignmentState",
>                       SA_IMM_ATTR_SAUINT32T, &si->saAmfSIAssignmentState);
> -
> -             si = avd_si_getnext(&si->name);
>       }
>   }
>   
> diff --git a/osaf/services/saf/amf/amfd/include/si.h 
> b/osaf/services/saf/amf/amfd/include/si.h
> --- a/osaf/services/saf/amf/amfd/include/si.h
> +++ b/osaf/services/saf/amf/amfd/include/si.h
> @@ -132,6 +132,7 @@ typedef struct {
>   
>   } AVD_SVC_TYPE_CS_TYPE;
>   
> +extern AmfDb<AVD_SI> *si_db;
>   #define AVD_SI_NULL ((AVD_SI *)0)
>   #define m_AVD_SI_ACTV_MAX_SU(l_si) (l_si)->saAmfSIPrefActiveAssignments
>   #define m_AVD_SI_ACTV_CURR_SU(l_si) (l_si)->saAmfSINumCurrActiveAssignments
> @@ -150,7 +151,6 @@ extern AVD_SI *avd_si_new(const SaNameT
>   extern void avd_si_delete(AVD_SI *si);
>   extern void avd_si_db_add(AVD_SI *si);
>   extern AVD_SI *avd_si_get(const SaNameT *si_name);
> -extern AVD_SI *avd_si_getnext(const SaNameT *si_name);
>   extern SaAisErrorT avd_si_config_get(struct avd_app_tag *app);
>   extern void avd_si_constructor(void);
>   
> diff --git a/osaf/services/saf/amf/amfd/si.cc 
> b/osaf/services/saf/amf/amfd/si.cc
> --- a/osaf/services/saf/amf/amfd/si.cc
> +++ b/osaf/services/saf/amf/amfd/si.cc
> @@ -27,7 +27,8 @@
>   #include <proc.h>
>   #include <si_dep.h>
>   
> -static NCS_PATRICIA_TREE si_db;
> +AmfDb<AVD_SI> *si_db = 0;
> +
>   static void avd_si_add_csi_db(struct avd_csi_tag* csi);
>   static void si_update_ass_state(AVD_SI *si);
>   
> @@ -365,8 +366,6 @@ static void si_delete_csis(AVD_SI *si)
>   
>   void avd_si_delete(AVD_SI *si)
>   {
> -     unsigned int rc;
> -
>       TRACE_ENTER2("%s", si->name.value);
>   
>       /* All CSI under this should have been deleted by now on the active
> @@ -385,8 +384,7 @@ void avd_si_delete(AVD_SI *si)
>                               SA_NTF_SOFTWARE_ERROR);
>       }
>   
> -     rc = ncs_patricia_tree_del(&si_db, &si->tree_node);
> -     osafassert(rc == NCSCC_RC_SUCCESS);
> +     si_db->erase(si);
>       
>       if (si->saAmfSIActiveWeight != NULL) {
>               unsigned int i = 0;
> @@ -434,8 +432,8 @@ void avd_si_db_add(AVD_SI *si)
>   {
>       unsigned int rc;
>   
> -     if (avd_si_get(&si->name) == NULL) {
> -             rc = ncs_patricia_tree_add(&si_db, &si->tree_node);
> +     if (si_db->find(&si->name) == NULL) {
> +             rc = si_db->insert(si);
>               osafassert(rc == NCSCC_RC_SUCCESS);
>       }
>   }
> @@ -450,21 +448,10 @@ AVD_SI *avd_si_get(const SaNameT *dn)
>       tmp.length = dn->length;
>       memcpy(tmp.value, dn->value, tmp.length);
>   
> -     return (AVD_SI *)ncs_patricia_tree_get(&si_db, (uint8_t *)&tmp);
> +     return si_db->find(dn);
>   }
>   
> -AVD_SI *avd_si_getnext(const SaNameT *dn)
> -{
> -     SaNameT tmp = {0};
>   
> -     if (dn->length > SA_MAX_NAME_LENGTH)
> -             return NULL;
> -
> -     tmp.length = dn->length;
> -     memcpy(tmp.value, dn->value, tmp.length);
> -
> -     return (AVD_SI *)ncs_patricia_tree_getnext(&si_db, (uint8_t *)&tmp);
> -}
>   
>   static void si_add_to_model(AVD_SI *si)
>   {
> @@ -581,7 +568,7 @@ static AVD_SI *si_create(SaNameT *si_nam
>       ** If called at new active at failover, the object is found in the DB
>       ** but needs to get configuration attributes initialized.
>       */
> -     if (NULL == (si = avd_si_get(si_name))) {
> +     if (NULL == (si = si_db->find(si_name))) {
>               if ((si = avd_si_new(si_name)) == NULL)
>                       goto done;
>       } else {
> @@ -1386,10 +1373,7 @@ void avd_si_inc_curr_stdby_dec_act_ass(A
>   
>   void avd_si_constructor(void)
>   {
> -     NCS_PATRICIA_PARAMS patricia_params;
> -
> -     patricia_params.key_size = sizeof(SaNameT);
> -     osafassert(ncs_patricia_tree_init(&si_db, &patricia_params) == 
> NCSCC_RC_SUCCESS);
> +     si_db = new AmfDb<AVD_SI>;
>       avd_class_impl_set("SaAmfSI", si_rt_attr_cb, si_admin_op_cb,
>               si_ccb_completed_cb, si_ccb_apply_cb);
>   }
> diff --git a/osaf/services/saf/amf/amfd/util.cc 
> b/osaf/services/saf/amf/amfd/util.cc
> --- a/osaf/services/saf/amf/amfd/util.cc
> +++ b/osaf/services/saf/amf/amfd/util.cc
> @@ -1412,9 +1412,9 @@ void amfd_file_dump(const char *path)
>               dn = comp->comp_info.name;
>       }
>   
> -     AVD_SI *si;
> -     dn.length = 0;
> -     for (si = avd_si_getnext(&dn); si != NULL; si = avd_si_getnext(&dn)) {
> +     for (std::map<std::string, AVD_SI*>::const_iterator it = si_db->begin();
> +                     it != si_db->end(); it++) {
> +             const AVD_SI *si = it->second;
>               fprintf(f, "%s\n", si->name.value);
>               fprintf(f, "\tsaAmfSIAdminState=%u\n", si->saAmfSIAdminState);
>               fprintf(f, "\tsaAmfSIAssignmentStatee=%u\n", 
> si->saAmfSIAssignmentState);


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to