summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeSessionI.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-05-19 10:49:59 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-05-19 10:49:59 +0000
commita51cde3a12b029a02f6fafaba45508971edb1aa9 (patch)
tree8e983a63db33c6ee67feef5d8952695cb6fd6963 /cpp/src/IceGrid/NodeSessionI.cpp
parenttry different compiler workaround for nested templates and iterators (diff)
downloadice-a51cde3a12b029a02f6fafaba45508971edb1aa9.tar.bz2
ice-a51cde3a12b029a02f6fafaba45508971edb1aa9.tar.xz
ice-a51cde3a12b029a02f6fafaba45508971edb1aa9.zip
Session re-factoring.
Diffstat (limited to 'cpp/src/IceGrid/NodeSessionI.cpp')
-rw-r--r--cpp/src/IceGrid/NodeSessionI.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/cpp/src/IceGrid/NodeSessionI.cpp b/cpp/src/IceGrid/NodeSessionI.cpp
index a0f63926737..9023e0715c8 100644
--- a/cpp/src/IceGrid/NodeSessionI.cpp
+++ b/cpp/src/IceGrid/NodeSessionI.cpp
@@ -15,15 +15,20 @@
using namespace std;
using namespace IceGrid;
-NodeSessionI::NodeSessionI(const DatabasePtr& database, const string& name, const NodePrx& node,
- const NodeInfo& info) :
+NodeSessionI::NodeSessionI(const DatabasePtr& database,
+ const string& name,
+ const NodePrx& node,
+ const NodeInfo& info,
+ const NodeObserverPrx& observer,
+ int timeout) :
_database(database),
_traceLevels(database->getTraceLevels()),
_name(name),
- _node(node),
+ _node(NodePrx::uncheckedCast(node->ice_timeout(timeout * 1000))),
_info(info),
- _startTime(IceUtil::Time::now()),
- _timestamp(_startTime),
+ _observer(observer),
+ _timeout(timeout),
+ _timestamp(IceUtil::Time::now()),
_destroy(false)
{
__setNoDelete(true);
@@ -59,6 +64,13 @@ NodeSessionI::keepAlive(const LoadInfo& load, const Ice::Current& current)
}
}
+int
+NodeSessionI::getTimeoutAndObserver(NodeObserverPrx& observer, const Ice::Current& current) const
+{
+ observer = _observer;
+ return _timeout;
+}
+
Ice::StringSeq
NodeSessionI::getServers(const Ice::Current& current)
{