osaf/services/saf/amf/amfd/include/si.h |   2 +
 osaf/services/saf/amf/amfd/si.cc        |  46 +++++++++++++++-----------------
 2 files changed, 24 insertions(+), 24 deletions(-)


Make avd_si_adjust_si_assignments a class member function of AVD_SI

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
@@ -116,6 +116,8 @@ public:
        void dec_curr_stdby_ass();
        void inc_curr_stdby_dec_act_ass();
        void inc_curr_act_dec_std_ass();
+       
+       void adjust_si_assignments(uint32_t mod_pref_assignments);
 
 private:
        AVD_SI(const AVD_SI&);
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
@@ -1004,39 +1004,37 @@ done:
  * @brief  Readjust the SI assignments whenever PrefActiveAssignments  & 
PrefStandbyAssignments is updated
  *        using IMM interface 
  * 
- * @param[in]  SI 
- * 
  * @return void 
  */
-static void avd_si_adjust_si_assignments(AVD_SI *si, uint32_t 
mod_pref_assignments)
+void AVD_SI::adjust_si_assignments(const uint32_t mod_pref_assignments)
 {
        AVD_SU_SI_REL *sisu, *tmp_sisu;
        uint32_t no_of_sisus_to_delete;
        uint32_t i = 0;
 
-       TRACE_ENTER2("for SI:%s ", si->name.value);
+       TRACE_ENTER2("for SI:%s ", name.value);
        
-       if( si->sg_of_si->sg_redundancy_model == 
SA_AMF_N_WAY_ACTIVE_REDUNDANCY_MODEL ) {
-               if( mod_pref_assignments > si->saAmfSINumCurrActiveAssignments 
) {
+       if( sg_of_si->sg_redundancy_model == 
SA_AMF_N_WAY_ACTIVE_REDUNDANCY_MODEL ) {
+               if( mod_pref_assignments > saAmfSINumCurrActiveAssignments ) {
                        /* SI assignment is not yet complete, choose and assign 
to appropriate SUs */
-                       if ( avd_sg_nacvred_su_chose_asgn(avd_cb, si->sg_of_si 
) != NULL ) {
+                       if ( avd_sg_nacvred_su_chose_asgn(avd_cb, sg_of_si ) != 
NULL ) {
                                /* New assignments are been done in the SG.
                                    change the SG FSM state to 
AVD_SG_FSM_SG_REALIGN */
-                               m_AVD_SET_SG_FSM(avd_cb, si->sg_of_si, 
AVD_SG_FSM_SG_REALIGN);
+                               m_AVD_SET_SG_FSM(avd_cb, sg_of_si, 
AVD_SG_FSM_SG_REALIGN);
                        } else {
                                /* No New assignments are been done in the SG
                                   reason might be no more inservice SUs to 
take new assignments or
                                   SUs are already assigned to 
saAmfSGMaxActiveSIsperSU capacity */
-                               si_update_ass_state(si);
-                               TRACE("No New assignments are been done 
SI:%s",si->name.value);
+                               si_update_ass_state(this);
+                               TRACE("No New assignments are been done SI:%s", 
name.value);
                        }
                } else {
-                       no_of_sisus_to_delete = 
si->saAmfSINumCurrActiveAssignments -
+                       no_of_sisus_to_delete = saAmfSINumCurrActiveAssignments 
-
                                                mod_pref_assignments;
 
                        /* Get the sisu pointer from the  si->list_of_sisu list 
from which 
                        no of sisus need to be deleted based on SI ranked SU */
-                       sisu = tmp_sisu = si->list_of_sisu;
+                       sisu = tmp_sisu = list_of_sisu;
                        for( i = 0; i < no_of_sisus_to_delete && NULL != 
tmp_sisu; i++ ) {
                                tmp_sisu = tmp_sisu->si_next;
                        }
@@ -1054,23 +1052,23 @@ static void avd_si_adjust_si_assignments
                                sisu = sisu->si_next;
                        }
                        /* Change the SG FSM to AVD_SG_FSM_SG_REALIGN SG to 
Stable state */
-                       m_AVD_SET_SG_FSM(avd_cb,  si->sg_of_si, 
AVD_SG_FSM_SG_REALIGN);
+                       m_AVD_SET_SG_FSM(avd_cb,  sg_of_si, 
AVD_SG_FSM_SG_REALIGN);
                }
        } 
-       if( si->sg_of_si->sg_redundancy_model == SA_AMF_N_WAY_REDUNDANCY_MODEL 
) {
-               if( mod_pref_assignments > si->saAmfSINumCurrStandbyAssignments 
) {
+       if( sg_of_si->sg_redundancy_model == SA_AMF_N_WAY_REDUNDANCY_MODEL ) {
+               if( mod_pref_assignments > saAmfSINumCurrStandbyAssignments ) {
                        /* SI assignment is not yet complete, choose and assign 
to appropriate SUs */
-                       if( avd_sg_nway_si_assign(avd_cb, si->sg_of_si ) == 
NCSCC_RC_FAILURE ) {
-                               LOG_ER("SI new assignmemts failed  
SI:%s",si->name.value);
+                       if( avd_sg_nway_si_assign(avd_cb, sg_of_si ) == 
NCSCC_RC_FAILURE ) {
+                               LOG_ER("SI new assignmemts failed  SI:%s", 
name.value);
                        } 
                } else {
                        no_of_sisus_to_delete = 0;
-                       no_of_sisus_to_delete = 
si->saAmfSINumCurrStandbyAssignments -
+                       no_of_sisus_to_delete = 
saAmfSINumCurrStandbyAssignments -
                                                mod_pref_assignments; 
 
                        /* Get the sisu pointer from the  si->list_of_sisu list 
from which 
                        no of sisus need to be deleted based on SI ranked SU */
-                       sisu = tmp_sisu = si->list_of_sisu;
+                       sisu = tmp_sisu = list_of_sisu;
                        for(i = 0; i < no_of_sisus_to_delete && (NULL != 
tmp_sisu); i++) {
                                tmp_sisu = tmp_sisu->si_next;
                        }
@@ -1088,7 +1086,7 @@ static void avd_si_adjust_si_assignments
                                sisu = sisu->si_next;
                        }
                        /* Change the SG FSM to AVD_SG_FSM_SG_REALIGN */ 
-                       m_AVD_SET_SG_FSM(avd_cb,  si->sg_of_si, 
AVD_SG_FSM_SG_REALIGN);
+                       m_AVD_SET_SG_FSM(avd_cb, sg_of_si, 
AVD_SG_FSM_SG_REALIGN);
                }
        }
        TRACE_LEAVE();  
@@ -1135,9 +1133,9 @@ static void si_ccb_apply_modify_hdlr(Ccb
                                si->saAmfSIPrefActiveAssignments = 
mod_pref_assignments;
                        } else if (mod_pref_assignments > 
si->saAmfSINumCurrActiveAssignments) {
                                si->saAmfSIPrefActiveAssignments = 
mod_pref_assignments;
-                               avd_si_adjust_si_assignments(si, 
mod_pref_assignments);
+                               si->adjust_si_assignments(mod_pref_assignments);
                        } else if (mod_pref_assignments < 
si->saAmfSINumCurrActiveAssignments) {
-                               avd_si_adjust_si_assignments(si, 
mod_pref_assignments);
+                               si->adjust_si_assignments(mod_pref_assignments);
                                si->saAmfSIPrefActiveAssignments = 
mod_pref_assignments;
                        }
                        TRACE("Modified saAmfSIPrefActiveAssignments is '%u'", 
si->saAmfSIPrefActiveAssignments);
@@ -1161,9 +1159,9 @@ static void si_ccb_apply_modify_hdlr(Ccb
                                si->saAmfSIPrefStandbyAssignments = 
mod_pref_assignments;
                        } else if (mod_pref_assignments > 
si->saAmfSINumCurrStandbyAssignments) {
                                si->saAmfSIPrefStandbyAssignments = 
mod_pref_assignments;
-                               avd_si_adjust_si_assignments(si, 
mod_pref_assignments);
+                               si->adjust_si_assignments(mod_pref_assignments);
                        } else if (mod_pref_assignments < 
si->saAmfSINumCurrStandbyAssignments) {
-                               avd_si_adjust_si_assignments(si, 
mod_pref_assignments);
+                               si->adjust_si_assignments(mod_pref_assignments);
                                si->saAmfSIPrefStandbyAssignments = 
mod_pref_assignments;
                        }
                        TRACE("Modified saAmfSINumCurrStandbyAssignments is 
'%u'", si->saAmfSINumCurrStandbyAssignments);

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to