diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2007-01-17 18:11:11 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2007-01-17 18:11:11 +0000 |
commit | e124e693704faa56ecf32ce2a243d0c3fa3a5e6e (patch) | |
tree | 071dcaa6edc458f9371289976a4537880e5bb005 /cpp | |
parent | Changed async demo (diff) | |
download | ice-e124e693704faa56ecf32ce2a243d0c3fa3a5e6e.tar.bz2 ice-e124e693704faa56ecf32ce2a243d0c3fa3a5e6e.tar.xz ice-e124e693704faa56ecf32ce2a243d0c3fa3a5e6e.zip |
Changed demo
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/demo/Ice/async/.depend | 14 | ||||
-rw-r--r-- | cpp/demo/Ice/async/Client.cpp | 134 | ||||
-rw-r--r-- | cpp/demo/Ice/async/Consumer.cpp | 150 | ||||
-rw-r--r-- | cpp/demo/Ice/async/Hello.ice (renamed from cpp/demo/Ice/async/Queue.ice) | 14 | ||||
-rw-r--r-- | cpp/demo/Ice/async/HelloI.cpp | 43 | ||||
-rw-r--r-- | cpp/demo/Ice/async/HelloI.h | 31 | ||||
-rw-r--r-- | cpp/demo/Ice/async/Makefile | 27 | ||||
-rw-r--r-- | cpp/demo/Ice/async/Makefile.mak | 29 | ||||
-rw-r--r-- | cpp/demo/Ice/async/Publisher.cpp | 100 | ||||
-rw-r--r-- | cpp/demo/Ice/async/QueueI.cpp | 110 | ||||
-rw-r--r-- | cpp/demo/Ice/async/QueueI.h | 38 | ||||
-rw-r--r-- | cpp/demo/Ice/async/README | 14 | ||||
-rw-r--r-- | cpp/demo/Ice/async/Server.cpp | 44 | ||||
-rw-r--r-- | cpp/demo/Ice/async/WorkQueue.cpp | 107 | ||||
-rw-r--r-- | cpp/demo/Ice/async/WorkQueue.h | 46 | ||||
-rw-r--r-- | cpp/demo/Ice/async/asyncC.dsp | 24 | ||||
-rw-r--r-- | cpp/demo/Ice/async/asyncP.dsp | 157 | ||||
-rw-r--r-- | cpp/demo/Ice/async/asyncS.dsp | 34 | ||||
-rw-r--r-- | cpp/demo/Ice/async/config.client | 2 | ||||
-rw-r--r-- | cpp/demo/Ice/async/config.server | 4 |
20 files changed, 476 insertions, 646 deletions
diff --git a/cpp/demo/Ice/async/.depend b/cpp/demo/Ice/async/.depend index 3801703d655..29ad1ff08b0 100644 --- a/cpp/demo/Ice/async/.depend +++ b/cpp/demo/Ice/async/.depend @@ -1,7 +1,7 @@ -Queue$(OBJEXT): Queue.cpp ./Queue.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/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.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/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/IceUtil/RecMutex.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/BuiltinSequences.h ../../../include/Ice/LocalException.h ../../../include/Ice/ObjectFactory.h ../../../include/IceUtil/Iterator.h ../../../include/IceUtil/ScopedArray.h -Consumer$(OBJEXT): Consumer.cpp ../../../include/Ice/Application.h ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.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/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/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.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/GCShared.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/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.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/IceUtil/UUID.h ./Queue.h -QueueI$(OBJEXT): QueueI.cpp ./QueueI.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ./Queue.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/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/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/IceUtil/RecMutex.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/BuiltinSequences.h -Server$(OBJEXT): Server.cpp ./QueueI.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ./Queue.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/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/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/IceUtil/RecMutex.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/BuiltinSequences.h ../../../include/Ice/Application.h ../../../include/Ice/Ice.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/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 -Publisher$(OBJEXT): Publisher.cpp ../../../include/Ice/Application.h ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.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/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/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.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/GCShared.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/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.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 ./Queue.h -Queue.cpp: Queue.ice ../../../slice/Ice/BuiltinSequences.ice -Queue.ice: $(SLICE2CPP) $(SLICEPARSERLIB) +Hello$(OBJEXT): Hello.cpp ./Hello.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/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.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/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/IceUtil/RecMutex.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/LocalException.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/ObjectFactory.h ../../../include/IceUtil/Iterator.h ../../../include/IceUtil/ScopedArray.h +Client$(OBJEXT): Client.cpp ../../../include/Ice/Application.h ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.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/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/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.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/GCShared.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/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.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 ./Hello.h +HelloI$(OBJEXT): HelloI.cpp ./HelloI.h ./Hello.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/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.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/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/IceUtil/RecMutex.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 ./WorkQueue.h ../../../include/IceUtil/Thread.h ../../../include/Ice/Ice.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/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 +Server$(OBJEXT): Server.cpp ./HelloI.h ./Hello.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/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.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/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/IceUtil/RecMutex.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 ./WorkQueue.h ../../../include/IceUtil/Thread.h ../../../include/Ice/Application.h ../../../include/Ice/Ice.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/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 +WorkQueue$(OBJEXT): WorkQueue.cpp ./WorkQueue.h ./Hello.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/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.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/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/IceUtil/RecMutex.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/IceUtil/Thread.h ../../../include/Ice/LocalException.h ../../../include/Ice/BuiltinSequences.h +Hello.cpp: Hello.ice +Hello.ice: $(SLICE2CPP) $(SLICEPARSERLIB) diff --git a/cpp/demo/Ice/async/Client.cpp b/cpp/demo/Ice/async/Client.cpp new file mode 100644 index 00000000000..cb3e7e862c0 --- /dev/null +++ b/cpp/demo/Ice/async/Client.cpp @@ -0,0 +1,134 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2007 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 <Ice/Application.h> +#include <Hello.h> + +using namespace std; +using namespace Demo; + +class AMI_Hello_sayHelloI : public AMI_Hello_sayHello +{ +public: + + virtual void ice_response() + { + } + + virtual void ice_exception(const Ice::Exception& ex) + { + cerr << ex << endl; + } +}; + +class AsyncClient : public Ice::Application +{ +public: + + virtual int run(int, char*[]); + virtual void interruptCallback(int); + +private: + + void menu(); +}; + +int +main(int argc, char* argv[]) +{ + AsyncClient app; + return app.main(argc, argv, "config.client"); +} + +int +AsyncClient::run(int argc, char* argv[]) +{ + callbackOnInterrupt(); + + HelloPrx hello = HelloPrx::checkedCast(communicator()->propertyToProxy("Hello.Proxy")); + if(!hello) + { + cerr << argv[0] << ": invalid proxy" << endl; + return EXIT_FAILURE; + } + + menu(); + + char c; + do + { + try + { + cout << "==> "; + cin >> c; + if(c == 'i') + { + hello->sayHello(0); + } + else if(c == 'd') + { + hello->sayHello_async(new AMI_Hello_sayHelloI, 5000); + } + else if(c == 's') + { + hello->shutdown(); + } + else if(c == 'x') + { + // Nothing to do + } + else if(c == '?') + { + menu(); + } + else + { + cout << "unknown command `" << c << "'" << endl; + menu(); + } + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + } + } + while(cin.good() && c != 'x'); + + return EXIT_SUCCESS; +} + +void +AsyncClient::interruptCallback(int) +{ + try + { + communicator()->destroy(); + } + catch(const IceUtil::Exception& ex) + { + cerr << appName() << ": " << ex << endl; + } + catch(...) + { + cerr << appName() << ": unknown exception" << endl; + } + exit(EXIT_SUCCESS); +} + +void +AsyncClient::menu() +{ + cout << + "usage:\n" + "i: send immediate greeting\n" + "d: send delayed greeting\n" + "s: shutdown server\n" + "x: exit\n" + "?: help\n"; +} diff --git a/cpp/demo/Ice/async/Consumer.cpp b/cpp/demo/Ice/async/Consumer.cpp deleted file mode 100644 index 0de49d933f7..00000000000 --- a/cpp/demo/Ice/async/Consumer.cpp +++ /dev/null @@ -1,150 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2007 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 <Ice/Application.h> -#include <IceUtil/UUID.h> -#include <Queue.h> -#include <set> - -using namespace std; -using namespace Demo; - -static IceUtil::StaticMutex requestsMutex = ICE_STATIC_MUTEX_INITIALIZER; -static set<string> requests; - -class AMI_Queue_getI : public AMI_Queue_get -{ -public: - AMI_Queue_getI(const string& id) - : _id(id) - { - IceUtil::StaticMutex::Lock lock(requestsMutex); - requests.insert(_id); - } - - virtual void ice_response(const string& message) - { - IceUtil::StaticMutex::Lock lock(requestsMutex); - requests.erase(_id); - - cout << message << endl; - } - - virtual void ice_exception(const ::Ice::Exception& ex) - { - IceUtil::StaticMutex::Lock lock(requestsMutex); - requests.erase(_id); - - cout << ex << endl; - } - -private: - - string _id; -}; - -class QueueConsumer : public Ice::Application -{ -public: - - virtual int run(int, char*[]); - -private: - - void menu(); -}; - -int -main(int argc, char* argv[]) -{ - QueueConsumer app; - return app.main(argc, argv, "config.client"); -} - -int -QueueConsumer::run(int argc, char* argv[]) -{ - QueuePrx queue = QueuePrx::checkedCast(communicator()->propertyToProxy("Queue.Proxy")); - if(!queue) - { - cerr << argv[0] << ": invalid proxy" << endl; - return EXIT_FAILURE; - } - - menu(); - - char c; - do - { - try - { - cout << "==> "; - cin >> c; - if(c == 'g') - { - string id = IceUtil::generateUUID(); - queue->get_async(new AMI_Queue_getI(id), id); - } - else if(c == 'x') - { - // Nothing to do - } - else if(c == '?') - { - menu(); - } - else - { - cout << "unknown command `" << c << "'" << endl; - menu(); - } - } - catch(const Ice::Exception& ex) - { - cerr << ex << endl; - } - } - while(cin.good() && c != 'x'); - - - // - // Cancel any outstanding requests. - // - /* - IceUtil::StaticMutex::Lock lock(requestsMutex); - if(requests.size() != 0) - { - try - { - vector<string> ids(requests.size()); - for(set<string>::iterator p = requests.begin(); p != requests.end(); ++p) - { - ids.push_back(*p); - } - queue->cancel(ids); - } - catch(const Ice::Exception&) - { - // Ignore - } - } - */ - - return EXIT_SUCCESS; -} - -void -QueueConsumer::menu() -{ - cout << - "usage:\n" - "g: get a message\n" - "x: exit\n" - "?: help\n"; -} diff --git a/cpp/demo/Ice/async/Queue.ice b/cpp/demo/Ice/async/Hello.ice index 4408921ef18..8206d953fc7 100644 --- a/cpp/demo/Ice/async/Queue.ice +++ b/cpp/demo/Ice/async/Hello.ice @@ -7,10 +7,8 @@ // // ********************************************************************** -#ifndef QUEUE_ICE -#define QUEUE_ICE - -#include <Ice/BuiltinSequences.ice> +#ifndef HELLO_ICE +#define HELLO_ICE module Demo { @@ -19,14 +17,12 @@ exception RequestCanceledException { }; -interface Queue +interface Hello { - ["ami", "amd"] string get(string id) + ["ami", "amd"] void sayHello(int delay) throws RequestCanceledException; - void add(string message); - - ["amd"] void cancel(Ice::StringSeq ids); + idempotent void shutdown(); }; }; diff --git a/cpp/demo/Ice/async/HelloI.cpp b/cpp/demo/Ice/async/HelloI.cpp new file mode 100644 index 00000000000..4f2779faab6 --- /dev/null +++ b/cpp/demo/Ice/async/HelloI.cpp @@ -0,0 +1,43 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2007 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 <HelloI.h> +#include <Ice/Ice.h> + +using namespace std; + +HelloI::HelloI(const WorkQueuePtr& workQueue) : + _workQueue(workQueue) +{ +} + +void +HelloI::sayHello_async(const Demo::AMD_Hello_sayHelloPtr& cb, int delay, const Ice::Current&) +{ + if(delay == 0) + { + cout << "Hello World!" << endl; + cb->ice_response(); + } + else + { + _workQueue->add(cb, delay); + } +} + +void +HelloI::shutdown(const Ice::Current& curr) +{ + cout << "Shutting down..." << endl; + + _workQueue->destroy(); + _workQueue->getThreadControl().join(); + + curr.adapter->getCommunicator()->shutdown(); +} diff --git a/cpp/demo/Ice/async/HelloI.h b/cpp/demo/Ice/async/HelloI.h new file mode 100644 index 00000000000..9651daa8c8c --- /dev/null +++ b/cpp/demo/Ice/async/HelloI.h @@ -0,0 +1,31 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2007 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 HELLO_I_H +#define HELLO_I_H + +#include <Hello.h> +#include <WorkQueue.h> + +class HelloI : virtual public Demo::Hello +{ +public: + + HelloI(const WorkQueuePtr&); + + virtual void sayHello_async(const Demo::AMD_Hello_sayHelloPtr&, int, const Ice::Current&); + virtual void shutdown(const Ice::Current&); + +private: + + WorkQueuePtr _workQueue; +}; + + +#endif diff --git a/cpp/demo/Ice/async/Makefile b/cpp/demo/Ice/async/Makefile index f83dc805a45..72ca9121890 100644 --- a/cpp/demo/Ice/async/Makefile +++ b/cpp/demo/Ice/async/Makefile @@ -9,37 +9,30 @@ top_srcdir = ../../.. -PUBLISHER = publiser -CONSUMER = consumer +CLIENT = client SERVER = server -TARGETS = $(PUBLISHER) $(CONSUMER) $(SERVER) +TARGETS = $(CLIENT) $(SERVER) -OBJS = Queue.o +OBJS = Hello.o -POBJS = Publisher.o +COBJS = Client.o -COBJS = Consumer.o - -SOBJS = QueueI.o \ - Server.o +SOBJS = HelloI.o \ + Server.o \ + WorkQueue.o SRCS = $(OBJS:.o=.cpp) \ $(COBJS:.o=.cpp) \ - $(SOBJS:.o=.cpp) \ - $(POBJS:.o=.cpp) + $(SOBJS:.o=.cpp) -SLICE_SRCS = Queue.ice +SLICE_SRCS = Hello.ice include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) -$(PUBLISHER): $(OBJS) $(POBJS) - rm -f $@ - $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(POBJS) $(LIBS) - -$(CONSUMER): $(OBJS) $(COBJS) +$(CLIENT): $(OBJS) $(COBJS) rm -f $@ $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(COBJS) $(LIBS) diff --git a/cpp/demo/Ice/async/Makefile.mak b/cpp/demo/Ice/async/Makefile.mak index 30bbbaccc2c..3512aaa2fd3 100644 --- a/cpp/demo/Ice/async/Makefile.mak +++ b/cpp/demo/Ice/async/Makefile.mak @@ -9,46 +9,39 @@ top_srcdir = ..\..\.. -PUBLISHER = publisher.exe -CONSUMER = consumer.exe +CLIENT = client.exe SERVER = server.exe -TARGETS = $(PUBLISHER) $(CONSUMER) $(SERVER) +TARGETS = $(CLIENT) $(SERVER) -OBJS = Queue.obj +OBJS = Hello.obj -POBJS = Publisher.obj +COBJS = Clinet.obj -COBJS = Consumer.obj - -SOBJS = QueueI.obj \ - Server.obj +SOBJS = HelloI.obj \ + Server.obj \ + WorkQueue.obj SRCS = $(OBJS:.obj=.cpp) \ $(COBJS:.obj=.cpp) \ - $(SOBJS:.obj=.cpp) \ - $(POBJS:.obj=.cpp) + $(SOBJS:.obj=.cpp) !include $(top_srcdir)/config/Make.rules.mak CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN !if "$(CPP_COMPILER)" != "BCC2006" & "$(OPTIMIZE)" != "yes" -PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb) -CPDBFLAGS = /pdb:$(CONSUMER:.exe=.pdb) +CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb) SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb) !endif -$(PUBLISHER): $(OBJS) $(POBJS) - $(LINK) $(LD_EXEFLAGS) $(PPDBFLAGS) $(OBJS) $(POBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) - -$(CONSUMER): $(OBJS) $(COBJS) +$(CLIENT): $(OBJS) $(COBJS) $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(OBJS) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) $(SERVER): $(OBJS) $(SOBJS) $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(OBJS) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) clean:: - del /q Queue.cpp Queue.h + del /q Hello.cpp Hello.h !include .depend diff --git a/cpp/demo/Ice/async/Publisher.cpp b/cpp/demo/Ice/async/Publisher.cpp deleted file mode 100644 index e73796fc45b..00000000000 --- a/cpp/demo/Ice/async/Publisher.cpp +++ /dev/null @@ -1,100 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2007 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 <Ice/Application.h> -#include <Queue.h> - -using namespace std; -using namespace Demo; - -class QueuePublisher : public Ice::Application -{ -public: - - virtual int run(int, char*[]); - -private: - - void menu(); - string trim(const string& s); -}; - -int -main(int argc, char* argv[]) -{ - QueuePublisher app; - return app.main(argc, argv, "config.client"); -} - -int -QueuePublisher::run(int argc, char* argv[]) -{ - QueuePrx queue = QueuePrx::checkedCast(communicator()->propertyToProxy("Queue.Proxy")); - if(!queue) - { - cerr << argv[0] << ": invalid proxy" << endl; - return EXIT_FAILURE; - } - - cout << "Type a message and hit return to queue a message." << endl; - menu(); - - try - { - do - { - string s; - cout << "==> "; - getline(cin, s); - s = trim(s); - if(!s.empty()) - { - if(s[0] == '/') - { - if(s == "/quit") - { - break; - } - menu(); - } - else - { - queue->add(s); - } - } - } - while(cin.good()); - } - catch(const Ice::Exception& ex) - { - cerr << ex << endl; - return EXIT_FAILURE; - } - - return EXIT_SUCCESS; -} - -void -QueuePublisher::menu() -{ - cout << "Enter /quit to exit." << endl; -} - -string -QueuePublisher::trim(const string& s) -{ - static const string delims = "\t\r\n "; - string::size_type last = s.find_last_not_of(delims); - if(last != string::npos) - { - return s.substr(s.find_first_not_of(delims), last+1); - } - return s; -} - diff --git a/cpp/demo/Ice/async/QueueI.cpp b/cpp/demo/Ice/async/QueueI.cpp deleted file mode 100644 index 1d26e6fcb54..00000000000 --- a/cpp/demo/Ice/async/QueueI.cpp +++ /dev/null @@ -1,110 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2007 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 <QueueI.h> - -using namespace std; - -void -QueueI::get_async(const Demo::AMD_Queue_getPtr& cb, const string& id, const Ice::Current&) -{ - IceUtil::Mutex::Lock lock(*this); - - // - // If there is already a message in the message queue, send the - // response immediately. Otherwise add the callback to the - // request queue. - // - if(_messageQueue.size() != 0) - { - try - { - cb->ice_response(_messageQueue.front()); - _messageQueue.pop_front(); - } - catch(const Ice::Exception& ex) - { - cout << ex << endl; - } - } - else - { - Request request; - request.id = id; - request.cb = cb; - _requestQueue.push_back(request); - } -} - -void -QueueI::add(const string& message, const Ice::Current&) -{ - IceUtil::Mutex::Lock lock(*this); - - // - // If there is an outstanding request in the request queue, - // send a response. Otherwise add the message to the message - // queue. - // - if(_requestQueue.size() != 0) - { - try - { - _requestQueue.front().cb->ice_response(message); - } - catch(const Ice::Exception& ex) - { - _messageQueue.push_back(message); - cout << ex << endl; - } - _requestQueue.pop_front(); - } - else - { - _messageQueue.push_back(message); - } -} - -void -QueueI::cancel_async(const Demo::AMD_Queue_cancelPtr& cb, const vector<string>& ids, const Ice::Current&) -{ - // - // We send immediate response so that later call to ice_exception - // on queued requests will not cause deadlocks. - // - cb->ice_response(); - - IceUtil::Mutex::Lock lock(*this); - - for(vector<string>::const_iterator p = ids.begin(); p != ids.end(); ++p) - { - for(list<Request>::iterator q = _requestQueue.begin(); q != _requestQueue.end(); ) - { - if((*q).id == *p) - { - try - { - (*q).cb->ice_exception(Demo::RequestCanceledException()); - } - catch(const Ice::Exception&) - { - // Ignore - } - list<Request>::iterator erase = q++; - _requestQueue.erase(erase); - break; - } - else - { - ++q; - } - - } - } -} diff --git a/cpp/demo/Ice/async/QueueI.h b/cpp/demo/Ice/async/QueueI.h deleted file mode 100644 index 461b05fd560..00000000000 --- a/cpp/demo/Ice/async/QueueI.h +++ /dev/null @@ -1,38 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2007 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 QUEUE_I_H -#define QUEUE_I_H - -#include <IceUtil/Mutex.h> -#include <Queue.h> -#include <list> - -class QueueI : virtual public Demo::Queue, public IceUtil::Mutex -{ -public: - - virtual void get_async(const Demo::AMD_Queue_getPtr&, const std::string&, const Ice::Current&); - virtual void add(const std::string&, const Ice::Current&); - virtual void cancel_async(const Demo::AMD_Queue_cancelPtr&, const std::vector<std::string>&, const Ice::Current&); - -private: - - struct Request - { - std::string id; - Demo::AMD_Queue_getPtr cb; - }; - - std::list<std::string> _messageQueue; - std::list<Request> _requestQueue; -}; - - -#endif diff --git a/cpp/demo/Ice/async/README b/cpp/demo/Ice/async/README index 5356845ea5a..44574f7e1bf 100644 --- a/cpp/demo/Ice/async/README +++ b/cpp/demo/Ice/async/README @@ -5,12 +5,14 @@ To run the demo, first start the server: $ server -In a second window, start the publisher: +In a second window, start the client: -$ publisher +$ client -In a third window, start the consumer: +The demo invocation can either have a short response time or require a +significant amount of time to complete. For the long running request +the client uses AMI and the server uses AMD plus a worker thread to +process the request. While a long request is processing, short +requests are still able to processed and more long requests can be +queued for processing by the worker thread. -$ consumer - -Multiple publishers and consumers can be used if so desired. diff --git a/cpp/demo/Ice/async/Server.cpp b/cpp/demo/Ice/async/Server.cpp index 64a38295ebb..a3d94180741 100644 --- a/cpp/demo/Ice/async/Server.cpp +++ b/cpp/demo/Ice/async/Server.cpp @@ -7,31 +7,63 @@ // // ********************************************************************** -#include <QueueI.h> +#include <HelloI.h> +#include <WorkQueue.h> #include <Ice/Application.h> using namespace std; -class QueueServer : public Ice::Application +class AsyncServer : public Ice::Application { public: virtual int run(int, char*[]); + virtual void interruptCallback(int); + +private: + + WorkQueuePtr _workQueue; }; int main(int argc, char* argv[]) { - QueueServer app; + AsyncServer app; return app.main(argc, argv, "config.server"); } int -QueueServer::run(int argc, char* argv[]) +AsyncServer::run(int argc, char* argv[]) { - Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Queue"); - adapter->add(new QueueI, communicator()->stringToIdentity("queue")); + callbackOnInterrupt(); + + Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Hello"); + _workQueue = new WorkQueue(); + adapter->add(new HelloI(_workQueue), communicator()->stringToIdentity("hello")); + + _workQueue->start(); adapter->activate(); + communicator()->waitForShutdown(); return EXIT_SUCCESS; } + +void +AsyncServer::interruptCallback(int) +{ + _workQueue->destroy(); + _workQueue->getThreadControl().join(); + + try + { + communicator()->destroy(); + } + catch(const IceUtil::Exception& ex) + { + cerr << appName() << ": " << ex << endl; + } + catch(...) + { + cerr << appName() << ": unknown exception" << endl; + } +} diff --git a/cpp/demo/Ice/async/WorkQueue.cpp b/cpp/demo/Ice/async/WorkQueue.cpp new file mode 100644 index 00000000000..0493b8087ab --- /dev/null +++ b/cpp/demo/Ice/async/WorkQueue.cpp @@ -0,0 +1,107 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2007 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 <WorkQueue.h> +#include <Ice/LocalException.h> + +using namespace std; + +WorkQueue::WorkQueue() : + _done(false) +{ +} + +void +WorkQueue::run() +{ + IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor); + + while(!_done) + { + if(_callbacks.size() == 0) + { + _monitor.wait(); + } + + if(_callbacks.size() != 0) + { + // + // Get next work item. + // + CallbackEntry entry = _callbacks.front(); + + // + // Wait for the amount of time indicated in delay to + // emulate a process that takes a significant period of + // time to complete. + // + _monitor.timedWait(IceUtil::Time::milliSeconds(entry.delay)); + + if(!_done) + { + // + // Print greeting and send response. + // + _callbacks.pop_front(); + cout << "Belated Hello World!" << endl; + entry.cb->ice_response(); + } + } + } + + // + // Throw exception for any outstanding requests. + // + list<CallbackEntry>::const_iterator p; + for(p = _callbacks.begin(); p != _callbacks.end(); ++p) + { + (*p).cb->ice_exception(Demo::RequestCanceledException()); + } +} + +void +WorkQueue::add(const Demo::AMD_Hello_sayHelloPtr& cb, int delay) +{ + IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor); + + if(!_done) + { + // + // Add work item. + // + CallbackEntry entry; + entry.cb = cb; + entry.delay = delay; + + if(_callbacks.size() == 0) + { + _monitor.notify(); + } + _callbacks.push_back(entry); + } + else + { + // + // Destroyed, throw exception. + // + cb->ice_exception(Demo::RequestCanceledException()); + } +} + +void +WorkQueue::destroy() +{ + IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor); + + // + // Set done flag and notify. + // + _done = true; + _monitor.notify(); +} diff --git a/cpp/demo/Ice/async/WorkQueue.h b/cpp/demo/Ice/async/WorkQueue.h new file mode 100644 index 00000000000..9147b2f615d --- /dev/null +++ b/cpp/demo/Ice/async/WorkQueue.h @@ -0,0 +1,46 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2007 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 WORK_QUEUE_H +#define WORK_QUEUE_H + +#include <Hello.h> +#include <IceUtil/Thread.h> +#include <IceUtil/Monitor.h> +#include <IceUtil/Mutex.h> + +#include <list> + +class WorkQueue : public IceUtil::Thread +{ +public: + + WorkQueue(); + + virtual void run(); + + void add(const Demo::AMD_Hello_sayHelloPtr&, int); + void destroy(); + +private: + + struct CallbackEntry + { + Demo::AMD_Hello_sayHelloPtr cb; + int delay; + }; + + IceUtil::Monitor<IceUtil::Mutex> _monitor; + std::list<CallbackEntry> _callbacks; + bool _done; +}; + +typedef IceUtil::Handle<WorkQueue> WorkQueuePtr; + +#endif diff --git a/cpp/demo/Ice/async/asyncC.dsp b/cpp/demo/Ice/async/asyncC.dsp index 690d96b8534..52b2f390a45 100644 --- a/cpp/demo/Ice/async/asyncC.dsp +++ b/cpp/demo/Ice/async/asyncC.dsp @@ -91,11 +91,11 @@ LINK32=link.exe # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
-SOURCE=.\Queue.cpp
+SOURCE=.\Hello.cpp
# End Source File
# Begin Source File
-SOURCE=.\Consumer.cpp
+SOURCE=.\Client.cpp
# End Source File
# End Group
# Begin Group "Header Files"
@@ -103,7 +103,7 @@ SOURCE=.\Consumer.cpp # PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
-SOURCE=.\Queue.h
+SOURCE=.\Hello.h
# End Source File
# End Group
# Begin Group "Resource Files"
@@ -111,21 +111,21 @@ SOURCE=.\Queue.h # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# Begin Source File
-SOURCE=.\Queue.ice
+SOURCE=.\Hello.ice
!IF "$(CFG)" == "asyncC - Win32 Release"
USERDEP__QUEUE="..\..\..\bin\slice2cpp.exe" "..\..\..\lib\slice.lib"
# Begin Custom Build
-InputPath=.\Queue.ice
+InputPath=.\Hello.ice
BuildCmds= \
- ..\..\..\bin\slice2cpp.exe Queue.ice
+ ..\..\..\bin\slice2cpp.exe Hello.ice
-"Queue.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+"Hello.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
-"Queue.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+"Hello.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
@@ -133,15 +133,15 @@ BuildCmds= \ USERDEP__QUEUE="..\..\..\bin\slice2cpp.exe" "..\..\..\lib\sliced.lib"
# Begin Custom Build
-InputPath=.\Queue.ice
+InputPath=.\Hello.ice
BuildCmds= \
- ..\..\..\bin\slice2cpp.exe Queue.ice
+ ..\..\..\bin\slice2cpp.exe Hello.ice
-"Queue.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+"Hello.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
-"Queue.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+"Hello.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
diff --git a/cpp/demo/Ice/async/asyncP.dsp b/cpp/demo/Ice/async/asyncP.dsp deleted file mode 100644 index 52a91c16015..00000000000 --- a/cpp/demo/Ice/async/asyncP.dsp +++ /dev/null @@ -1,157 +0,0 @@ -# Microsoft Developer Studio Project File - Name="asyncP" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=asyncP - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "asyncP.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "asyncP.mak" CFG="asyncP - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "asyncP - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "asyncP - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "asyncP - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /WX /GR /GX /O2 /I "." /I "../../../include" /I "../../../include/stlport" /D "_CONSOLE" /D "NDEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 Ice.lib IceUtil.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"server.exe" /libpath:"../../../lib" /FIXED:no
-# SUBTRACT LINK32 /debug /nodefaultlib
-
-!ELSEIF "$(CFG)" == "asyncP - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /WX /Gm /GR /GX /Zi /Od /I "." /I "../../../include" /I "../../../include/stlport" /D "_CONSOLE" /D "_DEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /GZ /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 Iced.lib IceUtild.lib /nologo /subsystem:console /debug /machine:I386 /out:"server.exe" /pdbtype:sept /libpath:"../../../lib" /FIXED:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "asyncP - Win32 Release"
-# Name "asyncP - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Queue.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Publisher.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\Queue.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\Queue.ice
-
-!IF "$(CFG)" == "asyncP - Win32 Release"
-
-USERDEP__QUEUE="..\..\..\bin\slice2cpp.exe" "..\..\..\lib\slice.lib"
-# Begin Custom Build
-InputPath=.\Queue.ice
-
-BuildCmds= \
- ..\..\..\bin\slice2cpp.exe Queue.ice
-
-"Queue.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"Queue.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "asyncP - Win32 Debug"
-
-USERDEP__QUEUE="..\..\..\bin\slice2cpp.exe" "..\..\..\lib\sliced.lib"
-# Begin Custom Build
-InputPath=.\Queue.ice
-
-BuildCmds= \
- ..\..\..\bin\slice2cpp.exe Queue.ice
-
-"Queue.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"Queue.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Target
-# End Project
diff --git a/cpp/demo/Ice/async/asyncS.dsp b/cpp/demo/Ice/async/asyncS.dsp index c98df8ba5e5..e575863ec56 100644 --- a/cpp/demo/Ice/async/asyncS.dsp +++ b/cpp/demo/Ice/async/asyncS.dsp @@ -91,11 +91,15 @@ LINK32=link.exe # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
-SOURCE=.\Queue.cpp
+SOURCE=.\Hello.cpp
# End Source File
# Begin Source File
-SOURCE=.\QueueI.cpp
+SOURCE=.\HelloI.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\WorkQueue.cpp
# End Source File
# Begin Source File
@@ -107,11 +111,15 @@ SOURCE=.\Server.cpp # PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
-SOURCE=.\Queue.h
+SOURCE=.\Hello.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\HelloI.h
# End Source File
# Begin Source File
-SOURCE=.\QueueI.h
+SOURCE=.\WorkQueue.h
# End Source File
# End Group
# Begin Group "Resource Files"
@@ -119,21 +127,21 @@ SOURCE=.\QueueI.h # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# Begin Source File
-SOURCE=.\Queue.ice
+SOURCE=.\Hello.ice
!IF "$(CFG)" == "asyncS - Win32 Release"
USERDEP__QUEUE="..\..\..\bin\slice2cpp.exe" "..\..\..\lib\slice.lib"
# Begin Custom Build
-InputPath=.\Queue.ice
+InputPath=.\Hello.ice
BuildCmds= \
- ..\..\..\bin\slice2cpp.exe Queue.ice
+ ..\..\..\bin\slice2cpp.exe Hello.ice
-"Queue.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+"Hello.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
-"Queue.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+"Hello.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
@@ -141,15 +149,15 @@ BuildCmds= \ USERDEP__QUEUE="..\..\..\bin\slice2cpp.exe" "..\..\..\lib\sliced.lib"
# Begin Custom Build
-InputPath=.\Queue.ice
+InputPath=.\Hello.ice
BuildCmds= \
- ..\..\..\bin\slice2cpp.exe Queue.ice
+ ..\..\..\bin\slice2cpp.exe Hello.ice
-"Queue.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+"Hello.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
-"Queue.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+"Hello.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
diff --git a/cpp/demo/Ice/async/config.client b/cpp/demo/Ice/async/config.client index 9cca378e1e3..0cea3d3bc26 100644 --- a/cpp/demo/Ice/async/config.client +++ b/cpp/demo/Ice/async/config.client @@ -2,7 +2,7 @@ # The client reads this property to create the reference to the # "hello" object in the server. # -Queue.Proxy=queue:tcp -p 10000 +Hello.Proxy=hello:tcp -p 10000 # # Warn about connection exceptions diff --git a/cpp/demo/Ice/async/config.server b/cpp/demo/Ice/async/config.server index c7d7b368b1b..05c1345d404 100644 --- a/cpp/demo/Ice/async/config.server +++ b/cpp/demo/Ice/async/config.server @@ -1,9 +1,9 @@ # # The server creates one single object adapter with the name -# "Queue". The following line sets the endpoints for this +# "Hello". The following line sets the endpoints for this # adapter. # -Ice.OA.Queue.Endpoints=tcp -p 10000 +Ice.OA.Hello.Endpoints=tcp -p 10000 # # Warn about connection exceptions |