summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2007-01-26 16:58:31 +0000
committerMark Spruiell <mes@zeroc.com>2007-01-26 16:58:31 +0000
commit4f56d2252d8b0d7432098f68373d6250e9194761 (patch)
treeef1ea166c7ae52b4e08d0aae94dab0c126ed8c78 /cpp
parentpreserve proxy settings for CacheConnection, EndpointSelection, (diff)
downloadice-4f56d2252d8b0d7432098f68373d6250e9194761.tar.bz2
ice-4f56d2252d8b0d7432098f68373d6250e9194761.tar.xz
ice-4f56d2252d8b0d7432098f68373d6250e9194761.zip
adding Ice.Default.EndpointSelection
Diffstat (limited to 'cpp')
-rw-r--r--cpp/CHANGES3
-rw-r--r--cpp/config/PropertyNames.def1
-rw-r--r--cpp/src/Ice/DefaultsAndOverrides.cpp17
-rw-r--r--cpp/src/Ice/DefaultsAndOverrides.h2
-rw-r--r--cpp/src/Ice/PropertyNames.cpp3
-rw-r--r--cpp/src/Ice/PropertyNames.h2
6 files changed, 26 insertions, 2 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES
index b93cbf2ac7c..2f5ec41aaf3 100644
--- a/cpp/CHANGES
+++ b/cpp/CHANGES
@@ -1,6 +1,9 @@
Changes since version 3.1.1
---------------------------
+- Added the property Ice.Default.EndpointSelection. If not defined,
+ the default value is "Random".
+
- Proxies and object adapters can now be configured to use
thread-per-connection.
diff --git a/cpp/config/PropertyNames.def b/cpp/config/PropertyNames.def
index a18f94b95f4..65f427a5d86 100644
--- a/cpp/config/PropertyNames.def
+++ b/cpp/config/PropertyNames.def
@@ -121,6 +121,7 @@ Ice:
Compression.Level
Config
Default.CollocationOptimization
+ Default.EndpointSelection
Default.Host
Default.Locator
Default.Locator.EndpointSelection
diff --git a/cpp/src/Ice/DefaultsAndOverrides.cpp b/cpp/src/Ice/DefaultsAndOverrides.cpp
index add6959aac9..04f5508d903 100644
--- a/cpp/src/Ice/DefaultsAndOverrides.cpp
+++ b/cpp/src/Ice/DefaultsAndOverrides.cpp
@@ -10,6 +10,7 @@
#include <Ice/DefaultsAndOverrides.h>
#include <Ice/Properties.h>
#include <Ice/Network.h>
+#include <Ice/LocalException.h>
using namespace std;
using namespace Ice;
@@ -65,6 +66,22 @@ IceInternal::DefaultsAndOverrides::DefaultsAndOverrides(const PropertiesPtr& pro
const_cast<bool&>(defaultCollocationOptimization) =
properties->getPropertyAsIntWithDefault("Ice.Default.CollocationOptimization", 1) > 0;
+ value = properties->getPropertyWithDefault("Ice.Default.EndpointSelection", "Random");
+ if(value == "Random")
+ {
+ defaultEndpointSelection = Random;
+ }
+ else if(value == "Ordered")
+ {
+ defaultEndpointSelection = Ordered;
+ }
+ else
+ {
+ EndpointSelectionTypeParseException ex(__FILE__, __LINE__);
+ ex.str = value;
+ throw ex;
+ }
+
const_cast<int&>(defaultLocatorCacheTimeout) =
properties->getPropertyAsIntWithDefault("Ice.Default.LocatorCacheTimeout", -1);
diff --git a/cpp/src/Ice/DefaultsAndOverrides.h b/cpp/src/Ice/DefaultsAndOverrides.h
index 99542a8ef58..72fbb885b6c 100644
--- a/cpp/src/Ice/DefaultsAndOverrides.h
+++ b/cpp/src/Ice/DefaultsAndOverrides.h
@@ -13,6 +13,7 @@
#include <IceUtil/Shared.h>
#include <Ice/DefaultsAndOverridesF.h>
#include <Ice/PropertiesF.h>
+#include <Ice/Endpoint.h>
namespace IceInternal
{
@@ -26,6 +27,7 @@ public:
std::string defaultHost;
std::string defaultProtocol;
bool defaultCollocationOptimization;
+ Ice::EndpointSelectionType defaultEndpointSelection;
int defaultLocatorCacheTimeout;
bool defaultPreferSecure;
diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp
index b4a8a7904f9..fe391028af5 100644
--- a/cpp/src/Ice/PropertyNames.cpp
+++ b/cpp/src/Ice/PropertyNames.cpp
@@ -7,7 +7,7 @@
//
// **********************************************************************
-// Generated by makeprops.py from file `../config/PropertyNames.def', Thu Jan 25 08:38:23 2007
+// Generated by makeprops.py from file `../config/PropertyNames.def', Fri Jan 26 07:44:16 2007
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
@@ -23,6 +23,7 @@ const char* IceInternal::PropertyNames::IceProps[] =
"Ice.Compression.Level",
"Ice.Config",
"Ice.Default.CollocationOptimization",
+ "Ice.Default.EndpointSelection",
"Ice.Default.Host",
"Ice.Default.Locator",
"Ice.Default.Locator.EndpointSelection",
diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h
index bd9b42c1da9..5080affce34 100644
--- a/cpp/src/Ice/PropertyNames.h
+++ b/cpp/src/Ice/PropertyNames.h
@@ -7,7 +7,7 @@
//
// **********************************************************************
-// Generated by makeprops.py from file `../config/PropertyNames.def', Thu Jan 25 08:38:23 2007
+// Generated by makeprops.py from file `../config/PropertyNames.def', Fri Jan 26 07:44:16 2007
// IMPORTANT: Do not edit this file -- any edits made here will be lost!