diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.h b/TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.h index c88ad1a834d..d3450873b3d 100644 --- a/TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.h +++ b/TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.h @@ -5,6 +5,7 @@ #define REPLICATION_MANAGER_H #include <list> +#include <string> #include <queue> #include "ace/Hash_Map_Manager_T.h" @@ -179,6 +180,15 @@ public: virtual void unregister_fault_notification ( FLARE::NotificationId id); + virtual void set_ranklist_constraints ( + const RankListConstraints & constraints); + + void + load_based_selection_algo (void); + + void + static_selection_algo (void); + bool replica_selection_algo (void); @@ -249,6 +259,15 @@ public: ACE_Hash<FLARE::NotificationId>, ACE_Equal_To<FLARE::NotificationId>, ACE_Null_Mutex> NOTIFICATION_MAP; + + typedef std::list<ACE_CString> RANKLIST_CONSTRAINT; + + typedef ACE_Hash_Map_Manager_Ex < + ACE_CString, + RANKLIST_CONSTRAINT, + ACE_Hash<ACE_CString>, + ACE_Equal_To<ACE_CString>, + ACE_Null_Mutex> RANKLIST_CONSTRAINT_MAP; enum { @@ -283,6 +302,9 @@ private: STRING_TO_DOUBLE_MAP objectid_load_map_; STRING_TO_STRING_MAP processid_host_map_; + RANKLIST_CONSTRAINT_MAP ranklist_constraints_; + ACE_RW_Thread_Mutex constraint_lock_; + STRING_TO_STRING_LIST_MAP processid_backup_map_; STRING_TO_STRING_LIST_MAP processid_primary_map_; STRING_TO_STRING_LIST_MAP hostid_process_map_; |