summaryrefslogtreecommitdiff
path: root/cpp/demo/Ice/session/SessionFactoryI.h
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2005-04-18 19:19:50 +0000
committerMarc Laukien <marc@zeroc.com>2005-04-18 19:19:50 +0000
commit7f2013b080d5338788747ca03e4edf07063e06ce (patch)
treec1be882de712c9ebffe3788d1ff6c207d4f3a39a /cpp/demo/Ice/session/SessionFactoryI.h
parentcomments (diff)
downloadice-7f2013b080d5338788747ca03e4edf07063e06ce.tar.bz2
ice-7f2013b080d5338788747ca03e4edf07063e06ce.tar.xz
ice-7f2013b080d5338788747ca03e4edf07063e06ce.zip
comments
Diffstat (limited to 'cpp/demo/Ice/session/SessionFactoryI.h')
-rwxr-xr-xcpp/demo/Ice/session/SessionFactoryI.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/cpp/demo/Ice/session/SessionFactoryI.h b/cpp/demo/Ice/session/SessionFactoryI.h
index 8e897e2fe5a..5ace415efd9 100755
--- a/cpp/demo/Ice/session/SessionFactoryI.h
+++ b/cpp/demo/Ice/session/SessionFactoryI.h
@@ -26,6 +26,8 @@ public:
virtual ~ReapThread();
virtual void run();
+
+ // XXX Rename to destroy().
void terminate();
private:
@@ -51,15 +53,26 @@ public:
private:
- const Ice::ObjectAdapterPtr _adapter;
- const IceUtil::Time _timeout;
+ const Ice::ObjectAdapterPtr _adapter; // XXX Get rid of this, not needed.
+ const IceUtil::Time _timeout; // XXX Get rid of this, see other comments.
+
+ // XXX Why does the factory have to know the reaper thread? The
+ // sessions should know, they can register themselves directly
+ // with the reaper thread.
+
ReapThreadPtr _reapThread;
+
+ // XXX Get rid of this. Use a map<Ice::Identity, SessionIPtr>.
struct SessionId
{
SessionId(const SessionIPtr& s, const ::Ice::Identity& i) : session(s), id(i) { }
const SessionIPtr session;
const ::Ice::Identity id;
};
+
+ // XXX Why does SessionFactoryI keep a list of sessions? Clearly,
+ // only the reaper must know it, which currently simply delegates
+ // work to the SessionFactoryI, instead of doing it directly.
std::list<SessionId> _sessions;
};