1 #ifndef DBAPI_SVC_MAPPER_HPP
2 #define DBAPI_SVC_MAPPER_HPP
59 virtual string GetName (
void)
const;
63 const TSvrRef& preferred_server,
64 double preference = 100.0);
80 virtual string GetName (
void)
const;
83 virtual void Exclude (
const string& service,
88 const TSvrRef& preferred_server,
89 double preference = 100.0);
91 list<string>* serv_list)
const;
98 bool Empty(
void)
const;
121 virtual string GetName (
void)
const;
124 virtual void Exclude (
const string& service,
129 const TSvrRef& preferred_server,
130 double preference = 100.0);
133 void Add (
const string& service,
135 double preference = 0.0);
143 void x_RecalculatePreferences(
const string& service);
180 virtual string GetName (
void)
const;
183 virtual void Exclude (
const string& service,
187 const TSvrRef& preferred_server,
188 double preference = 100.0);
190 void Add (
const string& service,
192 double preference = 0.0);
222 virtual string GetName(
void)
const;
291 #define DBLB_INSTALL_FACTORY_EX(factory_name, if_set) \
292 ncbi::CDbapiConnMgr::Instance().SetConnectionFactory( \
293 new factory_name(ncbi::MakeCDBUniversalMapper), \
294 ncbi::CDbapiConnMgr::if_set)
299 #define DBLB_INSTALL_FACTORY(factory_name) \
300 DBLB_INSTALL_FACTORY_EX(factory_name, eIfSet_Replace)
306 #define DBLB_INSTALL_DEFAULT_EX(if_set) \
307 DBLB_INSTALL_FACTORY_EX(ncbi::CDBConnectionFactory, if_set)
311 #define DBLB_INSTALL_DEFAULT() DBLB_INSTALL_DEFAULT_EX(eIfSet_Replace)
static IDBServiceMapper * Factory(const IRegistry *registry)
vector< CRef< IDBServiceMapper > > TDelegates
DBServiceMapperTraits IDBServiceMapper traits.
map< TSvrRef, double, SDereferenceLess > TSvrMap
map< string, bool > TLBNameMap
TServiceUsageMap m_OrigServiceUsageMap
TServiceUsageMap m_ServiceUsageMap
multimap< double, TSvrRef > TServerUsageMap
map< string, TServerUsageMap > TServiceUsageMap
map< string, TSvrMap > TServiceMap
default_random_engine m_RandomEngine
map< string, bool > TLBNameMap
TPreferenceMap m_PreferenceMap
map< string, TOptions > TServiceMap
TServiceMap m_FavoritesMap
map< string, SPreferences > TPreferenceMap
pair< string, TFactory > TMapperConf
TMapperConf m_ExtMapperConf
virtual void GetServerOptions(const string &service, TOptions *options)
Get an annotated list of all servers for the given service.
virtual TSvrRef GetServer(const string &service)=0
Map a service to a server.
virtual bool RecordServer(I_ConnectionExtra &) const
Given a connection that succeeded even though this service mapper was unable to identify a good serve...
virtual void SetPreference(const string &service, const TSvrRef &preferred_server, double preference=100)=0
Set up mapping preferences for a service preference - value between 0 and 100 (0 means *no particular...
virtual void CleanExcluded(const string &service)
Clean the list of excluded servers for the given service.
virtual void Configure(const IRegistry *registry=NULL)=0
list< CRef< CDBServerOption > > TOptions
virtual void GetServersList(const string &, list< string > *serv_list) const
Get list of all servers for the given service disregarding any exclusions.
virtual string GetName(void) const
virtual bool HasExclusions(const string &service) const
virtual void Exclude(const string &service, const TSvrRef &server)
Exclude a server from the mapping for a service.
static struct tagNamedScoreFactory Factory[]
IDBServiceMapper * MakeCDBUniversalMapper(const IRegistry *registry)
bool Empty(const CNcbiOstrstream &src)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_DBAPIDRIVER_EXPORT
Multi-threading – mutexes; rw-locks; semaphore.
vector< CRef< CDBServerOption > > servers
unique_ptr< discrete_distribution<> > distribution