summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2006-11-16 06:44:20 +0000
committerMatthew Newhook <matthew@zeroc.com>2006-11-16 06:44:20 +0000
commit1cf08b7d8947437614e65619e17f9853898a7f85 (patch)
treeb80eef7a29df082b7a90ae8e02c85fabb6e58012
parentRemove debug statements (diff)
downloadice-1cf08b7d8947437614e65619e17f9853898a7f85.tar.bz2
ice-1cf08b7d8947437614e65619e17f9853898a7f85.tar.xz
ice-1cf08b7d8947437614e65619e17f9853898a7f85.zip
Removed upstream pinging from IceStorm.
-rw-r--r--cpp/CHANGES23
-rw-r--r--cpp/config/PropertyNames.def3
-rw-r--r--cpp/slice/IceStorm/IceStorm.ice12
-rw-r--r--cpp/src/Ice/PropertyNames.cpp5
-rw-r--r--cpp/src/Ice/PropertyNames.h2
-rw-r--r--cpp/src/IceStorm/.depend26
-rw-r--r--cpp/src/IceStorm/IceStormInternal.ice22
-rw-r--r--cpp/src/IceStorm/Instance.cpp35
-rw-r--r--cpp/src/IceStorm/Instance.h11
-rw-r--r--cpp/src/IceStorm/KeepAliveThread.cpp191
-rw-r--r--cpp/src/IceStorm/KeepAliveThread.h53
-rw-r--r--cpp/src/IceStorm/LinkRecord.ice5
-rw-r--r--cpp/src/IceStorm/Makefile8
-rw-r--r--cpp/src/IceStorm/Makefile.mak6
-rw-r--r--cpp/src/IceStorm/Service.cpp3
-rw-r--r--cpp/src/IceStorm/Subscriber.cpp304
-rw-r--r--cpp/src/IceStorm/Subscriber.h32
-rw-r--r--cpp/src/IceStorm/SubscriberPool.cpp78
-rw-r--r--cpp/src/IceStorm/SubscriberPool.h4
-rw-r--r--cpp/src/IceStorm/TopicI.cpp215
-rw-r--r--cpp/src/IceStorm/TopicI.h12
-rw-r--r--cpp/src/IceStorm/TopicManagerI.cpp7
-rw-r--r--cpp/src/IceStorm/TopicManagerI.h2
-rw-r--r--cpp/test/IceGrid/session/.depend8
24 files changed, 314 insertions, 753 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES
index 20c935fa182..9742b08eb83 100644
--- a/cpp/CHANGES
+++ b/cpp/CHANGES
@@ -47,13 +47,16 @@ Changes since version 3.1.1
- IceStorm changes:
- Changed IceStorm federation such that IceStorm now detects when a
- downstream topic is unavailable. At this point no further events are
- forwarded to the downstream Topic until the Topic becomes available
- again. This notification is provided by the downstream pinging the
- upstream topics on a regular basis. The ping time is controlled by
- IceStorm.KeepAliveTimeout. Added an addition tracing option
- IceStorm.Trace.KeepAlive.
+ Changed IceStorm federation such that IceStorm now detects when
+ a downstream topic is unavailable. Once a link is diagnosed as
+ non-functional, events are thrown out until a timer expires
+ (specified using the property IceStorm.Discard.Interval in seconds,
+ default value is 1 minute). At that point, delivery of the link
+ is attempted once again.
+
+ Added a new property IceStorm.Send.Timeout. This specifies in
+ milliseconds a timeout value is that is set on all link and
+ subscriber proxies. The default value is 1 minute.
All message sending is now faster. In particular, oneway QoS is now
significantly faster.
@@ -70,12 +73,12 @@ Changes since version 3.1.1
* IceStorm.SubscriberPool.SizeWarn. If the size of the thread pool
exceeds this value a warning is issued. The default is 0, which
means never warn.
- * IceStorm.SubscriberPool.Timeout. Default value is 250ms. If a
+ * IceStorm.SubscriberPool.Timeout. Default value is 1s. If a
stall is detected for more than this timeout value (in
milliseconds) a new thread is spawned up to the maximum size.
- Added IceStorm::Topic::unlinkByName to unlink a topic if the
- downstream topic is not actually running.
+ It is now possible to call unlink with a topic proxy which refers
+ to an IceStorm topic that is now currently reachable.
Added per-subscriber publisher objects to IceStorm.
IceStorm::Topic::subscribeAndGetPublisher now returns a proxy which
diff --git a/cpp/config/PropertyNames.def b/cpp/config/PropertyNames.def
index c0d83fbe71a..5891969bf2a 100644
--- a/cpp/config/PropertyNames.def
+++ b/cpp/config/PropertyNames.def
@@ -368,13 +368,14 @@ IceStorm:
SubscriberPool.SizeMax
SubscriberPool.SizeWarn
SubscriberPool.Timeout
- KeepAliveTimeout
Trace.Flush
Trace.Subscriber
Trace.SubscriberPool
Trace.Topic
Trace.TopicManager
Trace.KeepAlive
+ Send.Timeout
+ Discard.Interval
Glacier2:
AddUserToAllowCategories
diff --git a/cpp/slice/IceStorm/IceStorm.ice b/cpp/slice/IceStorm/IceStorm.ice
index c27eabc6b45..2196a427152 100644
--- a/cpp/slice/IceStorm/IceStorm.ice
+++ b/cpp/slice/IceStorm/IceStorm.ice
@@ -226,18 +226,6 @@ interface Topic
/**
*
- * Destroy the link from this topic to the named given topic
- * [linkTo].
- *
- * @param link The name of the topic to destroy the link to.
- *
- * @throws NoSuchLink Raised if a link to the topic does not exist.
- *
- **/
- void unlinkByName(string linkTo) throws NoSuchLink;
-
- /**
- *
* Retrieve information on the current links.
*
* @return A sequence of LinkInfo objects.
diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp
index 4ea212204fa..afab27ffd7a 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', Fri Nov 3 14:18:58 2006
+// Generated by makeprops.py from file `../../config/PropertyNames.def', Thu Nov 16 12:46:03 2006
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
@@ -288,13 +288,14 @@ const char* IceInternal::PropertyNames::IceStormProps[] =
"IceStorm.SubscriberPool.SizeMax",
"IceStorm.SubscriberPool.SizeWarn",
"IceStorm.SubscriberPool.Timeout",
- "IceStorm.KeepAliveTimeout",
"IceStorm.Trace.Flush",
"IceStorm.Trace.Subscriber",
"IceStorm.Trace.SubscriberPool",
"IceStorm.Trace.Topic",
"IceStorm.Trace.TopicManager",
"IceStorm.Trace.KeepAlive",
+ "IceStorm.Send.Timeout",
+ "IceStorm.Discard.Interval",
0
};
diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h
index f4177a0f7ae..345437bbf05 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', Fri Nov 3 14:18:58 2006
+// Generated by makeprops.py from file `../../config/PropertyNames.def', Thu Nov 16 12:46:03 2006
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
diff --git a/cpp/src/IceStorm/.depend b/cpp/src/IceStorm/.depend
index b9a59d9b742..3778ee61312 100644
--- a/cpp/src/IceStorm/.depend
+++ b/cpp/src/IceStorm/.depend
@@ -1,24 +1,22 @@
IceStorm$(OBJEXT): IceStorm.cpp ../../include/IceStorm/IceStorm.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/SliceChecksumDict.h ../../include/Ice/LocalException.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/ObjectFactory.h ../../include/Ice/SliceChecksums.h ../../include/IceUtil/Iterator.h ../../include/IceUtil/ScopedArray.h ../../include/IceUtil/DisableWarnings.h
IceStorm$(OBJEXT): IceStorm.cpp ../../include/IceStorm/IceStorm.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/SliceChecksumDict.h ../../include/Ice/LocalException.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/ObjectFactory.h ../../include/Ice/SliceChecksums.h ../../include/IceUtil/Iterator.h ../../include/IceUtil/ScopedArray.h ../../include/IceUtil/DisableWarnings.h
-Instance$(OBJEXT): Instance.cpp ../IceStorm/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/PropertiesF.h ../IceStorm/BatchFlusher.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Outgoing.h ../../include/Ice/ConnectionIF.h ../../include/Ice/ReferenceF.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../IceStorm/TraceLevels.h ../../include/Ice/LoggerF.h ../IceStorm/SubscriberPool.h ../IceStorm/Subscriber.h ../IceStorm/IceStormInternal.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/StreamF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../IceStorm/KeepAliveThread.h ../IceStorm/LinkRecord.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/LocalException.h
+Instance$(OBJEXT): Instance.cpp ../IceStorm/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/PropertiesF.h ../../include/IceUtil/Time.h ../IceStorm/BatchFlusher.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/Ice/Outgoing.h ../../include/Ice/ConnectionIF.h ../../include/Ice/ReferenceF.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../IceStorm/TraceLevels.h ../../include/Ice/LoggerF.h ../IceStorm/SubscriberPool.h ../IceStorm/Subscriber.h ../IceStorm/IceStormInternal.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/StreamF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/Properties.h
TraceLevels$(OBJEXT): TraceLevels.cpp ../IceStorm/TraceLevels.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Handle.h ../../include/Ice/PropertiesF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/LoggerF.h ../../include/Ice/Properties.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/BuiltinSequences.h
-BatchFlusher$(OBJEXT): BatchFlusher.cpp ../IceStorm/BatchFlusher.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/ProxyF.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Handle.h ../../include/Ice/Outgoing.h ../../include/Ice/ConnectionIF.h ../../include/Ice/ReferenceF.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/Current.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../IceStorm/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../IceStorm/TraceLevels.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/LocalException.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Properties.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Connection.h
-SubscriberPool$(OBJEXT): SubscriberPool.cpp ../IceStorm/SubscriberPool.h ../IceStorm/Subscriber.h ../IceStorm/IceStormInternal.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../../include/IceUtil/Thread.h ../IceStorm/Instance.h ../../include/Ice/PropertiesF.h ../IceStorm/TraceLevels.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/LoggerUtil.h
-KeepAliveThread$(OBJEXT): KeepAliveThread.cpp ../IceStorm/KeepAliveThread.h ../IceStorm/LinkRecord.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../IceStorm/IceStormInternal.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../../include/IceUtil/Thread.h ../IceStorm/Instance.h ../../include/Ice/PropertiesF.h ../IceStorm/TraceLevels.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalException.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/Properties.h
-Subscriber$(OBJEXT): Subscriber.cpp ../IceStorm/Subscriber.h ../IceStorm/IceStormInternal.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../IceStorm/Instance.h ../../include/Ice/PropertiesF.h ../IceStorm/TraceLevels.h ../../include/Ice/LoggerF.h ../IceStorm/BatchFlusher.h ../../include/IceUtil/Thread.h ../IceStorm/SubscriberPool.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/IncomingAsync.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/LocalException.h ../../include/Ice/Connection.h
-TopicI$(OBJEXT): TopicI.cpp ../IceStorm/TopicI.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../IceStorm/IceStormInternal.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../IceStorm/PersistentTopicMap.h ../../include/Freeze/Map.h ../../include/Ice/Ice.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/Ice/Initialize.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../../include/Ice/StatsF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/IncomingAsync.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../IceStorm/LinkRecord.h ../IceStorm/PersistentUpstreamMap.h ../IceStorm/Instance.h ../IceStorm/Subscriber.h ../IceStorm/TraceLevels.h ../IceStorm/KeepAliveThread.h ../IceStorm/SubscriberPool.h ../../include/Freeze/Initialize.h ../../include/Freeze/EvictorF.h ../../include/Freeze/ConnectionF.h ../../include/Freeze/Index.h
-TopicManagerI$(OBJEXT): TopicManagerI.cpp ../IceStorm/TopicManagerI.h ../../include/IceStorm/IceStorm.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/PersistentTopicMap.h ../../include/Freeze/Map.h ../../include/Ice/Ice.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/Ice/Initialize.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../../include/Ice/StatsF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/IncomingAsync.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../IceStorm/LinkRecord.h ../IceStorm/IceStormInternal.h ../IceStorm/Event.h ../IceStorm/PersistentUpstreamMap.h ../IceStorm/TopicI.h ../IceStorm/SubscriberPool.h ../IceStorm/Subscriber.h ../IceStorm/BatchFlusher.h ../IceStorm/TraceLevels.h ../IceStorm/KeepAliveThread.h ../IceStorm/Instance.h ../../include/Freeze/Initialize.h ../../include/Freeze/EvictorF.h ../../include/Freeze/ConnectionF.h ../../include/Freeze/Index.h ../../include/Ice/SliceChecksums.h
-PersistentTopicMap$(OBJEXT): PersistentTopicMap.cpp ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../IceStorm/PersistentTopicMap.h ../../include/Freeze/Map.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../IceStorm/LinkRecord.h ../IceStorm/IceStormInternal.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h
-PersistentUpstreamMap$(OBJEXT): PersistentUpstreamMap.cpp ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../IceStorm/PersistentUpstreamMap.h ../../include/Freeze/Map.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../IceStorm/LinkRecord.h ../IceStorm/IceStormInternal.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h
+BatchFlusher$(OBJEXT): BatchFlusher.cpp ../IceStorm/BatchFlusher.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/ProxyF.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Handle.h ../../include/Ice/Outgoing.h ../../include/Ice/ConnectionIF.h ../../include/Ice/ReferenceF.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/Current.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../IceStorm/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../IceStorm/TraceLevels.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/Properties.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Connection.h
+SubscriberPool$(OBJEXT): SubscriberPool.cpp ../IceStorm/SubscriberPool.h ../IceStorm/Subscriber.h ../IceStorm/IceStormInternal.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../../include/IceUtil/Thread.h ../IceStorm/Instance.h ../../include/Ice/PropertiesF.h ../IceStorm/TraceLevels.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/Properties.h ../../include/Ice/LoggerUtil.h
+Subscriber$(OBJEXT): Subscriber.cpp ../IceStorm/Subscriber.h ../IceStorm/IceStormInternal.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../IceStorm/Instance.h ../../include/Ice/PropertiesF.h ../IceStorm/TraceLevels.h ../../include/Ice/LoggerF.h ../IceStorm/BatchFlusher.h ../../include/IceUtil/Thread.h ../IceStorm/SubscriberPool.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/IncomingAsync.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/LocalException.h ../../include/Ice/Connection.h
+TopicI$(OBJEXT): TopicI.cpp ../IceStorm/TopicI.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../IceStorm/IceStormInternal.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../IceStorm/PersistentTopicMap.h ../../include/Freeze/Map.h ../../include/Ice/Ice.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/Ice/Initialize.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../../include/Ice/StatsF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/IncomingAsync.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../IceStorm/LinkRecord.h ../IceStorm/Instance.h ../IceStorm/Subscriber.h ../IceStorm/TraceLevels.h ../IceStorm/SubscriberPool.h ../../include/Freeze/Initialize.h ../../include/Freeze/EvictorF.h ../../include/Freeze/ConnectionF.h ../../include/Freeze/Index.h
+TopicManagerI$(OBJEXT): TopicManagerI.cpp ../IceStorm/TopicManagerI.h ../../include/IceStorm/IceStorm.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/PersistentTopicMap.h ../../include/Freeze/Map.h ../../include/Ice/Ice.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/Ice/Initialize.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../../include/Ice/StatsF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/IncomingAsync.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../IceStorm/LinkRecord.h ../IceStorm/IceStormInternal.h ../IceStorm/Event.h ../IceStorm/TopicI.h ../IceStorm/SubscriberPool.h ../IceStorm/Subscriber.h ../IceStorm/BatchFlusher.h ../IceStorm/TraceLevels.h ../IceStorm/Instance.h ../../include/Freeze/Initialize.h ../../include/Freeze/EvictorF.h ../../include/Freeze/ConnectionF.h ../../include/Freeze/Index.h ../../include/Ice/SliceChecksums.h
+PersistentTopicMap$(OBJEXT): PersistentTopicMap.cpp ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../IceStorm/PersistentTopicMap.h ../../include/Freeze/Map.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../IceStorm/LinkRecord.h ../IceStorm/IceStormInternal.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h
LinkRecord$(OBJEXT): LinkRecord.cpp ../IceStorm/LinkRecord.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../IceStorm/IceStormInternal.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/SliceChecksums.h ../../include/IceUtil/Iterator.h ../../include/IceUtil/ScopedArray.h ../../include/IceUtil/DisableWarnings.h
IceStormInternal$(OBJEXT): IceStormInternal.cpp ../IceStorm/IceStormInternal.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/SliceChecksums.h ../../include/IceUtil/Iterator.h ../../include/IceUtil/ScopedArray.h ../../include/IceUtil/DisableWarnings.h
Event$(OBJEXT): Event.cpp ../IceStorm/Event.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/SliceChecksums.h ../../include/Ice/SliceChecksumDict.h ../../include/IceUtil/Iterator.h ../../include/IceUtil/ScopedArray.h ../../include/IceUtil/DisableWarnings.h
-Service$(OBJEXT): Service.cpp ../IceStorm/TopicI.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../IceStorm/IceStormInternal.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../IceStorm/PersistentTopicMap.h ../../include/Freeze/Map.h ../../include/Ice/Ice.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/Ice/Initialize.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../../include/Ice/StatsF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/IncomingAsync.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../IceStorm/LinkRecord.h ../IceStorm/PersistentUpstreamMap.h ../IceStorm/TopicManagerI.h ../IceStorm/Instance.h ../IceStorm/TraceLevels.h ../IceStorm/BatchFlusher.h ../IceStorm/SubscriberPool.h ../IceStorm/Subscriber.h ../IceStorm/KeepAliveThread.h ../../include/IceStorm/Service.h ../../include/IceBox/IceBox.h
-Admin$(OBJEXT): Admin.cpp ../../include/IceUtil/DisableWarnings.h ../../include/IceUtil/Options.h ../../include/IceUtil/Config.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Handle.h ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/SliceChecksums.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Parser.h ../../include/IceStorm/IceStorm.h
-Grammar$(OBJEXT): Grammar.cpp ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../IceStorm/Parser.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h
-Scanner$(OBJEXT): Scanner.cpp ../../include/IceUtil/Config.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../IceStorm/Parser.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Grammar.h
+Service$(OBJEXT): Service.cpp ../IceStorm/TopicI.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../IceStorm/IceStormInternal.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/Ice/StringConverter.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Event.h ../../include/Ice/BuiltinSequences.h ../IceStorm/PersistentTopicMap.h ../../include/Freeze/Map.h ../../include/Ice/Ice.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/Ice/Initialize.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../../include/Ice/StatsF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/IncomingAsync.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../IceStorm/LinkRecord.h ../IceStorm/TopicManagerI.h ../IceStorm/Instance.h ../IceStorm/TraceLevels.h ../IceStorm/BatchFlusher.h ../IceStorm/SubscriberPool.h ../IceStorm/Subscriber.h ../../include/IceStorm/Service.h ../../include/IceBox/IceBox.h
+Admin$(OBJEXT): Admin.cpp ../../include/IceUtil/DisableWarnings.h ../../include/IceUtil/Options.h ../../include/IceUtil/Config.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Handle.h ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Ice/SliceChecksums.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Parser.h ../../include/IceStorm/IceStorm.h
+Grammar$(OBJEXT): Grammar.cpp ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../IceStorm/Parser.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h
+Scanner$(OBJEXT): Scanner.cpp ../../include/IceUtil/Config.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../IceStorm/Parser.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/Grammar.h
WeightedGraph$(OBJEXT): WeightedGraph.cpp ../IceStorm/WeightedGraph.h ../../include/IceUtil/Config.h ../../include/IceXML/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Handle.h
-Parser$(OBJEXT): Parser.cpp ../../include/IceUtil/DisableWarnings.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContext.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../IceStorm/Parser.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/WeightedGraph.h
+Parser$(OBJEXT): Parser.cpp ../../include/IceUtil/DisableWarnings.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../IceStorm/Parser.h ../../include/IceStorm/IceStorm.h ../../include/Ice/SliceChecksumDict.h ../IceStorm/WeightedGraph.h
IceStorm.cpp: ../../slice/IceStorm/IceStorm.ice ../../slice/Ice/SliceChecksumDict.ice ../../slice/Ice/Identity.ice
IceStormInternal.cpp: ../IceStorm/IceStormInternal.ice ../../slice/IceStorm/IceStorm.ice ../../slice/Ice/SliceChecksumDict.ice ../../slice/Ice/Identity.ice ../IceStorm/Event.ice ../../slice/Ice/Current.ice ../../slice/Ice/ObjectAdapterF.ice ../../slice/Ice/ConnectionF.ice ../../slice/Ice/BuiltinSequences.ice
LinkRecord.cpp: ../IceStorm/LinkRecord.ice ../IceStorm/IceStormInternal.ice ../../slice/IceStorm/IceStorm.ice ../../slice/Ice/SliceChecksumDict.ice ../../slice/Ice/Identity.ice ../IceStorm/Event.ice ../../slice/Ice/Current.ice ../../slice/Ice/ObjectAdapterF.ice ../../slice/Ice/ConnectionF.ice ../../slice/Ice/BuiltinSequences.ice
diff --git a/cpp/src/IceStorm/IceStormInternal.ice b/cpp/src/IceStorm/IceStormInternal.ice
index 446f37deb0a..c98d13e0356 100644
--- a/cpp/src/IceStorm/IceStormInternal.ice
+++ b/cpp/src/IceStorm/IceStormInternal.ice
@@ -71,28 +71,6 @@ interface TopicInternal extends Topic
*
**/
idempotent TopicLink* getLinkProxy();
-
- /**
- *
- * Send a link notification to the downstream topic.
- *
- * @param name The topic name.
- *
- * @param upstream The upstream topic.
- *
- **/
- void linkNotification(string name, TopicUpstreamLink* upstream);
-
- /**
- *
- * Send an unlink notification to the downstream topic.
- *
- * @param name The topic name.
- *
- * @param upstream The upstream topic.
- *
- **/
- void unlinkNotification(string name, TopicUpstreamLink* upstream);
};
}; // End module IceStorm
diff --git a/cpp/src/IceStorm/Instance.cpp b/cpp/src/IceStorm/Instance.cpp
index c4df7869172..7d473787a3d 100644
--- a/cpp/src/IceStorm/Instance.cpp
+++ b/cpp/src/IceStorm/Instance.cpp
@@ -11,9 +11,9 @@
#include <IceStorm/BatchFlusher.h>
#include <IceStorm/TraceLevels.h>
#include <IceStorm/SubscriberPool.h>
-#include <IceStorm/KeepAliveThread.h>
#include <Ice/Communicator.h>
+#include <Ice/Properties.h>
using namespace IceStorm;
using namespace std;
@@ -24,7 +24,11 @@ Instance::Instance(
const Ice::ObjectAdapterPtr& adapter) :
_communicator(communicator),
_adapter(adapter),
- _traceLevels(new TraceLevels(name, communicator->getProperties(), communicator->getLogger()))
+ _traceLevels(new TraceLevels(name, communicator->getProperties(), communicator->getLogger())),
+ _discardInterval(IceUtil::Time::seconds(communicator->getProperties()->getPropertyAsIntWithDefault(
+ "IceStorm.Discard.Interval", 60))), // default one minute.
+ // default one minute.
+ _sendTimeout(communicator->getProperties()->getPropertyAsIntWithDefault("IceStorm.Send.Timeout", 60 * 1000))
{
try
{
@@ -32,13 +36,13 @@ Instance::Instance(
_batchFlusher = new BatchFlusher(this);
_subscriberPool = new SubscriberPool(this);
- _keepAlive = new KeepAliveThread(this);
}
catch(...)
{
shutdown();
destroy();
__setNoDelete(false);
+
throw;
}
__setNoDelete(false);
@@ -72,12 +76,6 @@ Instance::traceLevels() const
return _traceLevels;
}
-KeepAliveThreadPtr
-Instance::keepAlive() const
-{
- return _keepAlive;
-}
-
BatchFlusherPtr
Instance::batchFlusher() const
{
@@ -90,15 +88,21 @@ Instance::subscriberPool() const
return _subscriberPool;
}
+IceUtil::Time
+Instance::discardInterval() const
+{
+ return _discardInterval;
+}
+
+int
+Instance::sendTimeout() const
+{
+ return _sendTimeout;
+}
+
void
Instance::shutdown()
{
- if(_keepAlive)
- {
- _keepAlive->destroy();
- _keepAlive->getThreadControl().join();
- }
-
if(_batchFlusher)
{
_batchFlusher->destroy();
@@ -114,7 +118,6 @@ Instance::shutdown()
void
Instance::destroy()
{
- _keepAlive = 0;
_batchFlusher = 0;
_subscriberPool = 0;
}
diff --git a/cpp/src/IceStorm/Instance.h b/cpp/src/IceStorm/Instance.h
index d4bca13198b..70c70e982b5 100644
--- a/cpp/src/IceStorm/Instance.h
+++ b/cpp/src/IceStorm/Instance.h
@@ -14,6 +14,7 @@
#include <Ice/CommunicatorF.h>
#include <Ice/ObjectAdapterF.h>
#include <Ice/PropertiesF.h>
+#include <IceUtil/Time.h>
namespace IceStorm
{
@@ -24,9 +25,6 @@ typedef IceUtil::Handle<BatchFlusher> BatchFlusherPtr;
class TraceLevels;
typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr;
-class KeepAliveThread;
-typedef IceUtil::Handle<KeepAliveThread> KeepAliveThreadPtr;
-
class SubscriberPool;
typedef IceUtil::Handle<SubscriberPool> SubscriberPoolPtr;
@@ -41,10 +39,12 @@ public:
Ice::PropertiesPtr properties() const;
Ice::ObjectAdapterPtr objectAdapter() const;
TraceLevelsPtr traceLevels() const;
- KeepAliveThreadPtr keepAlive() const;
BatchFlusherPtr batchFlusher() const;
SubscriberPoolPtr subscriberPool() const;
+ IceUtil::Time discardInterval() const;
+ int sendTimeout() const;
+
void shutdown();
void destroy();
@@ -53,7 +53,8 @@ private:
const Ice::CommunicatorPtr _communicator;
const Ice::ObjectAdapterPtr _adapter;
const TraceLevelsPtr _traceLevels;
- KeepAliveThreadPtr _keepAlive;
+ const IceUtil::Time _discardInterval;
+ const int _sendTimeout;
BatchFlusherPtr _batchFlusher;
SubscriberPoolPtr _subscriberPool;
};
diff --git a/cpp/src/IceStorm/KeepAliveThread.cpp b/cpp/src/IceStorm/KeepAliveThread.cpp
deleted file mode 100644
index 22369b05391..00000000000
--- a/cpp/src/IceStorm/KeepAliveThread.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-#include <IceStorm/KeepAliveThread.h>
-#include <IceStorm/Instance.h>
-#include <IceStorm/TraceLevels.h>
-#include <Ice/LocalException.h>
-#include <Ice/LoggerUtil.h>
-#include <Ice/Communicator.h>
-#include <Ice/Properties.h>
-
-using namespace std;
-using namespace IceStorm;
-
-KeepAliveThread::KeepAliveThread(const InstancePtr& instance) :
- _instance(instance),
- _timeout(IceUtil::Time::seconds(max(instance->properties()->getPropertyAsIntWithDefault(
- "IceStorm.KeepAliveTimeout", 60), 1))), // min 1s.
- _publish(false),
- _destroy(false)
-{
- start();
-}
-
-KeepAliveThread::~KeepAliveThread()
-{
-}
-
-void
-KeepAliveThread::add(const TopicUpstreamLinkPrx& upstream)
-{
- Lock sync(*this);
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- if(traceLevels->keepAlive > 0)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->keepAliveCat);
- out << "add " << _instance->communicator()->identityToString(upstream->ice_getIdentity());
- }
- _upstream.push_back(upstream);
- //
- // If we've added the first item then we need to wake the ping
- // thread since it sleeps indefinitely if there are no upstream
- // topics to notify.
- //
- if(_upstream.size() == 1)
- {
- notify();
- }
-}
-
-void
-KeepAliveThread::remove(const TopicUpstreamLinkPrx& upstream)
-{
- Lock sync(*this);
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- if(traceLevels->keepAlive > 0)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->keepAliveCat);
- out << "remove " << _instance->communicator()->identityToString(upstream->ice_getIdentity());
- }
- list<TopicUpstreamLinkPrx>::iterator p = find(_upstream.begin(), _upstream.end(), upstream);
- if(p != _upstream.end())
- {
- _upstream.erase(p);
- }
-}
-
-void
-KeepAliveThread::startPinging()
-{
- Lock sync(*this);
- _publish = true;
- notify();
-}
-
-void
-KeepAliveThread::destroy()
-{
- Lock sync(*this);
- _destroy = true;
- notify();
-}
-
-bool
-KeepAliveThread::filter(IceStorm::TopicUpstreamLinkPrxSeq& upstream)
-{
- Lock sync(*this);
- bool changed = false;
- IceStorm::TopicUpstreamLinkPrxSeq::iterator p = upstream.begin();
- while(p != upstream.end())
- {
- list<TopicUpstreamLinkPrx>::iterator q = find(_failed.begin(), _failed.end(), *p);
- if(q != _failed.end())
- {
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- if(traceLevels->keepAlive > 0)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->keepAliveCat);
- out << "filter " << _instance->communicator()->identityToString((*p)->ice_getIdentity());
- }
- _failed.erase(q);
- p = upstream.erase(p);
- changed = true;
- }
- else
- {
- ++p;
- }
- }
- return changed;
-}
-
-void
-KeepAliveThread::run()
-{
- while(true)
- {
- list<TopicUpstreamLinkPrx> upstream;
- while(true)
- {
- Lock sync(*this);
- if(!_destroy)
- {
- if(!_publish || _upstream.size() == 0)
- {
- wait();
- }
- else
- {
- timedWait(_timeout);
- }
- }
- if(_destroy)
- {
- return;
- }
- if(!_publish)
- {
- continue;
- }
- upstream = _upstream;
- break;
- }
-
- for(list<TopicUpstreamLinkPrx>::const_iterator p = upstream.begin(); p != upstream.end(); ++p)
- {
- try
- {
- (*p)->keepAlive();
- }
- catch(const Ice::ObjectNotExistException&)
- {
- failed(*p);
- }
- catch(const Ice::Exception&)
- {
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- if(traceLevels->keepAlive > 1)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->keepAliveCat);
- out << "unreachable " << _instance->communicator()->identityToString((*p)->ice_getIdentity());
- }
- // Ignore
- }
- }
- }
-}
-
-void
-KeepAliveThread::failed(const TopicUpstreamLinkPrx& upstream)
-{
- Lock sync(*this);
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- if(traceLevels->keepAlive > 1)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->keepAliveCat);
- out << "failed " << _instance->communicator()->identityToString(upstream->ice_getIdentity());
- }
- list<TopicUpstreamLinkPrx>::iterator p = find(_upstream.begin(), _upstream.end(), upstream);
- if(p != _upstream.end())
- {
- _upstream.erase(p);
- }
- _failed.push_back(upstream);
-}
diff --git a/cpp/src/IceStorm/KeepAliveThread.h b/cpp/src/IceStorm/KeepAliveThread.h
deleted file mode 100644
index 97eb063a0bc..00000000000
--- a/cpp/src/IceStorm/KeepAliveThread.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-#ifndef KEEP_ALIVE_THREAD_I_H
-#define KEEP_ALIVE_THREAD_I_H
-
-#include <IceStorm/LinkRecord.h>
-#include <IceUtil/Thread.h>
-#include <IceUtil/Monitor.h>
-#include <list>
-
-namespace IceStorm
-{
-
-class Instance;
-typedef IceUtil::Handle<Instance> InstancePtr;
-
-class KeepAliveThread : public IceUtil::Thread, public IceUtil::Monitor<IceUtil::Mutex>
-{
-public:
-
- KeepAliveThread(const InstancePtr&);
- ~KeepAliveThread();
-
- void add(const IceStorm::TopicUpstreamLinkPrx&);
- void remove(const IceStorm::TopicUpstreamLinkPrx&);
- void startPinging();
- void destroy();
- bool filter(IceStorm::TopicUpstreamLinkPrxSeq&);
- virtual void run();
-
-private:
-
- void failed(const IceStorm::TopicUpstreamLinkPrx&);
-
- const InstancePtr _instance;
- const IceUtil::Time _timeout;
- bool _publish;
- bool _destroy;
- std::list<IceStorm::TopicUpstreamLinkPrx> _upstream;
- std::list<IceStorm::TopicUpstreamLinkPrx> _failed;
-};
-typedef IceUtil::Handle<KeepAliveThread> KeepAliveThreadPtr;
-
-}
-
-#endif
diff --git a/cpp/src/IceStorm/LinkRecord.ice b/cpp/src/IceStorm/LinkRecord.ice
index c5604082fa6..fc06c756152 100644
--- a/cpp/src/IceStorm/LinkRecord.ice
+++ b/cpp/src/IceStorm/LinkRecord.ice
@@ -24,17 +24,12 @@ struct LinkRecord
{
TopicLink* obj; // The topic link object.
int cost; // The cost.
- TopicUpstreamLink* upstream; // The upstream link (for recreating
- // the upstream link object).
Topic* theTopic; // The linked topic for getLinkInfoSeq
};
/** Dictionary of link name to link record. */
dictionary<string, LinkRecord> LinkRecordDict;
-/** Sequence of TopicUpstreamLink objects. */
-sequence<TopicUpstreamLink*> TopicUpstreamLinkPrxSeq;
-
}; // End module IceStorm
#endif
diff --git a/cpp/src/IceStorm/Makefile b/cpp/src/IceStorm/Makefile
index 9a2a626f190..1f9eba88367 100644
--- a/cpp/src/IceStorm/Makefile
+++ b/cpp/src/IceStorm/Makefile
@@ -30,12 +30,10 @@ SERVICE_OBJS = IceStorm.o \
TraceLevels.o \
BatchFlusher.o \
SubscriberPool.o \
- KeepAliveThread.o \
Subscriber.o \
TopicI.o \
TopicManagerI.o \
PersistentTopicMap.o \
- PersistentUpstreamMap.o \
LinkRecord.o \
IceStormInternal.o \
Event.o \
@@ -103,14 +101,8 @@ PersistentTopicMap.h PersistentTopicMap.cpp: ../IceStorm/LinkRecord.ice $(sliced
$(SLICE2FREEZECMD) --dict IceStorm::PersistentTopicMap,string,IceStorm::LinkRecordDict PersistentTopicMap \
../IceStorm/LinkRecord.ice
-PersistentUpstreamMap.h PersistentUpstreamMap.cpp: ../IceStorm/LinkRecord.ice $(slicedir)/Ice/Identity.ice $(SLICE2FREEZE)
- rm -f PersistentUpstreamMap.h PersistentUpstreamMap.cpp
- $(SLICE2FREEZECMD) --dict IceStorm::PersistentUpstreamMap,string,IceStorm::TopicUpstreamLinkPrxSeq \
- PersistentUpstreamMap ../IceStorm/LinkRecord.ice
-
clean::
rm -f PersistentTopicMap.h PersistentTopicMap.cpp
- rm -f PersistentUpstreamMap.h PersistentUpstreamMap.cpp
# Needed for make -jn to work.
../IceStorm/Grammar.y: Grammar.h
diff --git a/cpp/src/IceStorm/Makefile.mak b/cpp/src/IceStorm/Makefile.mak
index 795693703ee..c2fc89cb478 100644
--- a/cpp/src/IceStorm/Makefile.mak
+++ b/cpp/src/IceStorm/Makefile.mak
@@ -40,7 +40,6 @@ SERVICE_OBJS = IceStorm.obj \
TopicI.obj \
TopicManagerI.obj \
PersistentTopicMap.obj \
- PersistentUpstreamMap.obj \
LinkRecord.obj \
IceStormInternal.obj \
Event.obj \
@@ -100,11 +99,6 @@ $(ADMIN): $(AOBJS)
$(SLICE2FREEZECMD) --dict IceStorm::PersistentTopicMap,string,IceStorm::LinkRecordDict PersistentTopicMap \
..\IceStorm\LinkRecord.ice
-..\IceStorm\PersistentUpstreamMap.h PersistentUpstreamMap.cpp: ..\IceStorm\LinkRecord.ice $(slicedir)\Ice\Identity.ice $(SLICE2FREEZE)
- del /q PersistentUpstreamMap.h PersistentUpstreamMap.cpp
- $(SLICE2FREEZECMD) --dict IceStorm::PersistentUpstreamMap,string,IceStorm::TopicUpstreamLinkPrxSeq \
- PersistentUpstreamMap ../IceStorm/LinkRecord.ice
-
Event.cpp.cpp Event.h: Event.ice
$(SLICE2CPP) --dll-export ICE_STORM_API $(SLICE2CPPFLAGS) Event.ice
diff --git a/cpp/src/IceStorm/Service.cpp b/cpp/src/IceStorm/Service.cpp
index 1fed3c66178..f17ab500ace 100644
--- a/cpp/src/IceStorm/Service.cpp
+++ b/cpp/src/IceStorm/Service.cpp
@@ -13,7 +13,6 @@
#include <IceStorm/TraceLevels.h>
#include <IceStorm/BatchFlusher.h>
#include <IceStorm/SubscriberPool.h>
-#include <IceStorm/KeepAliveThread.h>
#include <IceStorm/Service.h>
using namespace std;
@@ -130,7 +129,7 @@ IceStorm::ServiceI::start(
// installed so that any upstream topics are notified immediately
// after startup.
//
- _instance->keepAlive()->startPinging();
+ //_instance->keepAlive()->startPinging();
}
void
diff --git a/cpp/src/IceStorm/Subscriber.cpp b/cpp/src/IceStorm/Subscriber.cpp
index 1e93b7d250e..000f7cbfd5e 100644
--- a/cpp/src/IceStorm/Subscriber.cpp
+++ b/cpp/src/IceStorm/Subscriber.cpp
@@ -107,9 +107,10 @@ public:
virtual void destroy();
private:
+
const bool _batch;
const Ice::ObjectPrx _obj;
- /*const*/ Ice::ObjectPrx _objBatch;
+ const Ice::ObjectPrx _objBatch;
};
class SubscriberTwoway : public Subscriber
@@ -159,16 +160,21 @@ public:
virtual bool flush();
void response();
+ void offline(const Ice::Exception&);
+
private:
const TopicLinkPrx _obj;
const int _cost;
+
+ // The next to try sending a new event if we're offline.
+ IceUtil::Time _next;
+ bool _warn;
};
typedef IceUtil::Handle<SubscriberLink> SubscriberLinkPtr;
}
-
SubscriberOneway::SubscriberOneway(
const InstancePtr& instance,
const Ice::ObjectPrx& proxy,
@@ -176,9 +182,9 @@ SubscriberOneway::SubscriberOneway(
bool batch) :
Subscriber(instance, proxy, false, obj->ice_getIdentity()),
_batch(batch),
- _obj(obj)
+ _obj(obj),
+ _objBatch(obj->ice_isDatagram() ? obj->ice_batchDatagram() : obj->ice_batchOneway())
{
- _objBatch = obj->ice_isDatagram() ? _obj->ice_batchDatagram() : _obj->ice_batchOneway();
if(batch)
{
@@ -194,13 +200,12 @@ SubscriberOneway::flush()
//
// If the subscriber errored out then we're done.
//
- if(_state != StateActive)
+ if(_state == SubscriberStateError)
{
- _busy = false;
return false;
}
+ assert(_state == SubscriberStateFlushPending);
assert(!_events.empty());
- assert(_busy);
try
{
@@ -215,12 +220,12 @@ SubscriberOneway::flush()
sync.release();
// XXX:
- /*
+/*
TraceLevelsPtr traceLevels = _instance->traceLevels();
if(_obj->ice_getIdentity().name.substr(0, 4) == "slow")
{
- //Ice::Trace out(traceLevels->logger, traceLevels->subscriberCat);
- //out << "deliberately stalling";
+ Ice::Trace out(traceLevels->logger, traceLevels->subscriberCat);
+ out << "deliberately stalling";
sleep(2);
}
if(_obj->ice_getIdentity().name.substr(0, 5) == "block")
@@ -235,7 +240,7 @@ SubscriberOneway::flush()
out << "<- stall for 100s";
}
}
- */
+*/
//
// Deliver the events without holding the lock.
@@ -267,22 +272,22 @@ SubscriberOneway::flush()
// Reacquire the lock before we check the queue again.
//
sync.acquire();
-
- //
- // If there have been more events queued in the meantime then
- // we are still busy.
- //
- _busy = !_events.empty();
}
catch(const Ice::LocalException& ex)
{
assert(!sync.acquired());
- // setError will re-acquire and release the lock.
- setError(ex);
+ // error will re-acquire and release the lock.
+ error(ex);
return false;
}
- return _busy;
+ if(!_events.empty())
+ {
+ _state = SubscriberStateFlushPending;
+ return true;
+ }
+ _state = SubscriberStateOnline;
+ return false;
}
void
@@ -315,7 +320,7 @@ public:
virtual void
ice_exception(const Ice::Exception& e)
{
- _subscriber->setError(e);
+ _subscriber->error(e);
}
private:
@@ -342,13 +347,12 @@ SubscriberTwoway::flush()
//
// If the subscriber errored out then we're done.
//
- if(_state != StateActive)
+ if(_state == SubscriberStateError)
{
- _busy = false;
return false;
}
+ assert(_state == SubscriberStateFlushPending);
assert(!_events.empty());
- assert(_busy);
//
// Get the current set of events, but release the lock before
@@ -375,11 +379,15 @@ SubscriberTwoway::flush()
//
// If there have been more events queued in the meantime then
- // we are still busy.
+ // we have a pending flush.
//
- _busy = !_events.empty();
-
- return _busy;
+ if(!_events.empty())
+ {
+ _state = SubscriberStateFlushPending;
+ return true;
+ }
+ _state = SubscriberStateOnline;
+ return false;
}
namespace
@@ -403,7 +411,7 @@ public:
virtual void
ice_exception(const Ice::Exception& ex)
{
- _subscriber->setError(ex);
+ _subscriber->error(ex);
}
private:
@@ -432,13 +440,12 @@ SubscriberTwowayOrdered::flush()
//
// If the subscriber errored out then we're done.
//
- if(_state != StateActive)
+ if(_state == SubscriberStateError)
{
- _busy = false;
return false;
}
+ assert(_state == SubscriberStateFlushPending);
assert(!_events.empty());
- assert(_busy);
e = _events.front();
_events.erase(_events.begin());
@@ -455,11 +462,10 @@ SubscriberTwowayOrdered::response()
{
IceUtil::Mutex::Lock sync(_mutex);
- assert(_state == StateActive && _busy);
-
+ assert(_state != SubscriberStateError);
if(_events.empty())
{
- _busy = false;
+ _state = SubscriberStateOnline;
return;
}
}
@@ -492,11 +498,11 @@ public:
}
catch(const Ice::ObjectNotExistException& ex)
{
- _subscriber->setError(ex);
+ _subscriber->error(ex);
}
catch(const Ice::LocalException& ex)
{
- _subscriber->setUnreachable(ex);
+ _subscriber->offline(ex);
}
}
@@ -513,7 +519,8 @@ SubscriberLink::SubscriberLink(
int cost) :
Subscriber(instance, 0, true, obj->ice_getIdentity()),
_obj(TopicLinkPrx::uncheckedCast(obj->ice_collocationOptimized(false))),
- _cost(cost)
+ _cost(cost),
+ _warn(true)
{
}
@@ -527,29 +534,51 @@ SubscriberLink::queue(bool forwarded, const EventSeq& events)
//
// Don't propagate a message that has already been forwarded.
- // Also, if this link has a non-zero cost, then don't propagate
- // a message whose cost exceeds the link cost.
+ // Also, if this link has a non-zero cost, then don't propagate a
+ // message whose cost exceeds the link cost.
//
IceUtil::Mutex::Lock sync(_mutex);
-
- if(_state != StateActive)
+
+ if(_state == SubscriberStateError)
{
+ return QueueStateError;
+ }
+
+ //
+ // If the proxy is offline and its time to send another event then
+ // put us into retry state.
+ //
+ if(_state == SubscriberStateOffline)
+ {
+ //
+ // If there are alot of subscribers offline then we will call
+ // Time::now() alot, which could be costly. This could be
+ // optimized to only one per event-batch by making the
+ // forwarded argument an EventInfo thing where the queue-time
+ // is lazy initialized.
//
- // Either the state is error here or the link is inactive.
+ if(IceUtil::Time::now() < _next)
+ {
+ return QueueStateNoFlush;
+ }
+
//
- return (_state == StateError) ? QueueStateError : QueueStateNoFlush;
+ // State transition to online.
+ //
+ _state = SubscriberStateOnline;
}
- size_t s = _events.size();
+ int queued = 0;
for(EventSeq::const_iterator p = events.begin(); p != events.end(); ++p)
{
if(_cost != 0)
{
//
- // Note that we could calculate this cost once and
- // cache it in a private form of the event to avoid
- // this if this really is a performance problem.
+ // Note that we could calculate this cost once and cache
+ // it in a private form of the event to avoid this if this
+ // really is a performance problem (this could use the
+ // EventInfo thing discussed above).
//
int cost = 0;
Ice::Context::const_iterator q = (*p)->context.find("cost");
@@ -562,19 +591,15 @@ SubscriberLink::queue(bool forwarded, const EventSeq& events)
continue;
}
}
+ ++queued;
_events.push_back(*p);
}
- //
- // If no event was queued, or we're busy then the subscriber
- // doesn't need to be flushed, otherwise it must be.
- //
- if(_busy || s == _events.size())
+ if(_state == SubscriberStateFlushPending || queued == 0)
{
return QueueStateNoFlush;
}
-
- _busy = true;
+ _state = SubscriberStateFlushPending;
return QueueStateFlush;
}
@@ -588,13 +613,13 @@ SubscriberLink::flush()
//
// If the subscriber errored out then we're done.
//
- if(_state != StateActive)
+ if(_state == SubscriberStateError)
{
- _busy = false;
return false;
}
+
+ assert(_state == SubscriberStateFlushPending);
assert(!_events.empty());
- assert(_busy);
v.swap(_events);
}
@@ -609,18 +634,62 @@ SubscriberLink::response()
{
{
IceUtil::Mutex::Lock sync(_mutex);
+
+ assert(_state == SubscriberStateFlushPending);
- assert(_state == StateActive && _busy);
-
+ //
+ // A successful response means we're no longer retrying, we're
+ // back active.
+ //
+ _warn = true;
+
+ //
+ // No more events, no need to requeue this subscriber.
+ //
if(_events.empty())
{
- _busy = false;
+ _state = SubscriberStateOnline;
return;
}
}
_instance->subscriberPool()->flush(this);
}
+void
+SubscriberLink::offline(const Ice::Exception& e)
+{
+ IceUtil::Mutex::Lock sync(_mutex);
+ if(_state != SubscriberStateOffline)
+ {
+ _next = IceUtil::Time::now() + _instance->discardInterval();
+
+ TraceLevelsPtr traceLevels = _instance->traceLevels();
+ if(_warn)
+ {
+ Ice::Warning warn(traceLevels->logger);
+ warn << traceLevels->subscriberCat << ":" << _instance->communicator()->identityToString(_id)
+ << ": link offline: " << e;
+ }
+ else
+ {
+ if(traceLevels->subscriber > 0)
+ {
+ Ice::Trace out(traceLevels->logger, traceLevels->subscriberCat);
+ out << _instance->communicator()->identityToString(_id) << ": link offline: " << e
+ << " discarding events: " << _instance->discardInterval() << "s";
+ }
+ }
+
+ _state = SubscriberStateOffline;
+ _warn = false;
+
+ //
+ // Clear all queued events.
+ //
+ _events.clear();
+ }
+}
+
SubscriberPtr
Subscriber::create(
const InstancePtr& instance,
@@ -632,6 +701,7 @@ Subscriber::create(
TraceLevelsPtr traceLevels = instance->traceLevels();
SubscriberPtr subscriber;
+
try
{
string reliability = "oneway";
@@ -640,28 +710,45 @@ Subscriber::create(
{
reliability = p->second;
}
+
+ //
+ // Override the timeout.
+ //
Ice::ObjectPrx newObj;
+ try
+ {
+ newObj = obj->ice_timeout(instance->sendTimeout());
+ }
+ catch(const Ice::FixedProxyException&)
+ {
+ //
+ // In the event IceStorm is collocated this could be a
+ // fixed proxy in which case its not possible to set the
+ // timeout.
+ //
+ newObj = obj;
+ }
if(reliability == "batch")
{
- if(obj->ice_isDatagram())
+ if(newObj->ice_isDatagram())
{
- newObj = obj->ice_batchDatagram();
+ newObj = newObj->ice_batchDatagram();
}
else
{
- newObj = obj->ice_batchOneway();
+ newObj = newObj->ice_batchOneway();
}
subscriber = new SubscriberOneway(instance, proxy, newObj, true);
}
else if(reliability == "twoway")
{
- newObj = obj->ice_twoway();
+ newObj = newObj->ice_twoway();
subscriber = new SubscriberTwoway(instance, proxy, newObj);
}
else if(reliability == "twoway ordered")
{
- newObj = obj->ice_twoway();
+ newObj = newObj->ice_twoway();
subscriber = new SubscriberTwowayOrdered(instance, proxy, newObj);
}
else // reliability == "oneway"
@@ -671,13 +758,9 @@ Subscriber::create(
Ice::Trace out(traceLevels->logger, traceLevels->subscriberCat);
out << reliability <<" mode not understood.";
}
- if(obj->ice_isDatagram())
- {
- newObj = obj;
- }
- else
+ if(!newObj->ice_isDatagram())
{
- newObj = obj->ice_oneway();
+ newObj = newObj->ice_oneway();
}
subscriber = new SubscriberOneway(instance, proxy, newObj, false);
}
@@ -705,23 +788,6 @@ Subscriber::~Subscriber()
{
}
-void
-Subscriber::reachable()
-{
- IceUtil::Mutex::Lock sync(_mutex);
- if(_state == StateUnreachable)
- {
- _state = StateActive;
-
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- if(traceLevels->subscriber > 0)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->subscriberCat);
- out << "Reachable " << _instance->communicator()->identityToString(id());
- }
- }
-}
-
Ice::ObjectPrx
Subscriber::proxy() const
{
@@ -745,22 +811,17 @@ Subscriber::queue(bool, const EventSeq& events)
{
IceUtil::Mutex::Lock sync(_mutex);
- if(_state != StateActive)
+ if(_state == SubscriberStateError)
{
return QueueStateError;
}
-
copy(events.begin(), events.end(), back_inserter(_events));
-
- //
- // If another thread is busy delivering events then the subscriber
- // does not need to be flushed.
- //
- if(_busy)
+ if(_state == SubscriberStateFlushPending)
{
return QueueStateNoFlush;
}
- _busy = true;
+
+ _state = SubscriberStateFlushPending;
return QueueStateFlush;
}
@@ -807,13 +868,13 @@ Subscriber::pollMaxFlushTime(const IceUtil::Time& now)
}
void
-Subscriber::setError(const Ice::Exception& e)
+Subscriber::error(const Ice::Exception& e)
{
IceUtil::Mutex::Lock sync(_mutex);
- if(_state != StateError)
+ if(_state != SubscriberStateError)
{
- _state = StateError;
- _busy = false;
+ _state = SubscriberStateError;
+ _events.clear();
TraceLevelsPtr traceLevels = _instance->traceLevels();
if(traceLevels->subscriber > 0)
@@ -824,24 +885,6 @@ Subscriber::setError(const Ice::Exception& e)
}
}
-void
-Subscriber::setUnreachable(const Ice::Exception& e)
-{
- IceUtil::Mutex::Lock sync(_mutex);
- if(_state != StateUnreachable)
- {
- _state = StateUnreachable;
- _busy = false;
-
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- if(traceLevels->subscriber > 0)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->subscriberCat);
- out << _instance->communicator()->identityToString(_id) << ": link publish unreachable: " << e;
- }
- }
-}
-
Subscriber::Subscriber(
const InstancePtr& instance,
const Ice::ObjectPrx& proxy,
@@ -851,8 +894,7 @@ Subscriber::Subscriber(
_id(id),
_persistent(persistent),
_proxy(proxy),
- _state(StateActive),
- _busy(false),
+ _state(SubscriberStateOnline),
_resetMax(true),
_maxSend(IceUtil::Time::seconds(60*24)) // A long time
{
@@ -864,3 +906,21 @@ IceStorm::operator==(const SubscriberPtr& subscriber, const Ice::Identity& id)
return subscriber->id() == id;
}
+bool
+IceStorm::operator==(const Subscriber& s1, const Subscriber& s2)
+{
+ return &s1 == &s2;
+}
+
+bool
+IceStorm::operator!=(const Subscriber& s1, const Subscriber& s2)
+{
+ return &s1 != &s2;
+}
+
+bool
+IceStorm::operator<(const Subscriber& s1, const Subscriber& s2)
+{
+ return &s1 < &s2;
+}
+
diff --git a/cpp/src/IceStorm/Subscriber.h b/cpp/src/IceStorm/Subscriber.h
index ac1fb7bbb19..580bef03cbb 100644
--- a/cpp/src/IceStorm/Subscriber.h
+++ b/cpp/src/IceStorm/Subscriber.h
@@ -31,7 +31,6 @@ public:
~Subscriber();
- void reachable();
Ice::ObjectPrx proxy() const;
Ice::Identity id() const;
bool persistent() const;
@@ -56,8 +55,7 @@ public:
void flushTime(const IceUtil::Time&);
IceUtil::Time pollMaxFlushTime(const IceUtil::Time&);
- void setError(const Ice::Exception&);
- void setUnreachable(const Ice::Exception&);
+ void error(const Ice::Exception&);
protected:
@@ -71,26 +69,15 @@ protected:
IceUtil::Mutex _mutex;
- enum State
+ enum SubscriberState
{
- //
- // The Subscriber is active.
- //
- StateActive,
- //
- // The Subscriber encountered an error during event
- // transmission.
- //
- StateError,
- //
- // The Subscriber is no longer reachable.
- //
- StateUnreachable
+ SubscriberStateOnline,
+ SubscriberStateFlushPending,
+ SubscriberStateOffline,
+ SubscriberStateError
};
- State _state;
-
- bool _busy;
- EventSeq _events;
+ SubscriberState _state; // The subscriber state.
+ EventSeq _events; // The queue of events to send.
//
// Not protected by _mutex. These members are protected by the
@@ -101,6 +88,9 @@ protected:
};
bool operator==(const IceStorm::SubscriberPtr&, const Ice::Identity&);
+bool operator==(const IceStorm::Subscriber&, const IceStorm::Subscriber&);
+bool operator!=(const IceStorm::Subscriber&, const IceStorm::Subscriber&);
+bool operator<(const IceStorm::Subscriber&, const IceStorm::Subscriber&);
}
diff --git a/cpp/src/IceStorm/SubscriberPool.cpp b/cpp/src/IceStorm/SubscriberPool.cpp
index 4f1e568583c..ee3865bc74d 100644
--- a/cpp/src/IceStorm/SubscriberPool.cpp
+++ b/cpp/src/IceStorm/SubscriberPool.cpp
@@ -45,7 +45,7 @@ public:
bool computeInterval = false;
while(true)
{
- sub = _manager->dequeue(sub, requeue, interval, computeInterval);
+ _manager->dequeue(sub, requeue, interval, computeInterval);
if(!sub)
{
return;
@@ -154,15 +154,14 @@ SubscriberPoolMonitor::destroy()
SubscriberPool::SubscriberPool(const InstancePtr& instance) :
_instance(instance),
- _sizeMax(instance->properties()->getPropertyAsIntWithDefault(
- "IceStorm.SubscriberPool.SizeMax", 0)),
- _sizeWarn(instance->properties()->getPropertyAsIntWithDefault(
- "IceStorm.SubscriberPool.SizeWarn", 0)),
- _size(instance->properties()->getPropertyAsIntWithDefault(
- "IceStorm.SubscriberPool.Size", 1)),
+ _sizeMax(instance->properties()->getPropertyAsIntWithDefault("IceStorm.SubscriberPool.SizeMax", 0)),
+ _sizeWarn(instance->properties()->getPropertyAsIntWithDefault("IceStorm.SubscriberPool.SizeWarn", 0)),
+ _size(instance->properties()->getPropertyAsIntWithDefault("IceStorm.SubscriberPool.Size", 1)),
+ // minimum 50ms, default 1s.
_timeout(IceUtil::Time::milliSeconds(max(instance->properties()->getPropertyAsIntWithDefault(
- "IceStorm.SubscriberPool.Timeout", 250), 50))), // minimum 50ms.
- _stallCheck(_timeout * 10), // 10 * the stall timeout.
+ "IceStorm.SubscriberPool.Timeout", 1000), 50))),
+ // 10 * the stall timeout.
+ _stallCheck(_timeout * 10),
_destroy(false),
_reap(0)
{
@@ -202,6 +201,7 @@ SubscriberPool::flush(list<SubscriberPtr>& subscribers)
// Splice on the new set of subscribers to SubscriberPool.
//
_pending.splice(_pending.end(), subscribers);
+ assert(invariants());
notifyAll();
}
@@ -210,6 +210,7 @@ SubscriberPool::flush(const SubscriberPtr& subscriber)
{
Lock sync(*this);
_pending.push_back(subscriber);
+ assert(invariants());
notify();
}
@@ -218,6 +219,7 @@ SubscriberPool::add(const SubscriberPtr& subscriber)
{
Lock sync(*this);
_subscribers.push_back(subscriber);
+ assert(invariants());
}
void
@@ -230,38 +232,32 @@ SubscriberPool::remove(const SubscriberPtr& subscriber)
// its quite possible to have two subscribers with the same id in
// the list.
//
- list<SubscriberPtr>::iterator p = _subscribers.begin();
- while(p != _subscribers.end())
- {
- if((*p).get() == subscriber.get())
- {
- _subscribers.erase(p);
- return;
- }
- ++p;
- }
-
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- Ice::Error err(traceLevels->logger);
- err << "SubscriberPool: subscriber not found: " << _instance->communicator()->identityToString(subscriber->id());
+ list<SubscriberPtr>::iterator p = find(_subscribers.begin(), _subscribers.end(), subscriber);
+ assert(p != _subscribers.end());
+ _subscribers.erase(p);
}
//
// The passed subscriber need to be enqueued again.
//
-SubscriberPtr
-SubscriberPool::dequeue(const SubscriberPtr& sub, bool requeue, const IceUtil::Time& interval, bool& computeInterval)
+void
+SubscriberPool::dequeue(SubscriberPtr& subscriber, bool requeue, const IceUtil::Time& interval, bool& computeInterval)
{
Lock sync(*this);
- if(sub)
+ if(subscriber)
{
if(requeue)
{
- _pending.push_back(sub);
+ _pending.push_back(subscriber);
+ assert(invariants());
}
- sub->flushTime(interval);
+ subscriber->flushTime(interval);
}
+ //
+ // Clear the reference.
+ //
+ subscriber = 0;
//
// The worker is no longer in use.
@@ -351,7 +347,7 @@ SubscriberPool::dequeue(const SubscriberPtr& sub, bool requeue, const IceUtil::T
out << "destroying workers";
}
++_reap;
- return 0;
+ return;
}
}
}
@@ -368,12 +364,12 @@ SubscriberPool::dequeue(const SubscriberPtr& sub, bool requeue, const IceUtil::T
if(_destroy)
{
- return 0;
+ return;
}
_lastDequeue = IceUtil::Time::now();
- SubscriberPtr subscriber = _pending.front();
+ subscriber = _pending.front();
_pending.pop_front();
++_inUse;
@@ -395,7 +391,6 @@ SubscriberPool::dequeue(const SubscriberPtr& sub, bool requeue, const IceUtil::T
// stall threads.
//
computeInterval = (_workers.size() - _size) > 0;
- return subscriber;
}
void
@@ -477,3 +472,22 @@ SubscriberPool::check()
_workers.push_back(new SubscriberPoolWorker(this));
}
}
+
+bool
+SubscriberPool::invariants()
+{
+ set<SubscriberPtr> subs;
+ list<SubscriberPtr>::const_iterator p;
+ for(p = _subscribers.begin(); p != _subscribers.end(); ++p)
+ {
+ assert(subs.find(*p) == subs.end());
+ subs.insert(*p);
+ }
+ subs.clear();
+ for(p = _pending.begin(); p != _pending.end(); ++p)
+ {
+ assert(subs.find(*p) == subs.end());
+ subs.insert(*p);
+ }
+ return true;
+}
diff --git a/cpp/src/IceStorm/SubscriberPool.h b/cpp/src/IceStorm/SubscriberPool.h
index 372aa2917a3..0fd2855d548 100644
--- a/cpp/src/IceStorm/SubscriberPool.h
+++ b/cpp/src/IceStorm/SubscriberPool.h
@@ -71,13 +71,15 @@ public:
//
// For use by the subscriber worker.
//
- SubscriberPtr dequeue(const SubscriberPtr&, bool, const IceUtil::Time&, bool&);
+ void dequeue(SubscriberPtr&, bool, const IceUtil::Time&, bool&);
//
// For use by the monitor.
//
void check();
private:
+
+ bool invariants();
const InstancePtr _instance;
const unsigned int _sizeMax;
diff --git a/cpp/src/IceStorm/TopicI.cpp b/cpp/src/IceStorm/TopicI.cpp
index 422cafc5615..b00bbc2ab45 100644
--- a/cpp/src/IceStorm/TopicI.cpp
+++ b/cpp/src/IceStorm/TopicI.cpp
@@ -12,7 +12,6 @@
#include <IceStorm/Subscriber.h>
#include <IceStorm/TraceLevels.h>
#include <IceStorm/Event.h>
-#include <IceStorm/KeepAliveThread.h>
#include <IceStorm/SubscriberPool.h>
#include <Ice/LoggerUtil.h>
@@ -94,26 +93,6 @@ private:
const TopicIPtr _topic;
};
-class TopicUpstreamLinkI : public TopicUpstreamLink
-{
-public:
-
- TopicUpstreamLinkI(const SubscriberPtr& subscriber) :
- _subscriber(subscriber)
- {
- }
-
- virtual void
- keepAlive(const Ice::Current&)
- {
- _subscriber->reachable();
- }
-
-private:
-
- const SubscriberPtr _subscriber;
-};
-
}
TopicI::TopicI(
@@ -127,7 +106,6 @@ TopicI::TopicI(
_connection(Freeze::createConnection(instance->communicator(), envName)),
_topics(_connection, dbName, false),
_topicRecord(topicRecord),
- _upstream(_connection, "upstream", false),
_destroyed(false)
{
//
@@ -161,38 +139,13 @@ TopicI::TopicI(
}
//
- // Create the subscriber object and the upstream servant and
- // add it to the set of subscribers.
+ // Create the subscriber object add it to the set of
+ // subscribers.
//
SubscriberPtr subscriber = Subscriber::create(_instance, p->second.obj, p->second.cost);
- TopicUpstreamLinkPrx upstream = TopicUpstreamLinkPrx::uncheckedCast(
- _instance->objectAdapter()->add(
- new TopicUpstreamLinkI(subscriber), p->second.upstream->ice_getIdentity()));
_subscribers.push_back(subscriber);
_instance->subscriberPool()->add(subscriber);
}
-
- PersistentUpstreamMap::const_iterator upI = _upstream.find(_name);
- if(upI != _upstream.end())
- {
- //
- // This record should really be there, but its possible for it
- // not to be in the event of a crash in between the add of the
- // topic record and the add of the upstream record.
- //
- _upstreamRecord = upI->second;
- }
-
- for(TopicUpstreamLinkPrxSeq::const_iterator q = _upstreamRecord.begin(); q != _upstreamRecord.end(); ++q)
- {
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- if(traceLevels->topic > 0)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->topicCat);
- out << _name << " upstream " << _instance->communicator()->identityToString((*q)->ice_getIdentity());
- }
- _instance->keepAlive()->add(*q);
- }
}
string
@@ -340,8 +293,7 @@ TopicI::getLinkProxy(const Ice::Current&)
void
TopicI::link(const TopicPrx& topic, Ice::Int cost, const Ice::Current&)
{
- string name = topic->getName();
- TopicInternalPrx internal = TopicInternalPrx::checkedCast(topic);
+ TopicInternalPrx internal = TopicInternalPrx::uncheckedCast(topic);
TopicLinkPrx link = internal->getLinkProxy();
IceUtil::RecMutex::Lock topicSync(_topicRecordMutex);
@@ -352,6 +304,8 @@ TopicI::link(const TopicPrx& topic, Ice::Int cost, const Ice::Current&)
reap();
+ string name = topic->ice_getIdentity().name;
+
if(_topicRecord.find(name) != _topicRecord.end())
{
LinkExists ex;
@@ -367,47 +321,14 @@ TopicI::link(const TopicPrx& topic, Ice::Int cost, const Ice::Current&)
}
SubscriberPtr subscriber = Subscriber::create(_instance, link, cost);
- TopicUpstreamLinkPrx upstream;
- try
- {
- upstream = TopicUpstreamLinkPrx::uncheckedCast(
- _instance->objectAdapter()->addWithUUID(new TopicUpstreamLinkI(subscriber)));
- }
- catch(const Ice::ObjectAdapterDeactivatedException&)
- {
- subscriber->destroy();
- throw;
- }
//
- // Notify the downstream topic that it is now linked. For linking
- // we use the "notify & save" strategy. This is important because
- // if there is a failure after the notify and before the save then
- // the downstream service will detect that the topic upstream link
- // does not exist and correctly clean up. If we saved and then
- // notified we could have a downstream linked client that does not
- // know it is in fact linked -- and this is not easily detectable.
- //
- try
- {
- internal->linkNotification(_name, upstream);
- }
- catch(const Ice::Exception&)
- {
- // Cleanup.
- _instance->objectAdapter()->remove(upstream->ice_getIdentity());
- subscriber->destroy();
- throw;
- }
-
- //
// Create the LinkRecord
//
LinkRecord record;
record.obj = link;
record.cost = cost;
record.theTopic = topic;
- record.upstream = upstream;
//
// Save
@@ -423,12 +344,6 @@ TopicI::link(const TopicPrx& topic, Ice::Int cost, const Ice::Current&)
void
TopicI::unlink(const TopicPrx& topic, const Ice::Current& current)
{
- unlinkByName(topic->getName(), current);
-}
-
-void
-TopicI::unlinkByName(const string& name, const Ice::Current&)
-{
IceUtil::RecMutex::Lock topicSync(_topicRecordMutex);
if(_destroyed)
{
@@ -436,6 +351,8 @@ TopicI::unlinkByName(const string& name, const Ice::Current&)
}
reap();
+
+ string name = topic->ice_getIdentity().name;
LinkRecordDict::iterator q = _topicRecord.find(name);
if(q == _topicRecord.end())
@@ -452,18 +369,7 @@ TopicI::unlinkByName(const string& name, const Ice::Current&)
throw ex;
}
- //
- // First save and then notify. unlinking we use the "save &
- // notify" strategy. This is important because if there is a
- // failure after the save and before the notify then the
- // downstream service will detect that the topic upstream link
- // does not exist and correctly clean up.
- //
-
- //
- // Copy the record first because we use it after the save.
- //
- LinkRecord rec = q->second;
+ Ice::ObjectPrx subscriber = q->second.obj;
_topicRecord.erase(q);
//
@@ -471,40 +377,13 @@ TopicI::unlinkByName(const string& name, const Ice::Current&)
//
_topics.put(PersistentTopicMap::value_type(_name, _topicRecord));
- //
- // Remove the TopicUpstreamLink servant.
- //
- try
- {
- _instance->objectAdapter()->remove(rec.upstream->ice_getIdentity());
- }
- catch(const Ice::ObjectAdapterDeactivatedException&)
- {
- // Ignore -- this could occur on shutdown.
- }
-
TraceLevelsPtr traceLevels = _instance->traceLevels();
if(traceLevels->topic > 0)
{
Ice::Trace out(traceLevels->logger, traceLevels->topicCat);
out << _name << " unlink " << name;
}
- removeSubscriber(rec.obj);
-
- TopicInternalPrx internal = TopicInternalPrx::checkedCast(rec.theTopic);
- try
- {
- internal->unlinkNotification(_name, rec.upstream);
- }
- catch(const Ice::Exception& e)
- {
- if(traceLevels->topic > 0)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->topicCat);
- out << _name << " unlinkNotification failed: " << name << ": " << e;
- }
- // Ignore. This will be detected upon a restart.
- }
+ removeSubscriber(subscriber);
}
LinkInfoSeq
@@ -531,13 +410,7 @@ TopicI::getLinkInfoSeq(const Ice::Current&) const
void
TopicI::destroy(const Ice::Current&)
{
- //
- // This method must lock both the record mutexes otherwise we can
- // end up with the database record being re-added if
- // TopicManagerI::reap() is called concurrently with destroy/link.
- //
IceUtil::RecMutex::Lock sync(_topicRecordMutex);
- IceUtil::RecMutex::Lock sync2(_upstreamRecordMutex);
if(_destroyed)
{
@@ -556,59 +429,6 @@ TopicI::destroy(const Ice::Current&)
}
}
-void
-TopicI::linkNotification(const string& name, const TopicUpstreamLinkPrx& upstream, const Ice::Current&)
-{
- IceUtil::RecMutex::Lock topicSync(_upstreamRecordMutex);
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__);
- }
-
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- if(traceLevels->topic > 0)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->topicCat);
- out << _name << " linkNotification " << name;
- }
-
- _upstreamRecord.push_back(upstream);
- _instance->keepAlive()->add(upstream);
-
- //
- // Save
- //
- _upstream.put(PersistentUpstreamMap::value_type(_name, _upstreamRecord));
-}
-
-void
-TopicI::unlinkNotification(const string& name, const TopicUpstreamLinkPrx& upstream, const Ice::Current&)
-{
- IceUtil::RecMutex::Lock topicSync(_upstreamRecordMutex);
- if(_destroyed)
- {
- throw Ice::ObjectNotExistException(__FILE__, __LINE__);
- }
- TraceLevelsPtr traceLevels = _instance->traceLevels();
- if(traceLevels->topic > 0)
- {
- Ice::Trace out(traceLevels->logger, traceLevels->topicCat);
- out << _name << " unlinkNotification " << name;
- }
-
- TopicUpstreamLinkPrxSeq::iterator p = find(_upstreamRecord.begin(), _upstreamRecord.end(), upstream);
- if(p != _upstreamRecord.end())
- {
- _upstreamRecord.erase(p);
- }
- _instance->keepAlive()->remove(upstream);
-
- //
- // Save
- //
- _upstream.put(PersistentUpstreamMap::value_type(_name, _upstreamRecord));
-}
-
bool
TopicI::destroyed() const
{
@@ -663,23 +483,6 @@ TopicI::reap()
_topics.put(PersistentTopicMap::value_type(_name, _topicRecord));
}
}
-
- //
- // Now reap any dead upstream topics.
- //
- {
- IceUtil::RecMutex::Lock topicSync(_upstreamRecordMutex);
- if(_destroyed)
- {
- return;
- }
-
- if(_instance->keepAlive()->filter(_upstreamRecord))
- {
- // Save.
- _upstream.put(PersistentUpstreamMap::value_type(_name, _upstreamRecord));
- }
- }
}
void
diff --git a/cpp/src/IceStorm/TopicI.h b/cpp/src/IceStorm/TopicI.h
index 7b9c39b1d90..ad8d4c14fc0 100644
--- a/cpp/src/IceStorm/TopicI.h
+++ b/cpp/src/IceStorm/TopicI.h
@@ -13,7 +13,6 @@
#include <IceUtil/RecMutex.h>
#include <IceStorm/IceStormInternal.h>
#include <IceStorm/PersistentTopicMap.h>
-#include <IceStorm/PersistentUpstreamMap.h>
#include <IceStorm/Event.h>
#include <list>
@@ -40,13 +39,9 @@ public:
virtual TopicLinkPrx getLinkProxy(const Ice::Current&);
virtual void link(const TopicPrx&, Ice::Int, const Ice::Current&);
virtual void unlink(const TopicPrx&, const Ice::Current&);
- virtual void unlinkByName(const std::string&, const Ice::Current&);
virtual LinkInfoSeq getLinkInfoSeq(const Ice::Current&) const;
virtual void destroy(const Ice::Current&);
- virtual void linkNotification(const std::string&, const TopicUpstreamLinkPrx&, const Ice::Current&);
- virtual void unlinkNotification(const std::string&, const TopicUpstreamLinkPrx&, const Ice::Current&);
-
// Internal methods
bool destroyed() const;
@@ -68,6 +63,7 @@ private:
// Set of subscribers.
IceUtil::Mutex _subscribersMutex;
+
//
// We keep a vector of subscribers since the optimized behaviour
// should be publishing events, not searching through the list of
@@ -88,12 +84,6 @@ private:
PersistentTopicMap _topics;
IceStorm::LinkRecordDict _topicRecord;
- // The set of upstream topics.
- IceUtil::RecMutex _upstreamRecordMutex;
- PersistentUpstreamMap _upstream;
- IceStorm::TopicUpstreamLinkPrxSeq _upstreamRecord;
-
- // Protected by either _upstreamRecordMutex or _topicRecordMutex
bool _destroyed; // Has this Topic been destroyed?
};
typedef IceUtil::Handle<TopicI> TopicIPtr;
diff --git a/cpp/src/IceStorm/TopicManagerI.cpp b/cpp/src/IceStorm/TopicManagerI.cpp
index 7aef0b56252..fe9ef2c88d6 100644
--- a/cpp/src/IceStorm/TopicManagerI.cpp
+++ b/cpp/src/IceStorm/TopicManagerI.cpp
@@ -12,7 +12,6 @@
#include <IceStorm/SubscriberPool.h>
#include <IceStorm/BatchFlusher.h>
#include <IceStorm/TraceLevels.h>
-#include <IceStorm/KeepAliveThread.h>
#include <IceStorm/Instance.h>
#include <Freeze/Initialize.h>
@@ -35,8 +34,7 @@ TopicManagerI::TopicManagerI(
_envName(envName),
_dbName(dbName),
_connection(Freeze::createConnection(instance->communicator(), envName)),
- _topics(_connection, dbName),
- _upstream(_connection, "upstream")
+ _topics(_connection, dbName)
{
//
// Recreate each of the topics in the persistent map
@@ -62,7 +60,6 @@ TopicManagerI::create(const string& name, const Ice::Current&)
}
_topics.put(PersistentTopicMap::value_type(name, LinkRecordDict()));
- _upstream.put(PersistentUpstreamMap::value_type(name, TopicUpstreamLinkPrxSeq()));
installTopic(name, LinkRecordDict(), true);
//
@@ -157,8 +154,6 @@ TopicManagerI::reap()
_topics.erase(i->first);
- _upstream.erase(i->first);
-
try
{
Ice::Identity id;
diff --git a/cpp/src/IceStorm/TopicManagerI.h b/cpp/src/IceStorm/TopicManagerI.h
index 1dca1979716..a1ad7ee9fd8 100644
--- a/cpp/src/IceStorm/TopicManagerI.h
+++ b/cpp/src/IceStorm/TopicManagerI.h
@@ -12,7 +12,6 @@
#include <IceStorm/IceStorm.h>
#include <IceStorm/PersistentTopicMap.h>
-#include <IceStorm/PersistentUpstreamMap.h>
namespace IceStorm
{
@@ -63,7 +62,6 @@ private:
const std::string _dbName;
const Freeze::ConnectionPtr _connection;
PersistentTopicMap _topics;
- PersistentUpstreamMap _upstream;
TopicIMap _topicIMap;
};
diff --git a/cpp/test/IceGrid/session/.depend b/cpp/test/IceGrid/session/.depend
index 1364348c00b..71c5ae1df7b 100644
--- a/cpp/test/IceGrid/session/.depend
+++ b/cpp/test/IceGrid/session/.depend
@@ -1,4 +1,4 @@
-Client$(OBJEXT): Client.cpp ../../../include/Ice/Ice.h ../../../include/Ice/GCRecMutex.h ../../../include/IceUtil/RecMutex.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Config.h ../../../include/Ice/GCShared.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GC.h ../../../include/IceUtil/Thread.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../include/TestCommon.h
-AllTests$(OBJEXT): AllTests.cpp ../../../include/IceUtil/Thread.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/Ice/Ice.h ../../../include/Ice/GCRecMutex.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Config.h ../../../include/Ice/GCShared.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GC.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../../include/IceGrid/Registry.h ../../../include/IceGrid/Exception.h ../../../include/IceGrid/Session.h ../../../include/Glacier2/Session.h ../../../include/Glacier2/SSLInfo.h ../../../include/IceGrid/Admin.h ../../../include/Ice/SliceChecksumDict.h ../../../include/IceGrid/Descriptor.h ../../../include/IceGrid/Query.h ../../../include/IceGrid/Observer.h ../../../include/Glacier2/Router.h ../../../include/Ice/Router.h ../../include/TestCommon.h
-PermissionsVerifier$(OBJEXT): PermissionsVerifier.cpp ../../../include/Ice/Ice.h ../../../include/Ice/GCRecMutex.h ../../../include/IceUtil/RecMutex.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Config.h ../../../include/Ice/GCShared.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GC.h ../../../include/IceUtil/Thread.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../../include/Glacier2/PermissionsVerifier.h ../../../include/Glacier2/SSLInfo.h ../../../include/IceSSL/Plugin.h ../../../include/Ice/Plugin.h
-Server$(OBJEXT): Server.cpp ../../../include/Ice/Ice.h ../../../include/Ice/GCRecMutex.h ../../../include/IceUtil/RecMutex.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Config.h ../../../include/Ice/GCShared.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GC.h ../../../include/IceUtil/Thread.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../../include/Glacier2/PermissionsVerifier.h ../../../include/Glacier2/SSLInfo.h ../../../include/IceSSL/Plugin.h ../../../include/Ice/Plugin.h ../../include/TestCommon.h
+Client$(OBJEXT): Client.cpp ../../../include/Ice/Ice.h ../../../include/Ice/GCRecMutex.h ../../../include/IceUtil/RecMutex.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Config.h ../../../include/Ice/GCShared.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GC.h ../../../include/IceUtil/Thread.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../include/TestCommon.h
+AllTests$(OBJEXT): AllTests.cpp ../../../include/IceUtil/Thread.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Ice.h ../../../include/Ice/GCRecMutex.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Config.h ../../../include/Ice/GCShared.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GC.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../../include/IceGrid/Registry.h ../../../include/IceGrid/Exception.h ../../../include/IceGrid/Session.h ../../../include/Glacier2/Session.h ../../../include/Glacier2/SSLInfo.h ../../../include/IceGrid/Admin.h ../../../include/Ice/SliceChecksumDict.h ../../../include/IceGrid/Descriptor.h ../../../include/IceGrid/Query.h ../../../include/IceGrid/Observer.h ../../../include/Glacier2/Router.h ../../../include/Ice/Router.h ../../include/TestCommon.h
+PermissionsVerifier$(OBJEXT): PermissionsVerifier.cpp ../../../include/Ice/Ice.h ../../../include/Ice/GCRecMutex.h ../../../include/IceUtil/RecMutex.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Config.h ../../../include/Ice/GCShared.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GC.h ../../../include/IceUtil/Thread.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../../include/Glacier2/PermissionsVerifier.h ../../../include/Glacier2/SSLInfo.h ../../../include/IceSSL/Plugin.h ../../../include/Ice/Plugin.h
+Server$(OBJEXT): Server.cpp ../../../include/Ice/Ice.h ../../../include/Ice/GCRecMutex.h ../../../include/IceUtil/RecMutex.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Config.h ../../../include/Ice/GCShared.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GC.h ../../../include/IceUtil/Thread.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../../include/Glacier2/PermissionsVerifier.h ../../../include/Glacier2/SSLInfo.h ../../../include/IceSSL/Plugin.h ../../../include/Ice/Plugin.h ../../include/TestCommon.h