summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/NodeCache.cpp')
-rw-r--r--cpp/src/IceGrid/NodeCache.cpp38
1 files changed, 16 insertions, 22 deletions
diff --git a/cpp/src/IceGrid/NodeCache.cpp b/cpp/src/IceGrid/NodeCache.cpp
index dc6eb107a11..5cf227f047e 100644
--- a/cpp/src/IceGrid/NodeCache.cpp
+++ b/cpp/src/IceGrid/NodeCache.cpp
@@ -133,6 +133,21 @@ struct ToInternalServerDescriptor : std::unary_function<CommunicatorDescriptorPt
}
copy(communicatorProps.begin(), communicatorProps.end(), back_inserter(props));
}
+
+ //
+ // For Ice servers > 3.3.0 escape the properties.
+ //
+ if(_iceVersion == 0 || _iceVersion >= 30300)
+ {
+ for(PropertyDescriptorSeq::iterator p = props.begin(); p != props.end(); ++p)
+ {
+ if(p->name.find('#') != 0 || !p->value.empty())
+ {
+ p->name = escapeProperty(p->name);
+ p->value = escapeProperty(p->value);
+ }
+ }
+ }
}
PropertyDescriptor
@@ -785,7 +800,7 @@ NodeEntry::checkSession() const
while(_registering)
{
- if(!timedWait(IceUtil::Time::seconds(5)))
+ if(!timedWait(IceUtil::Time::seconds(10)))
{
break; // Consider the node down if it doesn't respond promptly.
}
@@ -976,26 +991,5 @@ NodeEntry::getInternalServerDescriptor(const ServerInfo& info) const
// descriptor.
//
forEachCommunicator(ToInternalServerDescriptor(server, _session->getInfo(), iceVersion))(info.descriptor);
-
- //
- // For Ice servers > 3.3.0 escape the properties.
- //
- if(iceVersion == 0 || iceVersion >= 30300)
- {
- PropertyDescriptorSeq newProps;
- for(PropertyDescriptorSeq::const_iterator p = props.begin(); p != props.end(); ++p)
- {
- if(p->value.empty() && p->name.find('#') == 0)
- {
- newProps.push_back(createProperty(p->name));
- }
- else
- {
- newProps.push_back(createProperty(escapeProperty(p->name), escapeProperty(p->value)));
- }
- }
- server->properties["config"] = newProps;
- }
-
return server;
}