summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/PropertyNames.xml14
-rwxr-xr-xcpp/allTests.py1
-rw-r--r--cpp/demo/IceDiscovery/Makefile30
-rw-r--r--cpp/demo/IceDiscovery/Makefile.mak20
-rw-r--r--cpp/demo/IceDiscovery/hello/.depend5
-rw-r--r--cpp/demo/IceDiscovery/hello/.depend.mak5
-rw-r--r--cpp/demo/IceDiscovery/hello/.gitignore7
-rw-r--r--cpp/demo/IceDiscovery/hello/Client.cpp229
-rw-r--r--cpp/demo/IceDiscovery/hello/Hello.ice22
-rw-r--r--cpp/demo/IceDiscovery/hello/HelloI.cpp31
-rw-r--r--cpp/demo/IceDiscovery/hello/HelloI.h23
-rw-r--r--cpp/demo/IceDiscovery/hello/IceDiscovery.hello.client.vcxproj221
-rw-r--r--cpp/demo/IceDiscovery/hello/IceDiscovery.hello.client.vcxproj.filters37
-rw-r--r--cpp/demo/IceDiscovery/hello/IceDiscovery.hello.server.vcxproj232
-rw-r--r--cpp/demo/IceDiscovery/hello/IceDiscovery.hello.server.vcxproj.filters43
-rw-r--r--cpp/demo/IceDiscovery/hello/Makefile42
-rw-r--r--cpp/demo/IceDiscovery/hello/Makefile.mak50
-rw-r--r--cpp/demo/IceDiscovery/hello/README18
-rw-r--r--cpp/demo/IceDiscovery/hello/Server.cpp44
-rw-r--r--cpp/demo/IceDiscovery/hello/config.client32
-rw-r--r--cpp/demo/IceDiscovery/hello/config.server49
-rwxr-xr-xcpp/demo/IceDiscovery/hello/expect.py30
-rw-r--r--cpp/demo/IceDiscovery/replication/.depend5
-rw-r--r--cpp/demo/IceDiscovery/replication/.depend.mak5
-rw-r--r--cpp/demo/IceDiscovery/replication/.gitignore12
-rw-r--r--cpp/demo/IceDiscovery/replication/Client.cpp97
-rw-r--r--cpp/demo/IceDiscovery/replication/Hello.ice22
-rw-r--r--cpp/demo/IceDiscovery/replication/HelloI.cpp30
-rw-r--r--cpp/demo/IceDiscovery/replication/HelloI.h29
-rw-r--r--cpp/demo/IceDiscovery/replication/IceDiscovery.replication.client.vcxproj221
-rw-r--r--cpp/demo/IceDiscovery/replication/IceDiscovery.replication.client.vcxproj.filters37
-rw-r--r--cpp/demo/IceDiscovery/replication/IceDiscovery.replication.server.vcxproj227
-rw-r--r--cpp/demo/IceDiscovery/replication/IceDiscovery.replication.server.vcxproj.filters42
-rw-r--r--cpp/demo/IceDiscovery/replication/Makefile42
-rw-r--r--cpp/demo/IceDiscovery/replication/Makefile.mak51
-rw-r--r--cpp/demo/IceDiscovery/replication/README18
-rw-r--r--cpp/demo/IceDiscovery/replication/Server.cpp48
-rw-r--r--cpp/demo/IceDiscovery/replication/config.client9
-rw-r--r--cpp/demo/IceDiscovery/replication/config.server131
-rw-r--r--cpp/demo/IceDiscovery/replication/config.server231
-rw-r--r--cpp/demo/IceDiscovery/replication/config.server332
-rw-r--r--cpp/demo/Makefile1
-rw-r--r--cpp/demo/Makefile.mak1
-rwxr-xr-xcpp/demo/demo-icediscovery.sln56
-rw-r--r--cpp/src/Ice/LocatorInfo.cpp52
-rw-r--r--cpp/src/Ice/LocatorInfo.h2
-rw-r--r--cpp/src/Ice/Network.cpp216
-rw-r--r--cpp/src/Ice/PropertyNames.cpp113
-rw-r--r--cpp/src/Ice/PropertyNames.h3
-rw-r--r--cpp/src/IceDiscovery/.depend5
-rw-r--r--cpp/src/IceDiscovery/.depend.mak5
-rw-r--r--cpp/src/IceDiscovery/.gitignore5
-rwxr-xr-xcpp/src/IceDiscovery/IceDiscovery.rc38
-rw-r--r--cpp/src/IceDiscovery/LocatorI.cpp208
-rw-r--r--cpp/src/IceDiscovery/LocatorI.h76
-rw-r--r--cpp/src/IceDiscovery/LookupI.cpp303
-rw-r--r--cpp/src/IceDiscovery/LookupI.h181
-rw-r--r--cpp/src/IceDiscovery/Makefile59
-rw-r--r--cpp/src/IceDiscovery/Makefile.mak68
-rw-r--r--cpp/src/IceDiscovery/PluginI.cpp146
-rw-r--r--cpp/src/IceDiscovery/PluginI.h35
-rw-r--r--cpp/src/Makefile1
-rw-r--r--cpp/src/Makefile.mak1
-rw-r--r--cpp/test/Ice/info/AllTests.cpp6
-rw-r--r--cpp/test/Ice/proxy/AllTests.cpp3
-rw-r--r--cpp/test/IceDiscovery/Makefile32
-rw-r--r--cpp/test/IceDiscovery/Makefile.mak19
-rw-r--r--cpp/test/IceDiscovery/simple/.depend6
-rw-r--r--cpp/test/IceDiscovery/simple/.depend.mak6
-rw-r--r--cpp/test/IceDiscovery/simple/.gitignore7
-rw-r--r--cpp/test/IceDiscovery/simple/AllTests.cpp203
-rw-r--r--cpp/test/IceDiscovery/simple/Client.cpp60
-rw-r--r--cpp/test/IceDiscovery/simple/Makefile43
-rw-r--r--cpp/test/IceDiscovery/simple/Makefile.mak64
-rw-r--r--cpp/test/IceDiscovery/simple/Server.cpp81
-rw-r--r--cpp/test/IceDiscovery/simple/Test.ice32
-rw-r--r--cpp/test/IceDiscovery/simple/TestI.cpp67
-rw-r--r--cpp/test/IceDiscovery/simple/TestI.h39
-rwxr-xr-xcpp/test/IceDiscovery/simple/run.py51
-rw-r--r--cpp/test/IceGrid/Makefile.mak44
-rw-r--r--cpp/test/Makefile3
-rw-r--r--cpp/test/Makefile.mak3
-rw-r--r--cs/demo/IceDiscovery/Makefile21
-rw-r--r--cs/demo/IceDiscovery/Makefile.mak19
-rw-r--r--cs/demo/IceDiscovery/hello/.depend1
-rw-r--r--cs/demo/IceDiscovery/hello/.depend.mak1
-rw-r--r--cs/demo/IceDiscovery/hello/Client.cs229
-rw-r--r--cs/demo/IceDiscovery/hello/Hello.ice21
-rw-r--r--cs/demo/IceDiscovery/hello/HelloI.cs28
-rw-r--r--cs/demo/IceDiscovery/hello/Makefile33
-rw-r--r--cs/demo/IceDiscovery/hello/Makefile.mak33
-rw-r--r--cs/demo/IceDiscovery/hello/README18
-rw-r--r--cs/demo/IceDiscovery/hello/Server.cs44
-rw-r--r--cs/demo/IceDiscovery/hello/app.config3
-rw-r--r--cs/demo/IceDiscovery/hello/client.csproj118
-rwxr-xr-xcs/demo/IceDiscovery/hello/client.exe.config6
-rw-r--r--cs/demo/IceDiscovery/hello/client.log5666
-rw-r--r--cs/demo/IceDiscovery/hello/config.client58
-rw-r--r--cs/demo/IceDiscovery/hello/config.server65
-rwxr-xr-xcs/demo/IceDiscovery/hello/expect.py30
-rw-r--r--cs/demo/IceDiscovery/hello/generated/.gitignore1
-rw-r--r--cs/demo/IceDiscovery/hello/server.csproj123
-rwxr-xr-xcs/demo/IceDiscovery/hello/server.exe.config6
-rw-r--r--cs/demo/IceDiscovery/replication/.depend1
-rw-r--r--cs/demo/IceDiscovery/replication/.depend.mak1
-rw-r--r--cs/demo/IceDiscovery/replication/Client.cs92
-rw-r--r--cs/demo/IceDiscovery/replication/Hello.ice21
-rw-r--r--cs/demo/IceDiscovery/replication/HelloI.cs31
-rw-r--r--cs/demo/IceDiscovery/replication/Makefile33
-rw-r--r--cs/demo/IceDiscovery/replication/Makefile.mak33
-rw-r--r--cs/demo/IceDiscovery/replication/README18
-rw-r--r--cs/demo/IceDiscovery/replication/Server.cs45
-rw-r--r--cs/demo/IceDiscovery/replication/app.config3
-rw-r--r--cs/demo/IceDiscovery/replication/client.csproj118
-rwxr-xr-xcs/demo/IceDiscovery/replication/client.exe.config6
-rw-r--r--cs/demo/IceDiscovery/replication/config.client9
-rw-r--r--cs/demo/IceDiscovery/replication/config.server65
-rwxr-xr-xcs/demo/IceDiscovery/replication/config.server131
-rwxr-xr-xcs/demo/IceDiscovery/replication/config.server231
-rwxr-xr-xcs/demo/IceDiscovery/replication/config.server331
-rwxr-xr-xcs/demo/IceDiscovery/replication/expect.py30
-rw-r--r--cs/demo/IceDiscovery/replication/server.csproj122
-rwxr-xr-xcs/demo/IceDiscovery/replication/server.exe.config6
-rw-r--r--cs/demo/Makefile2
-rw-r--r--cs/demo/Makefile.mak2
-rwxr-xr-xcs/demo/demo-icediscovery.sln51
-rw-r--r--cs/src/Ice/LocatorInfo.cs43
-rw-r--r--cs/src/Ice/Network.cs132
-rw-r--r--cs/src/Ice/PropertyNames.cs110
-rw-r--r--cs/src/IceDiscovery/.depend1
-rw-r--r--cs/src/IceDiscovery/.depend.mak1
-rw-r--r--cs/src/IceDiscovery/Internal.cs1710
-rw-r--r--cs/src/IceDiscovery/Internal.ice31
-rw-r--r--cs/src/IceDiscovery/LocatorI.cs210
-rw-r--r--cs/src/IceDiscovery/LookupI.cs385
-rw-r--r--cs/src/IceDiscovery/Makefile51
-rw-r--r--cs/src/IceDiscovery/Makefile.mak58
-rw-r--r--cs/src/IceDiscovery/PluginI.cs148
-rw-r--r--cs/src/IceDiscovery/generated/.gitignore1
-rw-r--r--cs/src/Makefile2
-rw-r--r--cs/src/Makefile.mak2
-rw-r--r--cs/test/Ice/proxy/AllTests.cs3
-rw-r--r--cs/test/IceDiscovery/Makefile32
-rw-r--r--cs/test/IceDiscovery/Makefile.mak19
-rw-r--r--cs/test/IceDiscovery/simple/.depend1
-rw-r--r--cs/test/IceDiscovery/simple/.depend.mak1
-rw-r--r--cs/test/IceDiscovery/simple/.gitignore7
-rw-r--r--cs/test/IceDiscovery/simple/AllTests.cs214
-rw-r--r--cs/test/IceDiscovery/simple/Client.cs68
-rw-r--r--cs/test/IceDiscovery/simple/Makefile35
-rw-r--r--cs/test/IceDiscovery/simple/Makefile.mak35
-rw-r--r--cs/test/IceDiscovery/simple/Server.cs78
-rw-r--r--cs/test/IceDiscovery/simple/Test.ice33
-rw-r--r--cs/test/IceDiscovery/simple/TestI.cs69
-rw-r--r--cs/test/IceDiscovery/simple/generated/.gitignore1
-rwxr-xr-xcs/test/IceDiscovery/simple/run.py56
-rw-r--r--cs/test/Makefile2
-rw-r--r--cs/test/Makefile.mak2
-rw-r--r--demoscript/Ice/multicast.py2
-rwxr-xr-xjava/allTests.py1
-rw-r--r--java/build.xml48
-rw-r--r--java/config/common.xml20
-rw-r--r--java/demo/IceDiscovery/build.xml24
-rw-r--r--java/demo/IceDiscovery/hello/Client.java237
-rw-r--r--java/demo/IceDiscovery/hello/Hello.ice21
-rw-r--r--java/demo/IceDiscovery/hello/HelloI.java36
-rw-r--r--java/demo/IceDiscovery/hello/README18
-rw-r--r--java/demo/IceDiscovery/hello/Server.java37
-rw-r--r--java/demo/IceDiscovery/hello/build.xml44
-rw-r--r--java/demo/IceDiscovery/hello/config.client58
-rw-r--r--java/demo/IceDiscovery/hello/config.server65
-rwxr-xr-xjava/demo/IceDiscovery/hello/expect.py30
-rw-r--r--java/demo/IceDiscovery/replication/Client.java131
-rw-r--r--java/demo/IceDiscovery/replication/Hello.ice21
-rw-r--r--java/demo/IceDiscovery/replication/HelloI.java33
-rw-r--r--java/demo/IceDiscovery/replication/README18
-rw-r--r--java/demo/IceDiscovery/replication/Server.java38
-rw-r--r--java/demo/IceDiscovery/replication/build.xml44
-rw-r--r--java/demo/IceDiscovery/replication/config.client9
-rwxr-xr-xjava/demo/IceDiscovery/replication/config.server131
-rwxr-xr-xjava/demo/IceDiscovery/replication/config.server231
-rwxr-xr-xjava/demo/IceDiscovery/replication/config.server331
-rwxr-xr-xjava/demo/IceDiscovery/replication/expect.py30
-rw-r--r--java/src/IceDiscovery/LocatorI.java40
-rw-r--r--java/src/IceDiscovery/LocatorRegistryI.java176
-rw-r--r--java/src/IceDiscovery/LookupI.java340
-rw-r--r--java/src/IceDiscovery/LookupReplyI.java33
-rw-r--r--java/src/IceDiscovery/PluginFactory.java19
-rw-r--r--java/src/IceDiscovery/PluginI.java128
-rw-r--r--java/src/IceInternal/EndpointFactoryManager.java1
-rw-r--r--java/src/IceInternal/LocatorInfo.java117
-rw-r--r--java/src/IceInternal/PropertyNames.java110
-rw-r--r--java/src/IceInternal/UdpTransceiver.java11
-rw-r--r--java/test/Ice/proxy/AllTests.java3
-rw-r--r--java/test/IceDiscovery/simple/AllTests.java220
-rw-r--r--java/test/IceDiscovery/simple/Client.java37
-rw-r--r--java/test/IceDiscovery/simple/ControllerI.java61
-rw-r--r--java/test/IceDiscovery/simple/Server.java45
-rw-r--r--java/test/IceDiscovery/simple/Test.ice33
-rw-r--r--java/test/IceDiscovery/simple/TestIntfI.java21
-rwxr-xr-xjava/test/IceDiscovery/simple/run.py51
-rw-r--r--slice/IceDiscovery/IceDiscovery.ice31
202 files changed, 17606 insertions, 294 deletions
diff --git a/config/PropertyNames.xml b/config/PropertyNames.xml
index 40d9e71dc16..9adb5eaa12d 100644
--- a/config/PropertyNames.xml
+++ b/config/PropertyNames.xml
@@ -390,6 +390,20 @@ generated from the section label.
<property name="Metrics.[any]" class="mx" />
</section>
+ <section name="IceDiscovery">
+ <property name="Multicast" class="objectadapter" />
+ <property name="Reply" class="objectadapter" />
+ <property name="Locator" class="objectadapter" />
+ <property name="Lookup"/>
+ <property name="Timeout"/>
+ <property name="RetryCount"/>
+ <property name="LatencyMultiplier"/>
+ <property name="Address"/>
+ <property name="Port"/>
+ <property name="Interface"/>
+ <property name="DomainId"/>
+ </section>
+
<section name="IceBox">
<property name="InheritProperties" />
<property name="InstanceName" />
diff --git a/cpp/allTests.py b/cpp/allTests.py
index 6e746f700d8..6e1e6af5014 100755
--- a/cpp/allTests.py
+++ b/cpp/allTests.py
@@ -89,6 +89,7 @@ tests = [
("IceStorm/repstress", ["service", "noipv6", "stress", "novc90", "nomingw"]),
("FreezeScript/dbmap", ["once", "novc90", "nomingw"]),
("FreezeScript/evictor", ["once", "novc90", "nomingw"]),
+ ("IceDiscovery/simple", ["service", "novc90", "nomingw"]),
("IceGrid/simple", ["service", "novc90", "nomingw"]),
("IceGrid/fileLock", ["service", "novc90", "nomingw"]),
("IceGrid/deployer", ["service", "novc90", "nomingw"]),
diff --git a/cpp/demo/IceDiscovery/Makefile b/cpp/demo/IceDiscovery/Makefile
new file mode 100644
index 00000000000..15dd92d9c88
--- /dev/null
+++ b/cpp/demo/IceDiscovery/Makefile
@@ -0,0 +1,30 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../..
+
+include $(top_srcdir)/config/Make.rules
+
+SUBDIRS = hello \
+ replication
+
+.PHONY: $(EVERYTHING) $(SUBDIRS)
+
+all:: $(SUBDIRS)
+
+$(SUBDIRS):
+ @echo "making all in $@"
+ @$(MAKE) all --directory=$@
+
+$(EVERYTHING_EXCEPT_ALL)::
+ @for subdir in $(SUBDIRS); \
+ do \
+ echo "making $@ in $$subdir"; \
+ ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
+ done
diff --git a/cpp/demo/IceDiscovery/Makefile.mak b/cpp/demo/IceDiscovery/Makefile.mak
new file mode 100644
index 00000000000..9852a22bc5f
--- /dev/null
+++ b/cpp/demo/IceDiscovery/Makefile.mak
@@ -0,0 +1,20 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..
+
+!include $(top_srcdir)\config\Make.rules.mak
+
+SUBDIRS = hello \
+ replication
+
+$(EVERYTHING)::
+ @for %i in ( $(SUBDIRS) ) do \
+ @echo "making $@ in %i" && \
+ cmd /c "cd %i && $(MAKE) -nologo -f Makefile.mak $@" || exit 1
diff --git a/cpp/demo/IceDiscovery/hello/.depend b/cpp/demo/IceDiscovery/hello/.depend
new file mode 100644
index 00000000000..6261294508c
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/.depend
@@ -0,0 +1,5 @@
+Hello$(OBJEXT): Hello.cpp Hello.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h
+Client$(OBJEXT): Client.cpp $(includedir)/Ice/Ice.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h Hello.h
+HelloI$(OBJEXT): HelloI.cpp $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h HelloI.h Hello.h
+Server$(OBJEXT): Server.cpp $(includedir)/Ice/Ice.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h HelloI.h Hello.h
+Hello.h Hello.cpp: Hello.ice $(SLICE2CPP) $(SLICEPARSERLIB)
diff --git a/cpp/demo/IceDiscovery/hello/.depend.mak b/cpp/demo/IceDiscovery/hello/.depend.mak
new file mode 100644
index 00000000000..72ee647f0f4
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/.depend.mak
@@ -0,0 +1,5 @@
+Hello$(OBJEXT): Hello.cpp Hello.h "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/ObjectFactory.h"
+Client$(OBJEXT): Client.cpp "$(includedir)/Ice/Ice.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" Hello.h
+HelloI$(OBJEXT): HelloI.cpp "$(includedir)/IceUtil/IceUtil.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/IceUtil/AbstractMutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/Cache.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/IceUtil/CountDownLatch.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/CtrlCHandler.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/IceUtil/RecMutex.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/UUID.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/Ice.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" HelloI.h Hello.h
+Server$(OBJEXT): Server.cpp "$(includedir)/Ice/Ice.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" HelloI.h Hello.h
+Hello.h Hello.cpp: Hello.ice "$(SLICE2CPP)" "$(SLICEPARSERLIB)"
diff --git a/cpp/demo/IceDiscovery/hello/.gitignore b/cpp/demo/IceDiscovery/hello/.gitignore
new file mode 100644
index 00000000000..9f5c1b1b66e
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/.gitignore
@@ -0,0 +1,7 @@
+// Generated by makegitignore.py
+
+// IMPORTANT: Do not edit this file -- any edits made here will be lost!
+client
+server
+Hello.cpp
+Hello.h
diff --git a/cpp/demo/IceDiscovery/hello/Client.cpp b/cpp/demo/IceDiscovery/hello/Client.cpp
new file mode 100644
index 00000000000..a5a31d88cf0
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/Client.cpp
@@ -0,0 +1,229 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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/Ice.h>
+#include <Hello.h>
+
+using namespace std;
+using namespace Demo;
+
+class HelloClient : public Ice::Application
+{
+public:
+
+ HelloClient();
+
+ virtual int run(int, char*[]);
+
+private:
+
+ void menu();
+};
+
+int
+main(int argc, char* argv[])
+{
+ HelloClient app;
+ return app.main(argc, argv, "config.client");
+}
+
+HelloClient::HelloClient() :
+ //
+ // Since this is an interactive demo we don't want any signal
+ // handling.
+ //
+ Ice::Application(Ice::NoSignalHandling)
+{
+}
+
+int
+HelloClient::run(int argc, char* argv[])
+{
+ if(argc > 1)
+ {
+ cerr << appName() << ": too many arguments" << endl;
+ return EXIT_FAILURE;
+ }
+
+ //
+ // Create a well-known proxy for the `hello' Ice object. A well-known proxy
+ // only includes the Ice object identity. It's resolved using the Ice locator
+ // implementation.
+ //
+ HelloPrx twoway = HelloPrx::checkedCast(communicator()->stringToProxy("hello")->ice_timeout(-1));
+ if(!twoway)
+ {
+ cerr << argv[0] << ": invalid proxy" << endl;
+ return EXIT_FAILURE;
+ }
+ HelloPrx oneway = twoway->ice_oneway();
+ HelloPrx batchOneway = twoway->ice_batchOneway();
+ HelloPrx datagram = twoway->ice_datagram();
+ HelloPrx batchDatagram = twoway->ice_batchDatagram();
+
+ bool secure = false;
+ int timeout = -1;
+ int delay = 0;
+
+ menu();
+
+ char c;
+ do
+ {
+ try
+ {
+ cout << "==> ";
+ cin >> c;
+ if(c == 't')
+ {
+ twoway->sayHello(delay);
+ }
+ else if(c == 'o')
+ {
+ oneway->sayHello(delay);
+ }
+ else if(c == 'O')
+ {
+ batchOneway->sayHello(delay);
+ }
+ else if(c == 'd')
+ {
+ if(secure)
+ {
+ cout << "secure datagrams are not supported" << endl;
+ }
+ else
+ {
+ datagram->sayHello(delay);
+ }
+ }
+ else if(c == 'D')
+ {
+ if(secure)
+ {
+ cout << "secure datagrams are not supported" << endl;
+ }
+ else
+ {
+ batchDatagram->sayHello(delay);
+ }
+ }
+ else if(c == 'f')
+ {
+ communicator()->flushBatchRequests();
+ }
+ else if(c == 'T')
+ {
+ if(timeout == -1)
+ {
+ timeout = 2000;
+ }
+ else
+ {
+ timeout = -1;
+ }
+
+ twoway = twoway->ice_timeout(timeout);
+ oneway = oneway->ice_timeout(timeout);
+ batchOneway = batchOneway->ice_timeout(timeout);
+
+ if(timeout == -1)
+ {
+ cout << "timeout is now switched off" << endl;
+ }
+ else
+ {
+ cout << "timeout is now set to 2000ms" << endl;
+ }
+ }
+ else if(c == 'P')
+ {
+ if(delay == 0)
+ {
+ delay = 2500;
+ }
+ else
+ {
+ delay = 0;
+ }
+
+ if(delay == 0)
+ {
+ cout << "server delay is now deactivated" << endl;
+ }
+ else
+ {
+ cout << "server delay is now set to 2500ms" << endl;
+ }
+ }
+ else if(c == 'S')
+ {
+ secure = !secure;
+
+ twoway = twoway->ice_secure(secure);
+ oneway = oneway->ice_secure(secure);
+ batchOneway = batchOneway->ice_secure(secure);
+ datagram = datagram->ice_secure(secure);
+ batchDatagram = batchDatagram->ice_secure(secure);
+
+ if(secure)
+ {
+ cout << "secure mode is now on" << endl;
+ }
+ else
+ {
+ cout << "secure mode is now off" << endl;
+ }
+ }
+ else if(c == 's')
+ {
+ twoway->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
+HelloClient::menu()
+{
+ cout <<
+ "usage:\n"
+ "t: send greeting as twoway\n"
+ "o: send greeting as oneway\n"
+ "O: send greeting as batch oneway\n"
+ "d: send greeting as datagram\n"
+ "D: send greeting as batch datagram\n"
+ "f: flush all batch requests\n"
+ "T: set a timeout\n"
+ "P: set server delay\n"
+ "S: switch secure mode on/off\n"
+ "s: shutdown server\n"
+ "x: exit\n"
+ "?: help\n";
+}
diff --git a/cpp/demo/IceDiscovery/hello/Hello.ice b/cpp/demo/IceDiscovery/hello/Hello.ice
new file mode 100644
index 00000000000..42227ad1856
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/Hello.ice
@@ -0,0 +1,22 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+module Demo
+{
+
+interface Hello
+{
+ idempotent void sayHello(int delay);
+ void shutdown();
+};
+
+};
+
diff --git a/cpp/demo/IceDiscovery/hello/HelloI.cpp b/cpp/demo/IceDiscovery/hello/HelloI.cpp
new file mode 100644
index 00000000000..b25d3b886af
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/HelloI.cpp
@@ -0,0 +1,31 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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 <IceUtil/IceUtil.h>
+#include <Ice/Ice.h>
+#include <HelloI.h>
+
+using namespace std;
+
+void
+HelloI::sayHello(int delay, const Ice::Current&)
+{
+ if(delay != 0)
+ {
+ IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(delay));
+ }
+ cout << "Hello World!" << endl;
+}
+
+void
+HelloI::shutdown(const Ice::Current& c)
+{
+ cout << "Shutting down..." << endl;
+ c.adapter->getCommunicator()->shutdown();
+}
diff --git a/cpp/demo/IceDiscovery/hello/HelloI.h b/cpp/demo/IceDiscovery/hello/HelloI.h
new file mode 100644
index 00000000000..3a783d0ac4d
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/HelloI.h
@@ -0,0 +1,23 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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>
+
+class HelloI : public Demo::Hello
+{
+public:
+
+ virtual void sayHello(int delay, const Ice::Current&);
+ virtual void shutdown(const Ice::Current&);
+};
+
+#endif
diff --git a/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.client.vcxproj b/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.client.vcxproj
new file mode 100644
index 00000000000..c1ae69868ef
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.client.vcxproj
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>IceDiscovery.hello.client</ProjectName>
+ <ProjectGuid>{710A52F2-A014-4CB2-AF40-348D48DBCDDD}</ProjectGuid>
+ <RootNamespace>Ice.hello.client</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\$(PlatformName)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\$(PlatformName)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>.;.\generated\client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;NDEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO /IGNORE:4089 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Ice.lib;IceUtil.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <BuildLog>
+ <Path>
+ </Path>
+ </BuildLog>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>.;.\generated\client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;NDEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO /IGNORE:4089 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Ice.lib;IceUtil.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;.\generated\client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;_DEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Iced.lib;IceUtild.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <BuildLog>
+ <Path>
+ </Path>
+ </BuildLog>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;.\generated\client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;_DEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Iced.lib;IceUtild.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="Client.cpp">
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="generated\client\Hello.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Hello.ice" />
+ <None Include="config.client" />
+ <None Include="README" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="generated\client\Hello.h" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties ZerocIce_Enabled="True" ZerocIce_VerboseLevel="1" ZerocIce_ProjectVersion="1" ZerocIce_OutputDir=".\generated\client" />
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.client.vcxproj.filters b/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.client.vcxproj.filters
new file mode 100644
index 00000000000..6d27d64606d
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.client.vcxproj.filters
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{e5e28c0c-b812-4e50-a48a-1adeb2695771}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{721e94cf-bee6-475b-8187-ce6927b3556c}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{8ea124c2-bc3b-44e5-aaa3-52e3be058d3b}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="Client.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="generated\client\Hello.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Hello.ice">
+ <Filter>Resource Files</Filter>
+ </None>
+ <None Include="README" />
+ <None Include="config.client" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="generated\client\Hello.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.server.vcxproj b/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.server.vcxproj
new file mode 100644
index 00000000000..e7577b93485
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.server.vcxproj
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>IceDiscovery.hello.server</ProjectName>
+ <ProjectGuid>{25843122-783A-45E0-8D42-612C72D3B183}</ProjectGuid>
+ <RootNamespace>Ice.hello.server</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\$(PlatformName)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\$(PlatformName)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>.;.\generated\server;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;NDEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO /IGNORE:4089 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Ice.lib;IceUtil.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <BuildLog>
+ <Path>
+ </Path>
+ </BuildLog>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>.;.\generated\server;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;NDEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO /IGNORE:4089 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Ice.lib;IceUtil.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;.\generated\server;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;_DEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Iced.lib;IceUtild.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <PostBuildEvent>
+ <Command>
+ </Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <BuildLog>
+ <Path>
+ </Path>
+ </BuildLog>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;.\generated\server;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;_DEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Iced.lib;IceUtild.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="generated\server\Hello.cpp" />
+ <ClCompile Include="HelloI.cpp">
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Server.cpp">
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="generated\server\Hello.h" />
+ <ClInclude Include="HelloI.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Hello.ice" />
+ <None Include="config.server" />
+ <None Include="README" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties ZerocIce_Enabled="True" ZerocIce_VerboseLevel="1" ZerocIce_ProjectVersion="1" ZerocIce_OutputDir=".\generated\server" />
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.server.vcxproj.filters b/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.server.vcxproj.filters
new file mode 100644
index 00000000000..6dec70a59b3
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/IceDiscovery.hello.server.vcxproj.filters
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{b481be09-b329-499c-9298-7e7ac3f4b96e}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{2b9bc096-d447-4fe5-bc1f-020f661b975e}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{4ebf5d47-3fc0-4d6e-9363-f2d8b9eb5a8e}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="HelloI.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Server.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="generated\server\Hello.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="HelloI.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="generated\server\Hello.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Hello.ice">
+ <Filter>Resource Files</Filter>
+ </None>
+ <None Include="README" />
+ <None Include="config.server" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/cpp/demo/IceDiscovery/hello/Makefile b/cpp/demo/IceDiscovery/hello/Makefile
new file mode 100644
index 00000000000..ce59d8d1dda
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/Makefile
@@ -0,0 +1,42 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../../..
+
+CLIENT = client
+SERVER = server
+
+TARGETS = $(CLIENT) $(SERVER)
+
+OBJS = Hello.o
+
+COBJS = Client.o
+
+SOBJS = HelloI.o \
+ Server.o
+
+SRCS = $(OBJS:.o=.cpp) \
+ $(COBJS:.o=.cpp) \
+ $(SOBJS:.o=.cpp)
+
+SLICE_SRCS = Hello.ice
+
+include $(top_srcdir)/config/Make.rules
+
+CPPFLAGS := -I. $(CPPFLAGS)
+
+$(CLIENT): $(OBJS) $(COBJS)
+ rm -f $@
+ $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(COBJS) $(LIBS)
+
+$(SERVER): $(OBJS) $(SOBJS)
+ rm -f $@
+ $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(SOBJS) $(LIBS)
+
+include .depend
diff --git a/cpp/demo/IceDiscovery/hello/Makefile.mak b/cpp/demo/IceDiscovery/hello/Makefile.mak
new file mode 100644
index 00000000000..809cbf5de3f
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/Makefile.mak
@@ -0,0 +1,50 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+
+CLIENT = client.exe
+SERVER = server.exe
+
+TARGETS = $(CLIENT) $(SERVER)
+
+OBJS = Hello.obj
+
+COBJS = Client.obj
+
+SOBJS = HelloI.obj \
+ Server.obj
+
+SRCS = $(OBJS:.obj=.cpp) \
+ $(COBJS:.obj=.cpp) \
+ $(SOBJS:.obj=.cpp)
+
+!include $(top_srcdir)/config/Make.rules.mak
+
+CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+
+!if "$(GENERATE_PDB)" == "yes"
+CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
+SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
+!endif
+
+$(CLIENT): $(OBJS) $(COBJS)
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(OBJS) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+$(SERVER): $(OBJS) $(SOBJS)
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(OBJS) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+clean::
+ del /q Hello.cpp Hello.h
+
+!include .depend.mak
diff --git a/cpp/demo/IceDiscovery/hello/README b/cpp/demo/IceDiscovery/hello/README
new file mode 100644
index 00000000000..e6538c4913a
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/README
@@ -0,0 +1,18 @@
+This demo illustrates how to invoke ordinary (twoway) operations, as
+well as how to make oneway, datagram, secure, and batched invocations.
+
+To run the demo, first start the server:
+
+$ server
+
+In a separate window, start the client:
+
+$ client
+
+To test timeouts you can use 'T' to set a timeout on the client proxy
+and 'P' to set a delayed response in the server to cause a timeout.
+You will notice that two "Hello World!" messages will be printed by
+the server in this case. This is because the sayHello method is marked
+as idempotent in the slice, meaning that Ice does not need to follow
+the at-most-once retry semantics. See the manual for more information
+about retry behavior.
diff --git a/cpp/demo/IceDiscovery/hello/Server.cpp b/cpp/demo/IceDiscovery/hello/Server.cpp
new file mode 100644
index 00000000000..c68503b398d
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/Server.cpp
@@ -0,0 +1,44 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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/Ice.h>
+#include <HelloI.h>
+
+using namespace std;
+
+class HelloServer : public Ice::Application
+{
+public:
+
+ virtual int run(int, char*[]);
+};
+
+int
+main(int argc, char* argv[])
+{
+ HelloServer app;
+ return app.main(argc, argv, "config.server");
+}
+
+int
+HelloServer::run(int argc, char*[])
+{
+ if(argc > 1)
+ {
+ cerr << appName() << ": too many arguments" << endl;
+ return EXIT_FAILURE;
+ }
+
+ Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Hello");
+ Demo::HelloPtr hello = new HelloI;
+ adapter->add(hello, communicator()->stringToIdentity("hello"));
+ adapter->activate();
+ communicator()->waitForShutdown();
+ return EXIT_SUCCESS;
+}
diff --git a/cpp/demo/IceDiscovery/hello/config.client b/cpp/demo/IceDiscovery/hello/config.client
new file mode 100644
index 00000000000..7303f6c6797
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/config.client
@@ -0,0 +1,32 @@
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:createIceDiscovery
+
+#
+# Warn about connection exceptions
+#
+Ice.Warn.Connections=1
+
+#
+# Locator tracing
+#
+Ice.Trace.Locator=1
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL:createIceSSL
+IceSSL.DefaultDir=../../../../certs
+IceSSL.CertAuthFile=cacert.pem
+IceSSL.CertFile=c_rsa1024_pub.pem
+IceSSL.KeyFile=c_rsa1024_priv.pem
+
+#
+# IceMX configuration.
+#
+#Ice.Admin.Endpoints=tcp -h localhost -p 10003
+Ice.Admin.InstanceName=client
+IceMX.Metrics.Debug.GroupBy=id
+IceMX.Metrics.ByParent.GroupBy=parent
+
diff --git a/cpp/demo/IceDiscovery/hello/config.server b/cpp/demo/IceDiscovery/hello/config.server
new file mode 100644
index 00000000000..d03024f20cf
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/config.server
@@ -0,0 +1,49 @@
+#
+# The server creates one single object adapter with the name
+# "Hello". The following sets the endpoints and the adapter ID for
+# this adapter.
+#
+Hello.Endpoints=tcp -h localhost:udp -h localhost:ssl -h localhost
+Hello.AdapterId=HelloAdapter
+
+#
+# Warn about connection exceptions
+#
+Ice.Warn.Connections=1
+
+#
+# Locator tracing
+#
+Ice.Trace.Locator=0
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:createIceDiscovery
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL:createIceSSL
+IceSSL.DefaultDir=../../../../certs
+IceSSL.CertAuthFile=cacert.pem
+IceSSL.CertFile=s_rsa1024_pub.pem
+IceSSL.KeyFile=s_rsa1024_priv.pem
+
+#
+# Uncomment the properties below if you want run the demo with the
+# Windows Store App hello client.
+#
+#Hello.Endpoints=tcp -p 10000:udp -p 10000:ssl -p 10001
+#IceSSL.VerifyPeer=0
+#IceSSL.DefaultDir=../../../../certs/winrt
+
+#
+# IceMX configuration.
+#
+#Ice.Admin.Endpoints=tcp -h localhost -p 10002
+Ice.Admin.InstanceName=server
+IceMX.Metrics.Debug.GroupBy=id
+IceMX.Metrics.ByParent.GroupBy=parent
+
+Ice.Plugin.IceDiscovery=IceDiscovery:createIceDiscovery
diff --git a/cpp/demo/IceDiscovery/hello/expect.py b/cpp/demo/IceDiscovery/hello/expect.py
new file mode 100755
index 00000000000..db0965458b6
--- /dev/null
+++ b/cpp/demo/IceDiscovery/hello/expect.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+import sys, os
+
+path = [ ".", "..", "../..", "../../..", "../../../.." ]
+head = os.path.dirname(sys.argv[0])
+if len(head) > 0:
+ path = [os.path.join(head, p) for p in path]
+path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "demoscript")) ]
+if len(path) == 0:
+ raise RuntimeError("can't find toplevel directory!")
+sys.path.append(path[0])
+
+from demoscript import Util
+from demoscript.Ice import hello
+
+server = Util.spawn('./server --Ice.PrintAdapterReady --Ice.Warn.Connections=0')
+server.expect('.* ready')
+client = Util.spawn('./client --Ice.Warn.Connections=0')
+client.expect('.*==>')
+
+hello.run(client, server)
diff --git a/cpp/demo/IceDiscovery/replication/.depend b/cpp/demo/IceDiscovery/replication/.depend
new file mode 100644
index 00000000000..e9459800e1d
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/.depend
@@ -0,0 +1,5 @@
+Hello$(OBJEXT): Hello.cpp Hello.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h
+Client$(OBJEXT): Client.cpp $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h $(includedir)/IceGrid/IceGrid.h $(includedir)/IceGrid/Admin.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceGrid/Exception.h $(includedir)/IceGrid/Descriptor.h $(includedir)/IceGrid/FileParser.h $(includedir)/IceGrid/Locator.h $(includedir)/IceGrid/Observer.h $(includedir)/IceGrid/Query.h $(includedir)/IceGrid/Registry.h $(includedir)/IceGrid/Session.h $(includedir)/IceGrid/UserAccountMapper.h Hello.h
+HelloI$(OBJEXT): HelloI.cpp $(includedir)/Ice/Ice.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h HelloI.h Hello.h
+Server$(OBJEXT): Server.cpp $(includedir)/Ice/Ice.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h HelloI.h Hello.h
+Hello.h Hello.cpp: Hello.ice $(SLICE2CPP) $(SLICEPARSERLIB)
diff --git a/cpp/demo/IceDiscovery/replication/.depend.mak b/cpp/demo/IceDiscovery/replication/.depend.mak
new file mode 100644
index 00000000000..631dd585eff
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/.depend.mak
@@ -0,0 +1,5 @@
+Hello$(OBJEXT): Hello.cpp Hello.h "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/ObjectFactory.h"
+Client$(OBJEXT): Client.cpp "$(includedir)/IceUtil/IceUtil.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/IceUtil/AbstractMutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/Cache.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/IceUtil/CountDownLatch.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/CtrlCHandler.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/IceUtil/RecMutex.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/UUID.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/Ice.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" "$(includedir)/IceGrid/IceGrid.h" "$(includedir)/IceGrid/Admin.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/Glacier2/Session.h" "$(includedir)/Glacier2/SSLInfo.h" "$(includedir)/IceGrid/Exception.h" "$(includedir)/IceGrid/Descriptor.h" "$(includedir)/IceGrid/FileParser.h" "$(includedir)/IceGrid/Locator.h" "$(includedir)/IceGrid/Observer.h" "$(includedir)/IceGrid/Query.h" "$(includedir)/IceGrid/Registry.h" "$(includedir)/IceGrid/Session.h" "$(includedir)/IceGrid/UserAccountMapper.h" Hello.h
+HelloI$(OBJEXT): HelloI.cpp "$(includedir)/Ice/Ice.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" HelloI.h Hello.h
+Server$(OBJEXT): Server.cpp "$(includedir)/Ice/Ice.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" HelloI.h Hello.h
+Hello.h Hello.cpp: Hello.ice "$(SLICE2CPP)" "$(SLICEPARSERLIB)"
diff --git a/cpp/demo/IceDiscovery/replication/.gitignore b/cpp/demo/IceDiscovery/replication/.gitignore
new file mode 100644
index 00000000000..b3dfc7b5b42
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/.gitignore
@@ -0,0 +1,12 @@
+// Generated by makegitignore.py
+
+// IMPORTANT: Do not edit this file -- any edits made here will be lost!
+client
+server
+Hello.cpp
+Hello.h
+db/master/*
+db/node1/*
+db/node2/*
+db/replica1/*
+db/replica2/*
diff --git a/cpp/demo/IceDiscovery/replication/Client.cpp b/cpp/demo/IceDiscovery/replication/Client.cpp
new file mode 100644
index 00000000000..22f53898cb6
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/Client.cpp
@@ -0,0 +1,97 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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 <IceUtil/IceUtil.h>
+#include <Ice/Ice.h>
+#include <IceGrid/IceGrid.h>
+#include <Hello.h>
+
+using namespace std;
+using namespace Demo;
+
+class HelloClient : public Ice::Application
+{
+public:
+
+ HelloClient();
+ virtual int run(int, char*[]);
+
+private:
+
+ void menu();
+};
+
+int
+main(int argc, char* argv[])
+{
+ HelloClient app;
+ return app.main(argc, argv, "config.client");
+}
+
+HelloClient::HelloClient() :
+ //
+ // Since this is an interactive demo we don't want any signal
+ // handling.
+ //
+ Ice::Application(Ice::NoSignalHandling)
+{
+}
+
+int
+HelloClient::run(int argc, char* argv[])
+{
+ if(argc > 1)
+ {
+ cerr << appName() << ": too many arguments" << endl;
+ return EXIT_FAILURE;
+ }
+
+ //
+ // Get the hello proxy. We configure the proxy to not cache the
+ // server connection with the proxy and to disable the locator
+ // cache. With this configuration, the IceGrid locator will be
+ // queried for each invocation on the proxy and the invocation
+ // will be sent over the server connection matching the returned
+ // endpoints.
+ //
+ Ice::ObjectPrx obj = communicator()->stringToProxy("hello");
+ obj = obj->ice_connectionCached(false);
+ obj = obj->ice_locatorCacheTimeout(0);
+
+ HelloPrx hello = HelloPrx::checkedCast(obj);
+ if(!hello)
+ {
+ cerr << argv[0] << ": couldn't find a `::Demo::Hello' object." << endl;
+ return EXIT_FAILURE;
+ }
+
+ string s;
+ do
+ {
+ cout << "enter the number of iterations: ";
+ cin >> s;
+ int count = atoi(s.c_str());
+ cout << "enter the delay between each greetings (in ms): ";
+ cin >> s;
+ int delay = atoi(s.c_str());
+ if(delay < 0)
+ {
+ delay = 500; // 500 milli-seconds
+ }
+
+ for(int i = 0; i < count; i++)
+ {
+ cout << hello->getGreeting() << endl;
+ IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(delay));
+ }
+ }
+ while(cin.good() && s != "x");
+
+ return EXIT_SUCCESS;
+}
diff --git a/cpp/demo/IceDiscovery/replication/Hello.ice b/cpp/demo/IceDiscovery/replication/Hello.ice
new file mode 100644
index 00000000000..dacdaa37f8b
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/Hello.ice
@@ -0,0 +1,22 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+module Demo
+{
+
+interface Hello
+{
+ idempotent string getGreeting();
+ void shutdown();
+};
+
+};
+
diff --git a/cpp/demo/IceDiscovery/replication/HelloI.cpp b/cpp/demo/IceDiscovery/replication/HelloI.cpp
new file mode 100644
index 00000000000..b12d9db5d47
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/HelloI.cpp
@@ -0,0 +1,30 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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/Ice.h>
+#include <HelloI.h>
+
+using namespace std;
+
+HelloI::HelloI(const string& name) : _name(name)
+{
+}
+
+std::string
+HelloI::getGreeting(const Ice::Current&)
+{
+ return _name + " says Hello World!";
+}
+
+void
+HelloI::shutdown(const Ice::Current& c)
+{
+ cout << _name << " shutting down..." << endl;
+ c.adapter->getCommunicator()->shutdown();
+}
diff --git a/cpp/demo/IceDiscovery/replication/HelloI.h b/cpp/demo/IceDiscovery/replication/HelloI.h
new file mode 100644
index 00000000000..2b3be5f02b5
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/HelloI.h
@@ -0,0 +1,29 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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>
+
+class HelloI : public Demo::Hello
+{
+public:
+
+ HelloI(const std::string&);
+
+ virtual std::string getGreeting(const Ice::Current&);
+ virtual void shutdown(const Ice::Current&);
+
+private:
+
+ const std::string _name;
+};
+
+#endif
diff --git a/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.client.vcxproj b/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.client.vcxproj
new file mode 100644
index 00000000000..159d9ca1826
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.client.vcxproj
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>IceDiscovery.replication.client</ProjectName>
+ <ProjectGuid>{DBDF5E2D-6F91-406B-819F-661F76856A60}</ProjectGuid>
+ <RootNamespace>IceGrid.replication.client</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\$(PlatformName)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\$(PlatformName)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;.\generated\client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;_DEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Iced.lib;IceUtild.lib;IceGridd.lib;Glacier2d.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <BuildLog>
+ <Path>
+ </Path>
+ </BuildLog>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;.\generated\client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;_DEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Iced.lib;IceUtild.lib;IceGridd.lib;Glacier2d.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>.;.\generated\client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;NDEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO /IGNORE:4089 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Ice.lib;IceUtil.lib;IceGrid.lib;Glacier2.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <BuildLog>
+ <Path>
+ </Path>
+ </BuildLog>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>.;.\generated\client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;NDEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO /IGNORE:4089 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Ice.lib;IceUtil.lib;IceGrid.lib;Glacier2.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="Client.cpp">
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="generated\client\Hello.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Hello.ice" />
+ <None Include="config.client" />
+ <None Include="README" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="generated\client\Hello.h" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties ZerocIce_Enabled="True" ZerocIce_VerboseLevel="1" ZerocIce_ProjectVersion="1" ZerocIce_OutputDir=".\generated\client" />
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.client.vcxproj.filters b/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.client.vcxproj.filters
new file mode 100644
index 00000000000..5bc7be56f50
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.client.vcxproj.filters
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{83887111-8024-4a55-a2cf-cd3fd3c8f77f}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{dddc3e83-1c45-4e91-ad52-0da1c3839c48}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{603f9d45-e6ba-4b86-a665-49be89e74b06}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="Client.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="generated\client\Hello.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Hello.ice">
+ <Filter>Resource Files</Filter>
+ </None>
+ <None Include="README" />
+ <None Include="config.client" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="generated\client\Hello.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.server.vcxproj b/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.server.vcxproj
new file mode 100644
index 00000000000..51272763ea7
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.server.vcxproj
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>IceDiscovery.replication.server</ProjectName>
+ <ProjectGuid>{60BF2E43-C238-4E77-A80F-37AA9F450727}</ProjectGuid>
+ <RootNamespace>IceGrid.replication.server</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(ALLUSERSPROFILE)\ZeroC\Ice.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\$(PlatformName)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\$(PlatformName)\$(ProjectName)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>.;.\generated\server;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;NDEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO /IGNORE:4089 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Ice.lib;IceUtil.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <BuildLog>
+ <Path>
+ </Path>
+ </BuildLog>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>.;.\generated\server;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;NDEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO /IGNORE:4089 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Ice.lib;IceUtil.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;.\generated\server;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;_DEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Iced.lib;IceUtild.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <BuildLog>
+ <Path>
+ </Path>
+ </BuildLog>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;.\generated\server;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;_DEBUG;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>Iced.lib;IceUtild.lib;setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="generated\server\Hello.cpp" />
+ <ClCompile Include="HelloI.cpp">
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Server.cpp">
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="generated\server\Hello.h" />
+ <ClInclude Include="HelloI.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Hello.ice" />
+ <None Include="README" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties ZerocIce_Enabled="True" ZerocIce_VerboseLevel="1" ZerocIce_ProjectVersion="1" ZerocIce_OutputDir=".\generated\server" />
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.server.vcxproj.filters b/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.server.vcxproj.filters
new file mode 100644
index 00000000000..5ffd5685189
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/IceDiscovery.replication.server.vcxproj.filters
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{bd8d2132-9d47-4ee7-8f23-c7ba94a5d99f}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{54870f36-9df0-4cc3-a998-2a7ac2e63337}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{a7b3a5ff-3a95-4e90-949c-e614be187bde}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="HelloI.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Server.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="generated\server\Hello.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="HelloI.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="generated\server\Hello.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Hello.ice">
+ <Filter>Resource Files</Filter>
+ </None>
+ <None Include="README" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/cpp/demo/IceDiscovery/replication/Makefile b/cpp/demo/IceDiscovery/replication/Makefile
new file mode 100644
index 00000000000..e333143657d
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/Makefile
@@ -0,0 +1,42 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../../..
+
+CLIENT = client
+SERVER = server
+
+TARGETS = $(CLIENT) $(SERVER)
+
+OBJS = Hello.o
+
+COBJS = Client.o
+
+SOBJS = HelloI.o \
+ Server.o
+
+SRCS = $(OBJS:.o=.cpp) \
+ $(COBJS:.o=.cpp) \
+ $(SOBJS:.o=.cpp) \
+
+SLICE_SRCS = Hello.ice
+
+include $(top_srcdir)/config/Make.rules
+
+CPPFLAGS := -I. $(CPPFLAGS)
+
+$(CLIENT): $(OBJS) $(COBJS)
+ rm -f $@
+ $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(COBJS) -lIceGrid -lGlacier2 $(LIBS)
+
+$(SERVER): $(OBJS) $(SOBJS)
+ rm -f $@
+ $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(SOBJS) $(LIBS)
+
+include .depend
diff --git a/cpp/demo/IceDiscovery/replication/Makefile.mak b/cpp/demo/IceDiscovery/replication/Makefile.mak
new file mode 100644
index 00000000000..ee9269de4e8
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/Makefile.mak
@@ -0,0 +1,51 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+
+CLIENT = client.exe
+SERVER = server.exe
+
+TARGETS = $(CLIENT) $(SERVER)
+
+OBJS = Hello.obj
+
+COBJS = Client.obj
+
+SOBJS = HelloI.obj \
+ Server.obj
+
+SRCS = $(OBJS:.obj=.cpp) \
+ $(COBJS:.obj=.cpp) \
+ $(SOBJS:.obj=.cpp)
+
+!include $(top_srcdir)/config/Make.rules.mak
+
+CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+
+!if "$(GENERATE_PDB)" == "yes"
+CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
+SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
+!endif
+
+$(CLIENT): $(OBJS) $(COBJS)
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(OBJS) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
+ icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+$(SERVER): $(OBJS) $(SOBJS)
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(OBJS) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+clean::
+ del /q Hello.cpp Hello.h
+
+!include .depend.mak
diff --git a/cpp/demo/IceDiscovery/replication/README b/cpp/demo/IceDiscovery/replication/README
new file mode 100644
index 00000000000..b29fdbfec46
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/README
@@ -0,0 +1,18 @@
+To run the demo, start the 3 servers:
+
+$ server --Ice.Config=config.server1
+$ server --Ice.Config=config.server2
+$ server --Ice.Config=config.server3
+
+In a separate window:
+
+$ client
+
+The client invokes the number of specified iterations with a given
+delay on a well-known proxy configured to use per-request load
+balancing. Each invocation on the proxy queries the Ice locator
+implemented by the IceDiscovery plugin.
+
+While the client is running and invoking on the server, you can try to
+stop some of the servers. As long as one server is still running, the
+client will continue to work.
diff --git a/cpp/demo/IceDiscovery/replication/Server.cpp b/cpp/demo/IceDiscovery/replication/Server.cpp
new file mode 100644
index 00000000000..d82b7103c51
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/Server.cpp
@@ -0,0 +1,48 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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/Ice.h>
+#include <HelloI.h>
+
+using namespace std;
+
+class Server : public Ice::Application
+{
+public:
+
+ virtual int run(int argc, char* argv[]);
+
+};
+
+int
+main(int argc, char* argv[])
+{
+ Server app;
+ int status = app.main(argc, argv);
+ return status;
+}
+
+int
+Server::run(int argc, char*[])
+{
+ if(argc > 1)
+ {
+ cerr << appName() << ": too many arguments" << endl;
+ return EXIT_FAILURE;
+ }
+
+ Ice::PropertiesPtr properties = communicator()->getProperties();
+ Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Hello");
+ Ice::Identity id = communicator()->stringToIdentity("hello");
+ Demo::HelloPtr hello = new HelloI(properties->getProperty("Ice.ProgramName"));
+ adapter->add(hello, id);
+ adapter->activate();
+ communicator()->waitForShutdown();
+ return EXIT_SUCCESS;
+}
diff --git a/cpp/demo/IceDiscovery/replication/config.client b/cpp/demo/IceDiscovery/replication/config.client
new file mode 100644
index 00000000000..3d65058b632
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/config.client
@@ -0,0 +1,9 @@
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:createIceDiscovery
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/cpp/demo/IceDiscovery/replication/config.server1 b/cpp/demo/IceDiscovery/replication/config.server1
new file mode 100644
index 00000000000..b5c44937f9e
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/config.server1
@@ -0,0 +1,31 @@
+#
+# The server creates one single object adapter with the name "Hello".
+#
+# The following configures the object adapter. We set endpoints with
+# no fixed port and we assign it a unique adapter ID that will be
+# embedded in indirect proxies.
+#
+# We also configure the replica group ID, object adapters sharing the
+# same replica group ID are part of the same replica group. When the
+# client resolves an indirect proxy refering to this replica group,
+# the locator implementation will return the endpoints of all the
+# object adapters part of the replica group.
+#
+Hello.Endpoints=tcp
+Hello.AdapterId=HelloAdapter1
+Hello.ReplicaGroupId=ReplicatedHelloAdapter
+
+#
+# Identify the server
+#
+Ice.ProgramName=Server1
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:createIceDiscovery
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/cpp/demo/IceDiscovery/replication/config.server2 b/cpp/demo/IceDiscovery/replication/config.server2
new file mode 100644
index 00000000000..89b5f04c9c9
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/config.server2
@@ -0,0 +1,31 @@
+#
+# The server creates one single object adapter with the name "Hello".
+#
+# The following configures the object adapter. We set endpoints with
+# no fixed port and we assign it a unique adapter ID that will be
+# embedded in indirect proxies.
+#
+# We also configure the replica group ID, object adapters sharing the
+# same replica group ID are part of the same replica group. When the
+# client resolves an indirect proxy refering to this replica group,
+# the locator implementation will return the endpoints of all the
+# object adapters part of the replica group.
+#
+Hello.Endpoints=tcp
+Hello.AdapterId=HelloAdapter2
+Hello.ReplicaGroupId=ReplicatedHelloAdapter
+
+#
+# Identify the server
+#
+Ice.ProgramName=Server2
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:createIceDiscovery
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/cpp/demo/IceDiscovery/replication/config.server3 b/cpp/demo/IceDiscovery/replication/config.server3
new file mode 100644
index 00000000000..e909d7fe8ac
--- /dev/null
+++ b/cpp/demo/IceDiscovery/replication/config.server3
@@ -0,0 +1,32 @@
+#
+# The server creates one single object adapter with the name "Hello".
+#
+# The following configures the object adapter. We set endpoints with
+# no fixed port and we assign it a unique adapter ID that will be
+# embedded in indirect proxies.
+#
+# We also configure the replica group ID, object adapters sharing the
+# same replica group ID are part of the same replica group. When the
+# client resolves an indirect proxy refering to this replica group,
+# the locator implementation will return the endpoints of all the
+# object adapters part of the replica group.
+#
+Hello.Endpoints=tcp
+Hello.AdapterId=HelloAdapter3
+Hello.ReplicaGroupId=ReplicatedHelloAdapter
+
+#
+# Identify the server
+#
+Ice.ProgramName=Server3
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:createIceDiscovery
+Ice.Default.CollocationOptimized=0 # Required by the plugin
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/cpp/demo/Makefile b/cpp/demo/Makefile
index 2b7010ef854..b0a265d5f4e 100644
--- a/cpp/demo/Makefile
+++ b/cpp/demo/Makefile
@@ -13,6 +13,7 @@ include $(top_srcdir)/config/Make.rules
SUBDIRS = IceUtil \
Ice \
+ IceDiscovery \
Freeze \
IceBox \
IceStorm \
diff --git a/cpp/demo/Makefile.mak b/cpp/demo/Makefile.mak
index 695cb57caec..d0365c18388 100644
--- a/cpp/demo/Makefile.mak
+++ b/cpp/demo/Makefile.mak
@@ -13,6 +13,7 @@ top_srcdir = ..
SUBDIRS = IceUtil \
Ice \
+ IceDiscovery \
book \
Glacier2 \
Freeze \
diff --git a/cpp/demo/demo-icediscovery.sln b/cpp/demo/demo-icediscovery.sln
new file mode 100755
index 00000000000..2dc6b1869a2
--- /dev/null
+++ b/cpp/demo/demo-icediscovery.sln
@@ -0,0 +1,56 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IceDiscovery.hello.client", "IceDiscovery\hello\IceDiscovery.hello.client.vcxproj", "{710A52F2-A014-4CB2-AF40-348D48DBCDDD}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IceDiscovery.hello.server", "IceDiscovery\hello\IceDiscovery.hello.server.vcxproj", "{25843122-783A-45E0-8D42-612C72D3B183}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IceDiscovery.replication.client", "IceDiscovery\replication\IceDiscovery.replication.client.vcxproj", "{DBDF5E2D-6F91-406B-819F-661F76856A60}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IceDiscovery.replication.server", "IceDiscovery\replication\IceDiscovery.replication.server.vcxproj", "{60BF2E43-C238-4E77-A80F-37AA9F450727}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {710A52F2-A014-4CB2-AF40-348D48DBCDDD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {710A52F2-A014-4CB2-AF40-348D48DBCDDD}.Debug|Win32.Build.0 = Debug|Win32
+ {710A52F2-A014-4CB2-AF40-348D48DBCDDD}.Debug|x64.ActiveCfg = Debug|x64
+ {710A52F2-A014-4CB2-AF40-348D48DBCDDD}.Debug|x64.Build.0 = Debug|x64
+ {710A52F2-A014-4CB2-AF40-348D48DBCDDD}.Release|Win32.ActiveCfg = Release|Win32
+ {710A52F2-A014-4CB2-AF40-348D48DBCDDD}.Release|Win32.Build.0 = Release|Win32
+ {710A52F2-A014-4CB2-AF40-348D48DBCDDD}.Release|x64.ActiveCfg = Release|x64
+ {710A52F2-A014-4CB2-AF40-348D48DBCDDD}.Release|x64.Build.0 = Release|x64
+ {25843122-783A-45E0-8D42-612C72D3B183}.Debug|Win32.ActiveCfg = Debug|Win32
+ {25843122-783A-45E0-8D42-612C72D3B183}.Debug|Win32.Build.0 = Debug|Win32
+ {25843122-783A-45E0-8D42-612C72D3B183}.Debug|x64.ActiveCfg = Debug|x64
+ {25843122-783A-45E0-8D42-612C72D3B183}.Debug|x64.Build.0 = Debug|x64
+ {25843122-783A-45E0-8D42-612C72D3B183}.Release|Win32.ActiveCfg = Release|Win32
+ {25843122-783A-45E0-8D42-612C72D3B183}.Release|Win32.Build.0 = Release|Win32
+ {25843122-783A-45E0-8D42-612C72D3B183}.Release|x64.ActiveCfg = Release|x64
+ {25843122-783A-45E0-8D42-612C72D3B183}.Release|x64.Build.0 = Release|x64
+ {DBDF5E2D-6F91-406B-819F-661F76856A60}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DBDF5E2D-6F91-406B-819F-661F76856A60}.Debug|Win32.Build.0 = Debug|Win32
+ {DBDF5E2D-6F91-406B-819F-661F76856A60}.Debug|x64.ActiveCfg = Debug|x64
+ {DBDF5E2D-6F91-406B-819F-661F76856A60}.Debug|x64.Build.0 = Debug|x64
+ {DBDF5E2D-6F91-406B-819F-661F76856A60}.Release|Win32.ActiveCfg = Release|Win32
+ {DBDF5E2D-6F91-406B-819F-661F76856A60}.Release|Win32.Build.0 = Release|Win32
+ {DBDF5E2D-6F91-406B-819F-661F76856A60}.Release|x64.ActiveCfg = Release|x64
+ {DBDF5E2D-6F91-406B-819F-661F76856A60}.Release|x64.Build.0 = Release|x64
+ {60BF2E43-C238-4E77-A80F-37AA9F450727}.Debug|Win32.ActiveCfg = Debug|Win32
+ {60BF2E43-C238-4E77-A80F-37AA9F450727}.Debug|Win32.Build.0 = Debug|Win32
+ {60BF2E43-C238-4E77-A80F-37AA9F450727}.Debug|x64.ActiveCfg = Debug|x64
+ {60BF2E43-C238-4E77-A80F-37AA9F450727}.Debug|x64.Build.0 = Debug|x64
+ {60BF2E43-C238-4E77-A80F-37AA9F450727}.Release|Win32.ActiveCfg = Release|Win32
+ {60BF2E43-C238-4E77-A80F-37AA9F450727}.Release|Win32.Build.0 = Release|Win32
+ {60BF2E43-C238-4E77-A80F-37AA9F450727}.Release|x64.ActiveCfg = Release|x64
+ {60BF2E43-C238-4E77-A80F-37AA9F450727}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/cpp/src/Ice/LocatorInfo.cpp b/cpp/src/Ice/LocatorInfo.cpp
index 9493f5a220d..26ab0a30577 100644
--- a/cpp/src/Ice/LocatorInfo.cpp
+++ b/cpp/src/Ice/LocatorInfo.cpp
@@ -40,22 +40,15 @@ public:
assert(ref->isWellKnown());
}
- virtual void send(bool async)
+ virtual void send()
{
try
{
- if(async)
- {
- _locatorInfo->getLocator()->begin_findObjectById(
- _ref->getIdentity(),
- newCallback_Locator_findObjectById(static_cast<LocatorInfo::Request*>(this),
- &LocatorInfo::Request::response,
- &LocatorInfo::Request::exception));
- }
- else
- {
- response(_locatorInfo->getLocator()->findObjectById(_ref->getIdentity()));
- }
+ _locatorInfo->getLocator()->begin_findObjectById(
+ _ref->getIdentity(),
+ newCallback_Locator_findObjectById(static_cast<LocatorInfo::Request*>(this),
+ &LocatorInfo::Request::response,
+ &LocatorInfo::Request::exception));
}
catch(const Ice::Exception& ex)
{
@@ -73,22 +66,15 @@ public:
assert(ref->isIndirect() && !ref->isWellKnown());
}
- virtual void send(bool async)
+ virtual void send()
{
try
{
- if(async)
- {
- _locatorInfo->getLocator()->begin_findAdapterById(
- _ref->getAdapterId(),
- newCallback_Locator_findAdapterById(static_cast<LocatorInfo::Request*>(this),
- &LocatorInfo::Request::response,
- &LocatorInfo::Request::exception));
- }
- else
- {
- response(_locatorInfo->getLocator()->findAdapterById(_ref->getAdapterId()));
- }
+ _locatorInfo->getLocator()->begin_findAdapterById(
+ _ref->getAdapterId(),
+ newCallback_Locator_findAdapterById(static_cast<LocatorInfo::Request*>(this),
+ &LocatorInfo::Request::response,
+ &LocatorInfo::Request::exception));
}
catch(const Ice::Exception& ex)
{
@@ -406,7 +392,7 @@ IceInternal::LocatorInfo::Request::addCallback(const ReferencePtr& ref,
{
_sent = true;
sync.release();
- send(true); // send() might call exception() from this thread so we need to release the mutex.
+ send(); // send() might call exception() from this thread so we need to release the mutex.
}
}
}
@@ -428,7 +414,7 @@ IceInternal::LocatorInfo::Request::getEndpoints(const ReferencePtr& ref,
{
_sent = true;
sync.release();
- send(true); // send() might call exception() from this thread so we need to release the mutex.
+ send(); // send() might call exception() from this thread so we need to release the mutex.
sync.acquire();
}
@@ -493,12 +479,6 @@ IceInternal::LocatorInfo::Request::response(const Ice::ObjectPrx& proxy)
void
IceInternal::LocatorInfo::Request::exception(const Ice::Exception& ex)
{
- if(dynamic_cast<const Ice::CollocationOptimizationException*>(&ex))
- {
- send(false); // Use synchronous collocation optimized locator request instead.
- return;
- }
-
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor);
_locatorInfo->finishRequest(_ref, _wellKnownRefs, 0, dynamic_cast<const Ice::UserException*>(&ex));
_exception.reset(ex.ice_clone());
@@ -510,7 +490,7 @@ IceInternal::LocatorInfo::Request::exception(const Ice::Exception& ex)
}
IceInternal::LocatorInfo::LocatorInfo(const LocatorPrx& locator, const LocatorTablePtr& table, bool background) :
- _locator(locator),
+ _locator(locator->ice_collocationOptimized(false)),
_table(table),
_background(background)
{
@@ -559,7 +539,7 @@ IceInternal::LocatorInfo::getLocatorRegistry()
//
// Do not make locator calls from within sync.
//
- LocatorRegistryPrx locatorRegistry = _locator->getRegistry();
+ LocatorRegistryPrx locatorRegistry = _locator->getRegistry()->ice_collocationOptimized(false);
{
IceUtil::Mutex::Lock sync(*this);
diff --git a/cpp/src/Ice/LocatorInfo.h b/cpp/src/Ice/LocatorInfo.h
index 2fc3576a26d..8515d40faf7 100644
--- a/cpp/src/Ice/LocatorInfo.h
+++ b/cpp/src/Ice/LocatorInfo.h
@@ -119,7 +119,7 @@ public:
Request(const LocatorInfoPtr&, const ReferencePtr&);
- virtual void send(bool) = 0;
+ virtual void send() = 0;
const LocatorInfoPtr _locatorInfo;
const ReferencePtr _ref;
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp
index ee614433586..9f7aae2debd 100644
--- a/cpp/src/Ice/Network.cpp
+++ b/cpp/src/Ice/Network.cpp
@@ -457,7 +457,29 @@ isWildcard(const string& host, ProtocolSupport protocol)
int
getInterfaceIndex(const string& name)
{
+ if(name.empty())
+ {
+ return 0;
+ }
+
int index = 0;
+
+ //
+ // First check if index
+ //
+ istringstream p(name);
+ if((p >> index) && p.eof())
+ {
+ return index;
+ }
+
+ //
+ // Then check if it's an IPv6 address. If it's an address we'll
+ // look for the interface index by address.
+ //
+ in6_addr addr;
+ bool isAddr = inet_pton(AF_INET6, name.c_str(), &addr) > 0;
+
#ifdef _WIN32
IP_ADAPTER_ADDRESSES addrs;
ULONG buflen = 0;
@@ -470,10 +492,35 @@ getInterfaceIndex(const string& name)
{
while(paddrs)
{
- if(IceUtil::wstringToString(paddrs->FriendlyName) == name)
+ if(isAddr)
{
- index = paddrs->Ipv6IfIndex;
- break;
+ PIP_ADAPTER_UNICAST_ADDRESS ipAddr = paddrs->FirstUnicastAddress;
+ while(ipAddr)
+ {
+ if(ipAddr->Address.lpSockaddr->sa_family == AF_INET6)
+ {
+ struct sockaddr_in6* ipv6Addr =
+ reinterpret_cast<struct sockaddr_in6*>(ipAddr->Address.lpSockaddr);
+ if(memcmp(&addr, &ipv6Addr->sin6_addr, sizeof(in6_addr)) == 0)
+ {
+ break;
+ }
+ }
+ ipAddr = ipAddr->Next;
+ }
+ if(ipAddr)
+ {
+ index = paddrs->Ipv6IfIndex;
+ break;
+ }
+ }
+ else
+ {
+ if(IceUtil::wstringToString(paddrs->FriendlyName) == name)
+ {
+ index = paddrs->Ipv6IfIndex;
+ break;
+ }
}
paddrs = paddrs->Next;
}
@@ -481,8 +528,104 @@ getInterfaceIndex(const string& name)
delete[] buf;
}
#elif !defined(__hpux)
- index = if_nametoindex(name.c_str());
+
+ //
+ // Look for an interface with a matching IP address
+ //
+ if(isAddr)
+ {
+#if defined(__linux) || defined(__APPLE__) || defined(__FreeBSD__)
+ struct ifaddrs* ifap;
+ if(::getifaddrs(&ifap) != SOCKET_ERROR)
+ {
+ struct ifaddrs* curr = ifap;
+ while(curr != 0)
+ {
+ if(curr->ifa_addr && curr->ifa_addr->sa_family == AF_INET6)
+ {
+ struct sockaddr_in6* ipv6Addr = reinterpret_cast<struct sockaddr_in6*>(curr->ifa_addr);
+ if(memcmp(&addr, &ipv6Addr->sin6_addr, sizeof(in6_addr)) == 0)
+ {
+ index = if_nametoindex(curr->ifa_name);
+ break;
+ }
+ }
+ curr = curr->ifa_next;
+ }
+ ::freeifaddrs(ifap);
+ }
+#else
+ SOCKET fd = createSocketImpl(false, AF_INET6);
+#ifdef _AIX
+ int cmd = CSIOCGIFCONF;
+#else
+ int cmd = SIOCGIFCONF;
#endif
+ struct ifconf ifc;
+ int numaddrs = 10;
+ int old_ifc_len = 0;
+
+ //
+ // Need to call ioctl multiple times since we do not know up front
+ // how many addresses there will be, and thus how large a buffer we need.
+ // We keep increasing the buffer size until subsequent calls return
+ // the same length, meaning we have all the addresses.
+ //
+ while(true)
+ {
+ int bufsize = numaddrs * static_cast<int>(sizeof(struct ifreq));
+ ifc.ifc_len = bufsize;
+ ifc.ifc_buf = (char*)malloc(bufsize);
+
+ int rs = ioctl(fd, cmd, &ifc);
+ if(rs == SOCKET_ERROR)
+ {
+ free(ifc.ifc_buf);
+ ifc.ifc_buf = 0;
+ break;
+ }
+ else if(ifc.ifc_len == old_ifc_len)
+ {
+ //
+ // Returned same length twice in a row, finished.
+ //
+ break;
+ }
+ else
+ {
+ old_ifc_len = ifc.ifc_len;
+ }
+ numaddrs += 10;
+ free(ifc.ifc_buf);
+ }
+ closeSocketNoThrow(fd);
+
+ if(ifc.ifc_buf)
+ {
+ numaddrs = ifc.ifc_len / static_cast<int>(sizeof(struct ifreq));
+ struct ifreq* ifr = ifc.ifc_req;
+ for(int i = 0; i < numaddrs; ++i)
+ {
+ if(ifr[i].ifr_addr.sa_family == AF_INET6)
+ {
+ struct sockaddr_in6* ipv6Addr = reinterpret_cast<struct sockaddr_in6*>(&ifr[i].ifr_addr);
+ if(memcmp(&addr, &ipv6Addr->sin6_addr, sizeof(in6_addr)) == 0)
+ {
+ index = if_nametoindex(ifr[i].ifr_name);
+ break;
+ }
+ }
+ }
+ free(ifc.ifc_buf);
+ }
+#endif
+ }
+ else // Look for an interface with the given name.
+ {
+ index = if_nametoindex(name.c_str());
+ }
+#endif
+
return index;
}
@@ -491,6 +634,16 @@ getInterfaceAddress(const string& name)
{
struct in_addr addr;
addr.s_addr = INADDR_ANY;
+ if(name.empty())
+ {
+ return addr;
+ }
+
+ if(inet_pton(AF_INET, name.c_str(), &addr) > 0)
+ {
+ return addr;
+ }
+
#ifdef _WIN32
IP_ADAPTER_ADDRESSES addrs;
ULONG buflen = 0;
@@ -1656,44 +1809,14 @@ IceInternal::setMcastGroup(SOCKET fd, const Address& group, const string& intf)
{
struct ip_mreq mreq;
mreq.imr_multiaddr = group.saIn.sin_addr;
- mreq.imr_interface.s_addr = INADDR_ANY;
- if(intf.size() > 0)
- {
- //
- // First see if it is the interface name. If not check if IP Address.
- //
- mreq.imr_interface = getInterfaceAddress(intf);
- if(mreq.imr_interface.s_addr == INADDR_ANY)
- {
- Address addr = getAddressForServer(intf, 0, EnableIPv4, false);
- mreq.imr_interface = addr.saIn.sin_addr;
- }
- }
+ mreq.imr_interface = getInterfaceAddress(intf);
rc = setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&mreq, int(sizeof(mreq)));
}
else
{
struct ipv6_mreq mreq;
mreq.ipv6mr_multiaddr = group.saIn6.sin6_addr;
- mreq.ipv6mr_interface = 0;
- if(intf.size() != 0)
- {
- //
- // First check if it is the interface name. If not check if index.
- //
- mreq.ipv6mr_interface = getInterfaceIndex(intf);
- if(mreq.ipv6mr_interface == 0)
- {
- istringstream p(intf);
- if(!(p >> mreq.ipv6mr_interface) || !p.eof())
- {
- closeSocketNoThrow(fd);
- SocketException ex(__FILE__, __LINE__);
- ex.error = 0;
- throw ex;
- }
- }
- }
+ mreq.ipv6mr_interface = getInterfaceIndex(intf);
rc = setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, (char*)&mreq, int(sizeof(mreq)));
}
if(rc == SOCKET_ERROR)
@@ -1734,33 +1857,12 @@ IceInternal::setMcastInterface(SOCKET fd, const string& intf, const Address& add
int rc;
if(addr.saStorage.ss_family == AF_INET)
{
- //
- // First see if it is the interface name. If not check if IP Address.
- //
struct in_addr iface = getInterfaceAddress(intf);
- if(iface.s_addr == INADDR_ANY)
- {
- Address addr = getAddressForServer(intf, 0, EnableIPv4, false);
- iface = addr.saIn.sin_addr;
- }
rc = setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, (char*)&iface, int(sizeof(iface)));
}
else
{
- //
- // First check if it is the interface name. If not check if index.
- //
int interfaceNum = getInterfaceIndex(intf);
- if(interfaceNum == 0)
- {
- istringstream p(intf);
- if(!(p >> interfaceNum) || !p.eof())
- {
- closeSocketNoThrow(fd);
- SocketException ex(__FILE__, __LINE__);
- ex.error = 0;
- }
- }
rc = setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, (char*)&interfaceNum, int(sizeof(int)));
}
if(rc == SOCKET_ERROR)
diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp
index 60fd316030c..fbfdb94d092 100644
--- a/cpp/src/Ice/PropertyNames.cpp
+++ b/cpp/src/Ice/PropertyNames.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
///* jshint -W044*/
-// Generated by makeprops.py from file ../config/PropertyNames.xml, Mon Apr 7 14:21:14 2014
+// Generated by makeprops.py from file ./config/PropertyNames.xml, Tue Apr 22 17:39:32 2014
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
@@ -177,6 +177,115 @@ const IceInternal::PropertyArray
IceInternal::PropertyNames::IceMXProps(IceMXPropsData,
sizeof(IceMXPropsData)/sizeof(IceMXPropsData[0]));
+const IceInternal::Property IceDiscoveryPropsData[] =
+{
+ IceInternal::Property("IceDiscovery.Multicast.ACM", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.AdapterId", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Endpoints", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Locator.EndpointSelection", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Locator.ConnectionCached", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Locator.PreferSecure", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Locator.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Locator.Locator", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Locator.Router", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Locator.CollocationOptimized", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Locator.Context.*", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Locator", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Router.EndpointSelection", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Router.ConnectionCached", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Router.PreferSecure", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Router.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Router.Locator", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Router.Router", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Router.CollocationOptimized", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Router.Context.*", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.Router", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.ProxyOptions", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.ThreadPool.Size", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.ThreadPool.Serialize", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.ThreadPool.ThreadIdleTime", false, 0),
+ IceInternal::Property("IceDiscovery.Multicast.ThreadPool.ThreadPriority", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.ACM", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.AdapterId", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Endpoints", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Locator.EndpointSelection", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Locator.ConnectionCached", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Locator.PreferSecure", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Locator.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Locator.Locator", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Locator.Router", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Locator.CollocationOptimized", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Locator.Context.*", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Locator", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Router.EndpointSelection", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Router.ConnectionCached", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Router.PreferSecure", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Router.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Router.Locator", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Router.Router", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Router.CollocationOptimized", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Router.Context.*", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.Router", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.ProxyOptions", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.ThreadPool.Size", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.ThreadPool.Serialize", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.ThreadPool.ThreadIdleTime", false, 0),
+ IceInternal::Property("IceDiscovery.Reply.ThreadPool.ThreadPriority", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.ACM", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.AdapterId", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Endpoints", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Locator.EndpointSelection", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Locator.ConnectionCached", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Locator.PreferSecure", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Locator.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Locator.Locator", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Locator.Router", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Locator.CollocationOptimized", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Locator.Context.*", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Locator", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Router.EndpointSelection", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Router.ConnectionCached", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Router.PreferSecure", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Router.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Router.Locator", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Router.Router", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Router.CollocationOptimized", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Router.Context.*", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.Router", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.ProxyOptions", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.ThreadPool.Size", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.ThreadPool.Serialize", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.ThreadPool.ThreadIdleTime", false, 0),
+ IceInternal::Property("IceDiscovery.Locator.ThreadPool.ThreadPriority", false, 0),
+ IceInternal::Property("IceDiscovery.Lookup", false, 0),
+ IceInternal::Property("IceDiscovery.Timeout", false, 0),
+ IceInternal::Property("IceDiscovery.RetryCount", false, 0),
+ IceInternal::Property("IceDiscovery.LatencyMultiplier", false, 0),
+ IceInternal::Property("IceDiscovery.Address", false, 0),
+ IceInternal::Property("IceDiscovery.Port", false, 0),
+ IceInternal::Property("IceDiscovery.Interface", false, 0),
+ IceInternal::Property("IceDiscovery.DomainId", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::IceDiscoveryProps(IceDiscoveryPropsData,
+ sizeof(IceDiscoveryPropsData)/sizeof(IceDiscoveryPropsData[0]));
+
const IceInternal::Property IceBoxPropsData[] =
{
IceInternal::Property("IceBox.InheritProperties", false, 0),
@@ -860,6 +969,7 @@ const IceInternal::PropertyArray IceInternal::PropertyNames::validProps[] =
{
IceProps,
IceMXProps,
+ IceDiscoveryProps,
IceBoxProps,
IceBoxAdminProps,
IceGridAdminProps,
@@ -878,6 +988,7 @@ const char* IceInternal::PropertyNames::clPropNames[] =
{
"Ice",
"IceMX",
+ "IceDiscovery",
"IceBox",
"IceBoxAdmin",
"IceGridAdmin",
diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h
index d395f08f9a4..64a7655b887 100644
--- a/cpp/src/Ice/PropertyNames.h
+++ b/cpp/src/Ice/PropertyNames.h
@@ -8,7 +8,7 @@
// **********************************************************************
///* jshint -W044*/
-// Generated by makeprops.py from file ../config/PropertyNames.xml, Mon Apr 7 14:21:14 2014
+// Generated by makeprops.py from file ./config/PropertyNames.xml, Tue Apr 22 17:39:32 2014
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
@@ -60,6 +60,7 @@ public:
static const PropertyArray IceProps;
static const PropertyArray IceMXProps;
+ static const PropertyArray IceDiscoveryProps;
static const PropertyArray IceBoxProps;
static const PropertyArray IceBoxAdminProps;
static const PropertyArray IceGridAdminProps;
diff --git a/cpp/src/IceDiscovery/.depend b/cpp/src/IceDiscovery/.depend
new file mode 100644
index 00000000000..abd97f5ac3b
--- /dev/null
+++ b/cpp/src/IceDiscovery/.depend
@@ -0,0 +1,5 @@
+LocatorI$(OBJEXT): LocatorI.cpp ../IceDiscovery/LocatorI.h $(includedir)/Ice/Locator.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h ../IceDiscovery/LookupI.h ../IceDiscovery/Internal.h $(includedir)/Ice/Properties.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h
+LookupI$(OBJEXT): LookupI.cpp $(includedir)/Ice/Connection.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/Properties.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/LocalException.h ../IceDiscovery/LookupI.h ../IceDiscovery/Internal.h ../IceDiscovery/LocatorI.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h
+IceDiscovery$(OBJEXT): IceDiscovery.cpp ../IceDiscovery/IceDiscovery.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/DisableWarnings.h
+PluginI$(OBJEXT): PluginI.cpp $(includedir)/Ice/Ice.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h ../IceDiscovery/PluginI.h ../IceDiscovery/LocatorI.h ../IceDiscovery/LookupI.h ../IceDiscovery/Internal.h
+IceDiscovery.h IceDiscovery.cpp: $(slicedir)/IceDiscovery/IceDiscovery.ice $(slicedir)/Ice/Identity.ice $(SLICE2CPP) $(SLICEPARSERLIB)
diff --git a/cpp/src/IceDiscovery/.depend.mak b/cpp/src/IceDiscovery/.depend.mak
new file mode 100644
index 00000000000..bfee476e4be
--- /dev/null
+++ b/cpp/src/IceDiscovery/.depend.mak
@@ -0,0 +1,5 @@
+LocatorI$(OBJEXT): LocatorI.cpp ../IceDiscovery/LocatorI.h "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" ../IceDiscovery/LookupI.h ../IceDiscovery/Internal.h "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h"
+LookupI$(OBJEXT): LookupI.cpp "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/LocalException.h" ../IceDiscovery/LookupI.h ../IceDiscovery/Internal.h ../IceDiscovery/LocatorI.h "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h"
+IceDiscovery$(OBJEXT): IceDiscovery.cpp ../IceDiscovery/IceDiscovery.h "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/IceUtil/DisableWarnings.h"
+PluginI$(OBJEXT): PluginI.cpp "$(includedir)/Ice/Ice.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" ../IceDiscovery/PluginI.h ../IceDiscovery/LocatorI.h ../IceDiscovery/LookupI.h ../IceDiscovery/Internal.h
+IceDiscovery.h IceDiscovery.cpp: "$(slicedir)/IceDiscovery/IceDiscovery.ice" "$(slicedir)/Ice/Identity.ice" "$(SLICE2CPP)" "$(SLICEPARSERLIB)"
diff --git a/cpp/src/IceDiscovery/.gitignore b/cpp/src/IceDiscovery/.gitignore
new file mode 100644
index 00000000000..9f2f43691cc
--- /dev/null
+++ b/cpp/src/IceDiscovery/.gitignore
@@ -0,0 +1,5 @@
+// Generated by makegitignore.py
+
+// IMPORTANT: Do not edit this file -- any edits made here will be lost!
+Internal.cpp
+Internal.h
diff --git a/cpp/src/IceDiscovery/IceDiscovery.rc b/cpp/src/IceDiscovery/IceDiscovery.rc
new file mode 100755
index 00000000000..5257c6e6dad
--- /dev/null
+++ b/cpp/src/IceDiscovery/IceDiscovery.rc
@@ -0,0 +1,38 @@
+#include "winver.h"
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 3,5,1,0
+ PRODUCTVERSION 3,5,1,0
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+ #define INTERNALNAME "icediscovery35d\0"
+ #define ORIGINALFILENAME "icediscovery35d.dll\0"
+#else
+ FILEFLAGS 0x0L
+ #define INTERNALNAME "icediscovery35\0"
+ #define ORIGINALFILENAME "icediscovery35.dll\0"
+#endif
+ FILEOS 0x4L
+ FILETYPE VFT_DLL
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904e4"
+ BEGIN
+ VALUE "CompanyName", "ZeroC, Inc.\0"
+ VALUE "FileDescription", "Ice Discovery DLL\0"
+ VALUE "FileVersion", "3.5.1\0"
+ VALUE "InternalName", INTERNALNAME
+ VALUE "LegalCopyright", "Copyright (c) 2003-2013 ZeroC, Inc. All rights reserved.\0"
+ VALUE "OriginalFilename", ORIGINALFILENAME
+ VALUE "ProductName", "Ice\0"
+ VALUE "ProductVersion", "3.5.1\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1252
+ END
+END
diff --git a/cpp/src/IceDiscovery/LocatorI.cpp b/cpp/src/IceDiscovery/LocatorI.cpp
new file mode 100644
index 00000000000..f6bf951d331
--- /dev/null
+++ b/cpp/src/IceDiscovery/LocatorI.cpp
@@ -0,0 +1,208 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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 <IceDiscovery/LocatorI.h>
+#include <IceDiscovery/LookupI.h>
+
+#include <Ice/LocalException.h>
+#include <Ice/Communicator.h>
+#include <Ice/ObjectAdapter.h>
+
+using namespace std;
+using namespace Ice;
+using namespace IceDiscovery;
+
+LocatorRegistryI::LocatorRegistryI(const Ice::CommunicatorPtr& com) :
+ _wellKnownProxy(com->stringToProxy("p")->ice_locator(0)->ice_router(0)->ice_collocationOptimized(true))
+{
+}
+
+void
+LocatorRegistryI::setAdapterDirectProxy_async(const AMD_LocatorRegistry_setAdapterDirectProxyPtr& cb,
+ const std::string& adapterId,
+ const ObjectPrx& proxy,
+ const Current&)
+{
+ Lock sync(*this);
+ if(proxy)
+ {
+ _adapters[adapterId] = proxy;
+ }
+ else
+ {
+ _adapters.erase(adapterId);
+ }
+ cb->ice_response();
+}
+
+void
+LocatorRegistryI::setReplicatedAdapterDirectProxy_async(
+ const AMD_LocatorRegistry_setReplicatedAdapterDirectProxyPtr& cb,
+ const std::string& adapterId,
+ const std::string& replicaGroupId,
+ const ObjectPrx& proxy,
+ const Current&)
+{
+ Lock sync(*this);
+ if(proxy)
+ {
+ _adapters[adapterId] = proxy;
+ map<string, set<string> >::iterator p = _replicaGroups.find(replicaGroupId);
+ if(p == _replicaGroups.end())
+ {
+ p = _replicaGroups.insert(make_pair(replicaGroupId, set<string>())).first;
+ }
+ p->second.insert(adapterId);
+ }
+ else
+ {
+ _adapters.erase(adapterId);
+ map<string, set<string> >::iterator p = _replicaGroups.find(replicaGroupId);
+ if(p != _replicaGroups.end())
+ {
+ p->second.erase(adapterId);
+ if(p->second.empty())
+ {
+ _replicaGroups.erase(p);
+ }
+ }
+ }
+ cb->ice_response();
+}
+
+void
+LocatorRegistryI::setServerProcessProxy_async(const AMD_LocatorRegistry_setServerProcessProxyPtr& cb,
+ const std::string&,
+ const ProcessPrx&,
+ const Current&)
+{
+ cb->ice_response();
+}
+
+Ice::ObjectPrx
+LocatorRegistryI::findObject(const Ice::Identity& id) const
+{
+ Lock sync(*this);
+ if(id.name.empty())
+ {
+ return 0;
+ }
+
+ Ice::ObjectPrx prx = _wellKnownProxy->ice_identity(id);
+
+ vector<string> adapterIds;
+ for(map<string, set<string> >::const_iterator p = _replicaGroups.begin(); p != _replicaGroups.end(); ++p)
+ {
+ try
+ {
+ prx->ice_adapterId(p->first)->ice_ping();
+ adapterIds.push_back(p->first);
+ }
+ catch(const Ice::Exception&)
+ {
+ // Ignore
+ }
+ }
+
+ if(adapterIds.empty())
+ {
+ for(map<string, Ice::ObjectPrx>::const_iterator p = _adapters.begin(); p != _adapters.end(); ++p)
+ {
+ try
+ {
+ prx->ice_adapterId(p->first)->ice_ping();
+ adapterIds.push_back(p->first);
+ }
+ catch(const Ice::Exception&)
+ {
+ // Ignore
+ }
+ }
+ }
+
+ if(adapterIds.empty())
+ {
+ return 0;
+ }
+
+ random_shuffle(adapterIds.begin(), adapterIds.end());
+ return prx->ice_adapterId(adapterIds[0]);
+}
+
+Ice::ObjectPrx
+LocatorRegistryI::findAdapter(const string& adapterId, bool& isReplicaGroup) const
+{
+ Lock sync(*this);
+
+ map<string, Ice::ObjectPrx>::const_iterator p = _adapters.find(adapterId);
+ if(p != _adapters.end())
+ {
+ isReplicaGroup = false;
+ return p->second;
+ }
+
+ map<string, set<string> >::const_iterator q = _replicaGroups.find(adapterId);
+ if(q != _replicaGroups.end())
+ {
+ Ice::EndpointSeq endpoints;
+ Ice::ObjectPrx prx;
+ for(set<string>::const_iterator r = q->second.begin(); r != q->second.end(); ++r)
+ {
+ map<string, Ice::ObjectPrx>::const_iterator s = _adapters.find(*r);
+ if(s == _adapters.end())
+ {
+ continue; // TODO: Inconsistency
+ }
+
+ if(!prx)
+ {
+ prx = s->second;
+ }
+
+ Ice::EndpointSeq endpts = s->second->ice_getEndpoints();
+ copy(endpts.begin(), endpts.end(), back_inserter(endpoints));
+ }
+
+ if(prx)
+ {
+ isReplicaGroup = true;
+ return prx->ice_endpoints(endpoints);
+ }
+ }
+
+ isReplicaGroup = false;
+ return 0;
+}
+
+LocatorI::LocatorI(const LookupIPtr& lookup, const LocatorRegistryPrx& registry) : _lookup(lookup), _registry(registry)
+{
+}
+
+void
+LocatorI::findObjectById_async(const AMD_Locator_findObjectByIdPtr& cb,
+ const Identity& id,
+ const Current&) const
+{
+ _lookup->findObject(cb, id);
+}
+
+void
+LocatorI::findAdapterById_async(const AMD_Locator_findAdapterByIdPtr& cb,
+ const std::string& adapterId,
+ const Current&) const
+{
+ _lookup->findAdapter(cb, adapterId);
+}
+
+LocatorRegistryPrx
+LocatorI::getRegistry(const Current&) const
+{
+ return _registry;
+}
+
diff --git a/cpp/src/IceDiscovery/LocatorI.h b/cpp/src/IceDiscovery/LocatorI.h
new file mode 100644
index 00000000000..700f4305129
--- /dev/null
+++ b/cpp/src/IceDiscovery/LocatorI.h
@@ -0,0 +1,76 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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 LOCATORI_H
+#define LOCATORI_H
+
+#include <Ice/Locator.h>
+#include <Ice/ProxyF.h>
+
+namespace IceDiscovery
+{
+
+class LocatorRegistryI : public Ice::LocatorRegistry, private IceUtil::Mutex
+{
+public:
+
+ LocatorRegistryI(const Ice::CommunicatorPtr&);
+
+ virtual void
+ setAdapterDirectProxy_async(const Ice::AMD_LocatorRegistry_setAdapterDirectProxyPtr&, const std::string&,
+ const Ice::ObjectPrx&, const Ice::Current&);
+
+ virtual void
+ setReplicatedAdapterDirectProxy_async(const Ice::AMD_LocatorRegistry_setReplicatedAdapterDirectProxyPtr&,
+ const std::string&, const std::string&, const Ice::ObjectPrx&,
+ const Ice::Current&);
+
+ virtual void
+ setServerProcessProxy_async(const Ice::AMD_LocatorRegistry_setServerProcessProxyPtr&, const std::string&,
+ const Ice::ProcessPrx&, const Ice::Current&);
+
+ Ice::ObjectPrx findObject(const Ice::Identity&) const;
+ Ice::ObjectPrx findAdapter(const std::string&, bool&) const;
+
+private:
+
+ const Ice::ObjectPrx _wellKnownProxy;
+ std::map<std::string, Ice::ObjectPrx> _adapters;
+ std::map<std::string, std::set<std::string> > _replicaGroups;
+};
+typedef IceInternal::Handle<LocatorRegistryI> LocatorRegistryIPtr;
+
+class LookupI;
+typedef IceInternal::Handle<LookupI> LookupIPtr;
+
+class LocatorI : public Ice::Locator
+{
+public:
+
+ LocatorI(const LookupIPtr&, const Ice::LocatorRegistryPrx&);
+
+ virtual void
+ findObjectById_async(const Ice::AMD_Locator_findObjectByIdPtr&, const Ice::Identity&,
+ const Ice::Current&) const;
+
+ virtual void
+ findAdapterById_async(const Ice::AMD_Locator_findAdapterByIdPtr&, const std::string&,
+ const Ice::Current&) const;
+
+ virtual Ice::LocatorRegistryPrx getRegistry(const Ice::Current&) const;
+
+private:
+
+ LookupIPtr _lookup;
+ Ice::LocatorRegistryPrx _registry;
+};
+
+};
+
+#endif
diff --git a/cpp/src/IceDiscovery/LookupI.cpp b/cpp/src/IceDiscovery/LookupI.cpp
new file mode 100644
index 00000000000..01e33ca1a2b
--- /dev/null
+++ b/cpp/src/IceDiscovery/LookupI.cpp
@@ -0,0 +1,303 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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/Connection.h>
+#include <Ice/ObjectAdapter.h>
+#include <Ice/Communicator.h>
+#include <Ice/LocalException.h>
+
+#include <IceDiscovery/LookupI.h>
+
+using namespace std;
+using namespace Ice;
+using namespace IceDiscovery;
+
+IceDiscovery::Request::Request(LookupI* lookup, int retryCount) : _lookup(lookup), _nRetry(retryCount)
+{
+}
+
+bool
+IceDiscovery::Request::retry()
+{
+ return --_nRetry >= 0;
+}
+
+bool
+AdapterRequest::retry()
+{
+ return _proxies.empty() && --_nRetry >= 0;
+}
+
+bool
+AdapterRequest::response(const Ice::ObjectPrx& proxy, bool isReplicaGroup)
+{
+ if(isReplicaGroup)
+ {
+ if(_latency == IceUtil::Time())
+ {
+ _latency = (IceUtil::Time::now() - _start) * _lookup->latencyMultiplier();
+ _lookup->timer()->cancel(this);
+ _lookup->timer()->schedule(this, _latency);
+ }
+ _proxies.push_back(proxy);
+ return false;
+ }
+ finished(proxy);
+ return true;
+}
+
+void
+AdapterRequest::finished(const Ice::ObjectPrx& proxy)
+{
+ if(proxy || _proxies.empty())
+ {
+ RequestT<std::string, Ice::AMD_Locator_findAdapterByIdPtr>::finished(proxy);
+ return;
+ }
+ else if(_proxies.size() == 1)
+ {
+ RequestT<std::string, Ice::AMD_Locator_findAdapterByIdPtr>::finished(_proxies[0]);
+ return;
+ }
+
+ Ice::EndpointSeq endpoints;
+ Ice::ObjectPrx prx;
+ for(vector<Ice::ObjectPrx>::const_iterator p = _proxies.begin(); p != _proxies.end(); ++p)
+ {
+ if(!prx)
+ {
+ prx = *p;
+ }
+ Ice::EndpointSeq endpts = (*p)->ice_getEndpoints();
+ copy(endpts.begin(), endpts.end(), back_inserter(endpoints));
+ }
+ RequestT<std::string, Ice::AMD_Locator_findAdapterByIdPtr>::finished(prx->ice_endpoints(endpoints));
+}
+
+void
+AdapterRequest::runTimerTask()
+{
+ _lookup->adapterRequestTimedOut(this);
+}
+
+void
+ObjectRequest::response(const Ice::ObjectPrx& proxy)
+{
+ finished(proxy);
+}
+
+void
+ObjectRequest::runTimerTask()
+{
+ _lookup->objectRequestTimedOut(this);
+}
+
+LookupI::LookupI(const LocatorRegistryIPtr& registry, const LookupPrx& lookup, const Ice::PropertiesPtr& properties) :
+ _registry(registry),
+ _lookup(lookup),
+ _timeout(IceUtil::Time::milliSeconds(properties->getPropertyAsIntWithDefault("IceDiscovery.Timeout", 300))),
+ _retryCount(properties->getPropertyAsIntWithDefault("IceDiscovery.RetryCount", 3)),
+ _latencyMultiplier(properties->getPropertyAsIntWithDefault("IceDiscovery.LatencyMultiplier", 1)),
+ _domainId(properties->getProperty("IceDiscovery.DomainId")),
+ _timer(new IceUtil::Timer())
+{
+}
+
+void
+LookupI::setLookupReply(const LookupReplyPrx& lookupReply)
+{
+ _lookupReply = lookupReply;
+}
+
+void
+LookupI::findObjectById(const string& domainId, const Ice::Identity& id, const IceDiscovery::LookupReplyPrx& reply,
+ const Ice::Current& c)
+{
+ if(domainId != _domainId)
+ {
+ return; // Ignore.
+ }
+
+ Ice::ObjectPrx proxy = _registry->findObject(id);
+ if(proxy)
+ {
+ //
+ // Reply to the mulicast request using the given proxy.
+ //
+ getLookupReply(reply, c)->begin_foundObjectById(id, proxy);
+ }
+}
+
+void
+LookupI::findAdapterById(const string& domainId, const std::string& adapterId,
+ const IceDiscovery::LookupReplyPrx& reply, const Ice::Current& c)
+{
+ if(domainId != _domainId)
+ {
+ return; // Ignore.
+ }
+
+ bool isReplicaGroup;
+ Ice::ObjectPrx proxy = _registry->findAdapter(adapterId, isReplicaGroup);
+ if(proxy)
+ {
+ //
+ // Reply to the multicast request using the given proxy.
+ //
+ getLookupReply(reply, c)->begin_foundAdapterById(adapterId, proxy, isReplicaGroup);
+ }
+}
+
+void
+LookupI::findObject(const Ice::AMD_Locator_findObjectByIdPtr& cb, const Ice::Identity& id)
+{
+ Lock sync(*this);
+ map<Ice::Identity, ObjectRequestPtr>::const_iterator p = _objectRequests.find(id);
+ if(p == _objectRequests.end())
+ {
+ p = _objectRequests.insert(make_pair(id, new ObjectRequest(this, id, _retryCount))).first;
+ }
+
+ if(p->second->addCallback(cb))
+ {
+ _lookup->findObjectById(_domainId, id, _lookupReply);
+ _timer->schedule(p->second, _timeout);
+ }
+}
+
+void
+LookupI::findAdapter(const Ice::AMD_Locator_findAdapterByIdPtr& cb, const std::string& adapterId)
+{
+ Lock sync(*this);
+ map<string, AdapterRequestPtr>::const_iterator p = _adapterRequests.find(adapterId);
+ if(p == _adapterRequests.end())
+ {
+ p = _adapterRequests.insert(make_pair(adapterId, new AdapterRequest(this, adapterId, _retryCount))).first;
+ }
+
+ if(p->second->addCallback(cb))
+ {
+ _lookup->findAdapterById(_domainId, adapterId, _lookupReply);
+ _timer->schedule(p->second, _timeout);
+ }
+}
+
+void
+LookupI::foundObject(const Ice::Identity& id, const Ice::ObjectPrx& proxy)
+{
+ Lock sync(*this);
+ map<Ice::Identity, ObjectRequestPtr>::iterator p = _objectRequests.find(id);
+ if(p == _objectRequests.end())
+ {
+ return;
+ }
+
+ p->second->response(proxy);
+ _timer->cancel(p->second);
+ _objectRequests.erase(p);
+}
+
+void
+LookupI::foundAdapter(const std::string& adapterId, const Ice::ObjectPrx& proxy, bool isReplicaGroup)
+{
+ Lock sync(*this);
+ map<string, AdapterRequestPtr>::iterator p = _adapterRequests.find(adapterId);
+ if(p == _adapterRequests.end())
+ {
+ return;
+ }
+
+ if(p->second->response(proxy, isReplicaGroup))
+ {
+ _timer->cancel(p->second);
+ _adapterRequests.erase(p);
+ }
+}
+
+void
+LookupI::objectRequestTimedOut(const ObjectRequestPtr& request)
+{
+ Lock sync(*this);
+ map<Ice::Identity, ObjectRequestPtr>::iterator p = _objectRequests.find(request->getId());
+ if(p == _objectRequests.end() || p->second.get() != request.get())
+ {
+ return;
+ }
+
+ if(request->retry())
+ {
+ _lookup->findObjectById(_domainId, request->getId(), _lookupReply);
+ _timer->schedule(p->second, _timeout);
+ }
+ else
+ {
+ request->finished(0);
+ _objectRequests.erase(p);
+ _timer->cancel(request);
+ }
+}
+
+void
+LookupI::adapterRequestTimedOut(const AdapterRequestPtr& request)
+{
+ Lock sync(*this);
+ map<string, AdapterRequestPtr>::iterator p = _adapterRequests.find(request->getId());
+ if(p == _adapterRequests.end() || p->second.get() != request.get())
+ {
+ return;
+ }
+
+ if(request->retry())
+ {
+ _lookup->findAdapterById(_domainId, request->getId(), _lookupReply);
+ _timer->schedule(p->second, _timeout);
+ }
+ else
+ {
+ request->finished(0);
+ _adapterRequests.erase(p);
+ _timer->cancel(request);
+ }
+}
+
+LookupReplyPrx
+LookupI::getLookupReply(const LookupReplyPrx& reply, const Ice::Current& current) const
+{
+ // Ice::UDPConnectionInfoPtr info = Ice::UDPConnectionInfoPtr::dynamicCast(current.con->getInfo());
+ // if(info)
+ // {
+ // Ice::CommunicatorPtr com = current.adapter->getCommunicator();
+ // ostringstream os;
+ // os << "\"" << com->identityToString(reply->ice_getIdentity()) << "\"";
+ // os << ":udp -h " << info->remoteAddress << " -p " << info->remotePort;
+ // return LookupReplyPrx::uncheckedCast(com->stringToProxy(os.str())->ice_datagram());
+ // }
+ // else
+ {
+ return reply;
+ }
+}
+
+LookupReplyI::LookupReplyI(const LookupIPtr& lookup) : _lookup(lookup)
+{
+}
+
+void
+LookupReplyI::foundObjectById(const Ice::Identity& id, const Ice::ObjectPrx& proxy, const Ice::Current&)
+{
+ _lookup->foundObject(id, proxy);
+}
+
+void
+LookupReplyI::foundAdapterById(const std::string& adapterId, const Ice::ObjectPrx& proxy, bool isReplicaGroup,
+ const Ice::Current&)
+{
+ _lookup->foundAdapter(adapterId, proxy, isReplicaGroup);
+}
+
diff --git a/cpp/src/IceDiscovery/LookupI.h b/cpp/src/IceDiscovery/LookupI.h
new file mode 100644
index 00000000000..ed1bf5ea087
--- /dev/null
+++ b/cpp/src/IceDiscovery/LookupI.h
@@ -0,0 +1,181 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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 LOOKUPI_H
+#define LOOKUPI_H
+
+#include <IceDiscovery/Internal.h>
+#include <IceDiscovery/LocatorI.h>
+
+#include <Ice/Properties.h>
+
+namespace IceDiscovery
+{
+
+class LookupI;
+
+class Request : public IceUtil::TimerTask
+{
+public:
+
+ Request(LookupI*, int);
+
+ virtual bool retry();
+
+protected:
+
+ LookupI* _lookup;
+ int _nRetry;
+};
+
+template<class T, class CB> class RequestT : public Request
+{
+public:
+
+ RequestT(LookupI* lookup, T id, int retryCount) : Request(lookup, retryCount), _id(id)
+ {
+ }
+
+ T getId() const
+ {
+ return _id;
+ }
+
+ bool addCallback(CB cb)
+ {
+ _callbacks.push_back(cb);
+ return _callbacks.size() == 1;
+ }
+
+ virtual void finished(const Ice::ObjectPrx& proxy)
+ {
+ for(typename std::vector<CB>::const_iterator p = _callbacks.begin(); p != _callbacks.end(); ++p)
+ {
+ (*p)->ice_response(proxy);
+ }
+ _callbacks.clear();
+ }
+
+protected:
+
+ const T _id;
+ std::vector<CB> _callbacks;
+};
+
+class ObjectRequest : public RequestT<Ice::Identity, Ice::AMD_Locator_findObjectByIdPtr>
+{
+public:
+
+ ObjectRequest(LookupI* lookup, const Ice::Identity& id, int retryCount) :
+ RequestT<Ice::Identity, Ice::AMD_Locator_findObjectByIdPtr>(lookup, id, retryCount)
+ {
+ }
+
+ void response(const Ice::ObjectPrx&);
+
+private:
+
+ virtual void runTimerTask();
+};
+typedef IceUtil::Handle<ObjectRequest> ObjectRequestPtr;
+
+class AdapterRequest : public RequestT<std::string, Ice::AMD_Locator_findAdapterByIdPtr>
+{
+public:
+
+ AdapterRequest(LookupI* lookup, const std::string& adapterId, int retryCount) :
+ RequestT<std::string, Ice::AMD_Locator_findAdapterByIdPtr>(lookup, adapterId, retryCount),
+ _start(IceUtil::Time::now())
+ {
+ }
+
+ bool response(const Ice::ObjectPrx&, bool);
+
+ virtual bool retry();
+ virtual void finished(const Ice::ObjectPrx&);
+
+private:
+
+ virtual void runTimerTask();
+ std::vector<Ice::ObjectPrx> _proxies;
+ IceUtil::Time _start;
+ IceUtil::Time _latency;
+};
+typedef IceUtil::Handle<AdapterRequest> AdapterRequestPtr;
+
+class LookupI : public Lookup, private IceUtil::Mutex
+{
+public:
+
+ LookupI(const LocatorRegistryIPtr&, const LookupPrx&, const Ice::PropertiesPtr&);
+
+ void setLookupReply(const LookupReplyPrx&);
+
+ virtual void findObjectById(const std::string&, const Ice::Identity&, const IceDiscovery::LookupReplyPrx&,
+ const Ice::Current&);
+ virtual void findAdapterById(const std::string&, const std::string&, const IceDiscovery::LookupReplyPrx&,
+ const Ice::Current&);
+
+ void findObject(const Ice::AMD_Locator_findObjectByIdPtr&, const Ice::Identity&);
+ void findAdapter(const Ice::AMD_Locator_findAdapterByIdPtr&, const std::string&);
+
+ void foundObject(const Ice::Identity&, const Ice::ObjectPrx&);
+ void foundAdapter(const std::string&, const Ice::ObjectPrx&, bool);
+
+ void adapterRequestTimedOut(const AdapterRequestPtr&);
+ void objectRequestTimedOut(const ObjectRequestPtr&);
+
+ const IceUtil::TimerPtr&
+ timer()
+ {
+ return _timer;
+ }
+
+ int
+ latencyMultiplier()
+ {
+ return _latencyMultiplier;
+ }
+
+private:
+
+ LookupReplyPrx getLookupReply(const LookupReplyPrx&, const Ice::Current&) const;
+
+ LocatorRegistryIPtr _registry;
+ const LookupPrx _lookup;
+ LookupReplyPrx _lookupReply;
+ const IceUtil::Time _timeout;
+ const int _retryCount;
+ const int _latencyMultiplier;
+ const std::string _domainId;
+
+ IceUtil::TimerPtr _timer;
+ Ice::ObjectPrx _wellKnownProxy;
+
+ std::map<Ice::Identity, ObjectRequestPtr> _objectRequests;
+ std::map<std::string, AdapterRequestPtr> _adapterRequests;
+};
+
+class LookupReplyI : public LookupReply
+{
+public:
+
+ LookupReplyI(const LookupIPtr&);
+
+ virtual void foundObjectById(const Ice::Identity&, const Ice::ObjectPrx&, const Ice::Current&);
+ virtual void foundAdapterById(const std::string&, const Ice::ObjectPrx&, bool, const Ice::Current&);
+
+private:
+
+ const LookupIPtr _lookup;
+};
+
+};
+
+#endif
diff --git a/cpp/src/IceDiscovery/Makefile b/cpp/src/IceDiscovery/Makefile
new file mode 100644
index 00000000000..bd674e95f93
--- /dev/null
+++ b/cpp/src/IceDiscovery/Makefile
@@ -0,0 +1,59 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../..
+
+LIBFILENAME = $(call mklibfilename,IceDiscovery,$(VERSION))
+SONAME = $(call mksoname,IceDiscovery,$(SOVERSION))
+LIBNAME = $(call mklibname,IceDiscovery)
+
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
+
+OBJS = LocatorI.o \
+ LookupI.o \
+ IceDiscovery.o \
+ PluginI.o
+
+SRCS = $(OBJS:.o=.cpp)
+
+SLICE_SRCS = $(slicedir)/IceDiscovery/IceDiscovery.ice
+
+include $(top_srcdir)/config/Make.rules
+
+CPPFLAGS := -I.. $(CPPFLAGS) -DICE_DISCOVERY_API_EXPORTS
+SLICE2CPPFLAGS := --ice --include-dir IceDiscovery --dll-export ICE_DISCOVERY_API $(SLICE2CPPFLAGS)
+
+LINKWITH := $(BZIP2_RPATH_LINK) -lIce -lIceUtil $(CXXLIBS)
+
+ifeq ($(STATICLIBS),yes)
+$(libdir)/$(LIBNAME): $(OBJS)
+ rm -f $@
+ $(call mklib,$@,$(OBJS))
+else
+$(libdir)/$(LIBFILENAME): $(OBJS)
+ rm -f $@
+ $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
+
+$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
+ rm -f $@
+ ln -s $(LIBFILENAME) $@
+
+$(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
+ rm -f $@
+ ln -s $(SONAME) $@
+endif
+
+IceDiscovery.h IceDiscovery.cpp: $(slicedir)/IceDiscovery/IceDiscovery.ice $(SLICE2CPP) $(SLICEPARSERLIB)
+ rm -f IceDiscovery.h IceDiscovery.cpp
+ $(SLICE2CPP) $(SLICE2CPPFLAGS) $(slicedir)/IceDiscovery/IceDiscovery.ice
+
+install:: all
+ $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
+
+include .depend
diff --git a/cpp/src/IceDiscovery/Makefile.mak b/cpp/src/IceDiscovery/Makefile.mak
new file mode 100644
index 00000000000..2247c0424ad
--- /dev/null
+++ b/cpp/src/IceDiscovery/Makefile.mak
@@ -0,0 +1,68 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..
+
+LIBNAME = $(top_srcdir)\lib\icediscovery$(LIBSUFFIX).lib
+DLLNAME = $(top_srcdir)\bin\icediscovery$(SOVERSION)$(LIBSUFFIX)$(COMPSUFFIX).dll
+
+TARGETS = $(LIBNAME) $(DLLNAME)
+
+OBJS = LocatorI.obj \
+ LookupI.obj \
+ IceDiscovery.obj \
+ PluginI.obj
+
+SRCS = $(OBJS:.obj=.cpp)
+
+SLICE_SRCS = $(slicedir)\IceDiscovery\IceDiscovery.ice
+
+!include $(top_srcdir)/config/Make.rules.mak
+
+CPPFLAGS = -I.. $(CPPFLAGS) -DICE_DISCOVERY_API_EXPORTS -DWIN32_LEAN_AND_MEAN
+SLICE2CPPFLAGS = --ice --include-dir IceDiscovery --dll-export ICE_DISCOVERY_API $(SLICE2CPPFLAGS)
+
+LINKWITH = $(LIBS) ws2_32.lib
+
+!if "$(GENERATE_PDB)" == "yes"
+PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
+!endif
+
+RES_FILE = IceDiscovery.res
+
+$(LIBNAME): $(DLLNAME)
+
+$(DLLNAME): $(OBJS) IceDiscovery.res
+ $(LINK) $(BASE):0x24000000 $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) $(RES_FILE)
+ move $(DLLNAME:.dll=.lib) $(LIBNAME)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
+ @if exist $(DLLNAME:.dll=.exp) del /q $(DLLNAME:.dll=.exp)
+
+IceDiscovery.h IceDiscovery.cpp: $(slicedir)\IceDiscovery\IceDiscovery.ice $(SLICE2CPP) $(SLICEPARSERLIB)
+ del /q $(*F).h $(*F).cpp
+ "$(SLICE2CPP)" $(SLICE2CPPFLAGS) $(slicedir)\IceDiscovery\IceDiscovery.ice
+
+clean::
+ -del /q IceDiscovery.cpp $(HDIR)\IceDiscovery.h
+ -del /q IceDiscovery.res
+
+install:: all
+ copy $(LIBNAME) "$(install_libdir)"
+ copy $(DLLNAME) "$(install_bindir)"
+
+
+!if "$(GENERATE_PDB)" == "yes"
+
+install:: all
+ copy $(DLLNAME:.dll=.pdb) "$(install_bindir)"
+
+!endif
+
+!include .depend.mak
diff --git a/cpp/src/IceDiscovery/PluginI.cpp b/cpp/src/IceDiscovery/PluginI.cpp
new file mode 100644
index 00000000000..78f4b61544c
--- /dev/null
+++ b/cpp/src/IceDiscovery/PluginI.cpp
@@ -0,0 +1,146 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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/Ice.h>
+
+#include <IceDiscovery/PluginI.h>
+#include <IceDiscovery/LocatorI.h>
+#include <IceDiscovery/LookupI.h>
+
+using namespace std;
+using namespace IceDiscovery;
+
+//
+// Plugin factory function.
+//
+extern "C"
+{
+
+ICE_DECLSPEC_EXPORT Ice::Plugin*
+createIceDiscovery(const Ice::CommunicatorPtr& communicator, const string&, const Ice::StringSeq&)
+{
+ return new PluginI(communicator);
+}
+
+}
+
+PluginI::PluginI(const Ice::CommunicatorPtr& communicator) : _communicator(communicator)
+{
+ Ice::InitializationData initData;
+ initData.properties = communicator->getProperties()->clone();
+ initData.properties->setProperty("Ice.Default.CollocationOptimized", "0");
+ Ice::PropertyDict props = initData.properties->getPropertiesForPrefix("Ice.Plugin.");
+ for(Ice::PropertyDict::const_iterator p = props.begin(); p != props.end(); ++p)
+ {
+ initData.properties->setProperty(p->first, "");
+ }
+ _pluginCommunicator = Ice::initialize(initData);
+}
+
+void
+PluginI::initialize()
+{
+ Ice::PropertiesPtr properties = _pluginCommunicator->getProperties();
+
+ bool ipv4 = properties->getPropertyAsIntWithDefault("Ice.IPv4", 1) > 0;
+ string address;
+ if(ipv4)
+ {
+ address = properties->getPropertyWithDefault("IceDiscovery.Address", "239.255.0.1");
+ }
+ else
+ {
+ address = properties->getPropertyWithDefault("IceDiscovery.Address", "ff15::1");
+ }
+ int port = properties->getPropertyAsIntWithDefault("IceDiscovery.Port", 4061);
+ string interface = properties->getProperty("IceDiscovery.Interface");
+
+ if(properties->getProperty("IceDiscovery.Multicast.Endpoints").empty())
+ {
+ ostringstream os;
+ os << "udp -h \"" << address << "\" -p " << port;
+ if(!interface.empty())
+ {
+ os << " --interface \"" << interface << "\"";
+ }
+ properties->setProperty("IceDiscovery.Multicast.Endpoints", os.str());
+ }
+ if(properties->getProperty("IceDiscovery.Reply.Endpoints").empty())
+ {
+ ostringstream os;
+ os << "udp";
+ if(!interface.empty())
+ {
+ os << " -h \"" << interface << "\"";
+ }
+ properties->setProperty("IceDiscovery.Reply.Endpoints", os.str());
+ }
+ if(properties->getProperty("IceDiscovery.Locator.Endpoints").empty())
+ {
+ if(ipv4)
+ {
+ properties->setProperty("IceDiscovery.Locator.Endpoints", "tcp -h 127.0.0.1");
+ }
+ else
+ {
+ properties->setProperty("IceDiscovery.Locator.Endpoints", "tcp -h \"::1\"");
+ }
+ }
+
+ Ice::ObjectAdapterPtr multicastAdapter = _pluginCommunicator->createObjectAdapter("IceDiscovery.Multicast");
+ Ice::ObjectAdapterPtr replyAdapter = _pluginCommunicator->createObjectAdapter("IceDiscovery.Reply");
+ Ice::ObjectAdapterPtr locatorAdapter = _pluginCommunicator->createObjectAdapter("IceDiscovery.Locator");
+
+ //
+ // Setup locatory registry.
+ //
+ LocatorRegistryIPtr locatorRegistry = new LocatorRegistryI(_communicator);
+ Ice::LocatorRegistryPrx locatorRegistryPrx =
+ Ice::LocatorRegistryPrx::uncheckedCast(locatorAdapter->addWithUUID(locatorRegistry));
+
+ string lookupEndpoints = properties->getProperty("IceDiscovery.Lookup");
+ if(lookupEndpoints.empty())
+ {
+ ostringstream os;
+ os << "udp -h \"" << address << "\" -p " << port;
+ if(!interface.empty())
+ {
+ os << " --interface \"" << interface << "\"";
+ }
+ lookupEndpoints = os.str();
+ }
+
+ Ice::ObjectPrx lookupPrx = _pluginCommunicator->stringToProxy("IceDiscovery/Lookup -d:" + lookupEndpoints);
+ lookupPrx = lookupPrx->ice_collocationOptimized(false);
+
+ //
+ // Add lookup and lookup reply Ice objects
+ //
+ LookupIPtr lookup = new LookupI(locatorRegistry, LookupPrx::uncheckedCast(lookupPrx), properties);
+ multicastAdapter->add(lookup, _pluginCommunicator->stringToIdentity("IceDiscovery/Lookup"));
+
+ Ice::ObjectPrx lookupReply = replyAdapter->addWithUUID(new LookupReplyI(lookup))->ice_datagram();
+ lookup->setLookupReply(LookupReplyPrx::uncheckedCast(lookupReply));
+
+ //
+ // Setup locator on the communicator.
+ //
+ Ice::ObjectPrx loc = locatorAdapter->addWithUUID(new LocatorI(lookup, locatorRegistryPrx));
+ _communicator->setDefaultLocator(Ice::LocatorPrx::uncheckedCast(_communicator->stringToProxy(loc->ice_toString())));
+
+ multicastAdapter->activate();
+ replyAdapter->activate();
+ locatorAdapter->activate();
+}
+
+void
+PluginI::destroy()
+{
+ _pluginCommunicator->destroy();
+}
diff --git a/cpp/src/IceDiscovery/PluginI.h b/cpp/src/IceDiscovery/PluginI.h
new file mode 100644
index 00000000000..4124602a08f
--- /dev/null
+++ b/cpp/src/IceDiscovery/PluginI.h
@@ -0,0 +1,35 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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 PLUGIN_I_H
+#define PLUGIN_I_H
+
+#include <Ice/Plugin.h>
+
+namespace IceDiscovery
+{
+
+class PluginI : public Ice::Plugin
+{
+public:
+
+ PluginI(const Ice::CommunicatorPtr&);
+
+ virtual void initialize();
+ virtual void destroy();
+
+private:
+
+ const Ice::CommunicatorPtr _communicator;
+ Ice::CommunicatorPtr _pluginCommunicator;
+};
+
+};
+
+#endif
diff --git a/cpp/src/Makefile b/cpp/src/Makefile
index be82e9f78e5..1a2a28a0c55 100644
--- a/cpp/src/Makefile
+++ b/cpp/src/Makefile
@@ -36,6 +36,7 @@ else
IceXML \
IceSSL \
IceWS \
+ IceDiscovery \
Freeze \
FreezeScript \
IceBox \
diff --git a/cpp/src/Makefile.mak b/cpp/src/Makefile.mak
index 9500dc88c13..b4f49ead099 100644
--- a/cpp/src/Makefile.mak
+++ b/cpp/src/Makefile.mak
@@ -43,6 +43,7 @@ SUBDIRS = IceUtil \
Ice \
IceSSL \
IceWS \
+ IceDiscovery \
ca \
IceXML \
Freeze \
diff --git a/cpp/test/Ice/info/AllTests.cpp b/cpp/test/Ice/info/AllTests.cpp
index c99f43b3e92..68279a1f664 100644
--- a/cpp/test/Ice/info/AllTests.cpp
+++ b/cpp/test/Ice/info/AllTests.cpp
@@ -114,7 +114,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
}
cout << "ok" << endl;
- Ice::ObjectPrx base = communicator->stringToProxy("test:default -p 12010:udp -p 12010");
+ Ice::ObjectPrx base = communicator->stringToProxy("test:default -p 12010:udp -p 12010 -c");
TestIntfPrx testIntf = TestIntfPrx::checkedCast(base);
cout << "test connection endpoint information... " << flush;
@@ -173,8 +173,8 @@ allTests(const Ice::CommunicatorPtr& communicator)
test(info->adapterName.empty());
test(info->localPort > 0);
test(info->remotePort == 12010);
- test(info->remoteAddress ==defaultHost);
- test(info->localAddress == defaultHost);
+ test(info->remoteAddress == defaultHost);
+ //test(info->localAddress == defaultHost);
}
cout << "ok" << endl;
diff --git a/cpp/test/Ice/proxy/AllTests.cpp b/cpp/test/Ice/proxy/AllTests.cpp
index afdaf32031b..ec458abf2f5 100644
--- a/cpp/test/Ice/proxy/AllTests.cpp
+++ b/cpp/test/Ice/proxy/AllTests.cpp
@@ -396,7 +396,8 @@ allTests(const Ice::CommunicatorPtr& communicator)
test(proxyProps["Test.LocatorCacheTimeout"] == "100");
test(proxyProps["Test.Locator"] == "locator -t -e " + Ice::encodingVersionToString(Ice::currentEncoding));
- test(proxyProps["Test.Locator.CollocationOptimized"] == "1");
+ // Locator collocation optimization is always disabled.
+ //test(proxyProps["Test.Locator.CollocationOptimized"] == "1");
test(proxyProps["Test.Locator.ConnectionCached"] == "0");
test(proxyProps["Test.Locator.PreferSecure"] == "1");
test(proxyProps["Test.Locator.EndpointSelection"] == "Random");
diff --git a/cpp/test/IceDiscovery/Makefile b/cpp/test/IceDiscovery/Makefile
new file mode 100644
index 00000000000..49729fd8c06
--- /dev/null
+++ b/cpp/test/IceDiscovery/Makefile
@@ -0,0 +1,32 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../..
+
+include $(top_srcdir)/config/Make.rules
+
+
+SUBDIRS = simple
+
+
+.PHONY: $(EVERYTHING) $(SUBDIRS)
+
+all:: $(SUBDIRS)
+
+$(SUBDIRS):
+ @echo "making all in $@"
+ @$(MAKE) all --directory=$@
+
+
+$(EVERYTHING_EXCEPT_ALL)::
+ @for subdir in $(SUBDIRS); \
+ do \
+ echo "making $@ in $$subdir"; \
+ ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
+ done
diff --git a/cpp/test/IceDiscovery/Makefile.mak b/cpp/test/IceDiscovery/Makefile.mak
new file mode 100644
index 00000000000..863aea5acf9
--- /dev/null
+++ b/cpp/test/IceDiscovery/Makefile.mak
@@ -0,0 +1,19 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..
+
+!include $(top_srcdir)/config/Make.rules.mak
+
+SUBDIRS = simple
+
+$(EVERYTHING)::
+ @for %i in ( $(SUBDIRS) ) do \
+ @echo "making $@ in %i" && \
+ cmd /c "cd %i && $(MAKE) -nologo -f Makefile.mak $@" || exit 1
diff --git a/cpp/test/IceDiscovery/simple/.depend b/cpp/test/IceDiscovery/simple/.depend
new file mode 100644
index 00000000000..575e9adec18
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/.depend
@@ -0,0 +1,6 @@
+Test$(OBJEXT): Test.cpp Test.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h
+Client$(OBJEXT): Client.cpp $(includedir)/Ice/Ice.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h ../../include/TestCommon.h $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/UUID.h Test.h
+AllTests$(OBJEXT): AllTests.cpp $(includedir)/Ice/Ice.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h ../../include/TestCommon.h $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/UUID.h Test.h
+TestI$(OBJEXT): TestI.cpp $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h TestI.h Test.h
+Server$(OBJEXT): Server.cpp $(includedir)/Ice/Ice.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h ../../include/TestCommon.h $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/UUID.h TestI.h Test.h
+Test.h Test.cpp: Test.ice $(slicedir)/Ice/Identity.ice $(SLICE2CPP) $(SLICEPARSERLIB)
diff --git a/cpp/test/IceDiscovery/simple/.depend.mak b/cpp/test/IceDiscovery/simple/.depend.mak
new file mode 100644
index 00000000000..3a778706b41
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/.depend.mak
@@ -0,0 +1,6 @@
+Test$(OBJEXT): Test.cpp Test.h "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/ObjectFactory.h"
+Client$(OBJEXT): Client.cpp "$(includedir)/Ice/Ice.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" ../../include/TestCommon.h "$(includedir)/IceUtil/IceUtil.h" "$(includedir)/IceUtil/AbstractMutex.h" "$(includedir)/IceUtil/Cache.h" "$(includedir)/IceUtil/CountDownLatch.h" "$(includedir)/IceUtil/CtrlCHandler.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/IceUtil/RecMutex.h" "$(includedir)/IceUtil/UUID.h" Test.h
+AllTests$(OBJEXT): AllTests.cpp "$(includedir)/Ice/Ice.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" ../../include/TestCommon.h "$(includedir)/IceUtil/IceUtil.h" "$(includedir)/IceUtil/AbstractMutex.h" "$(includedir)/IceUtil/Cache.h" "$(includedir)/IceUtil/CountDownLatch.h" "$(includedir)/IceUtil/CtrlCHandler.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/IceUtil/RecMutex.h" "$(includedir)/IceUtil/UUID.h" Test.h
+TestI$(OBJEXT): TestI.cpp "$(includedir)/IceUtil/IceUtil.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/IceUtil/AbstractMutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/Cache.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/IceUtil/CountDownLatch.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/CtrlCHandler.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/IceUtil/RecMutex.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/UUID.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/Ice.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" TestI.h Test.h
+Server$(OBJEXT): Server.cpp "$(includedir)/Ice/Ice.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" "$(includedir)/Ice/IconvStringConverter.h" ../../include/TestCommon.h "$(includedir)/IceUtil/IceUtil.h" "$(includedir)/IceUtil/AbstractMutex.h" "$(includedir)/IceUtil/Cache.h" "$(includedir)/IceUtil/CountDownLatch.h" "$(includedir)/IceUtil/CtrlCHandler.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/IceUtil/RecMutex.h" "$(includedir)/IceUtil/UUID.h" TestI.h Test.h
+Test.h Test.cpp: Test.ice "$(slicedir)/Ice/Identity.ice" "$(SLICE2CPP)" "$(SLICEPARSERLIB)"
diff --git a/cpp/test/IceDiscovery/simple/.gitignore b/cpp/test/IceDiscovery/simple/.gitignore
new file mode 100644
index 00000000000..67872faa673
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/.gitignore
@@ -0,0 +1,7 @@
+// Generated by makegitignore.py
+
+// IMPORTANT: Do not edit this file -- any edits made here will be lost!
+client
+server
+Test.cpp
+Test.h
diff --git a/cpp/test/IceDiscovery/simple/AllTests.cpp b/cpp/test/IceDiscovery/simple/AllTests.cpp
new file mode 100644
index 00000000000..8311717a49c
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/AllTests.cpp
@@ -0,0 +1,203 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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/Ice.h>
+#include <TestCommon.h>
+#include <Test.h>
+
+using namespace std;
+using namespace Ice;
+using namespace Test;
+
+void
+allTests(const CommunicatorPtr& communicator, int num)
+{
+ vector<ControllerPrx> proxies;
+ vector<ControllerPrx> indirectProxies;
+ for(int i = 0; i < num; ++i)
+ {
+ {
+ ostringstream os;
+ os << "controller" << i;
+ proxies.push_back(ControllerPrx::uncheckedCast(communicator->stringToProxy(os.str())));
+ }
+ {
+ ostringstream os;
+ os << "controller" << i << "@control" << i;
+ indirectProxies.push_back(ControllerPrx::uncheckedCast(communicator->stringToProxy(os.str())));
+ }
+ }
+
+ cout << "testing indirect proxies... " << flush;
+ {
+ for(vector<ControllerPrx>::const_iterator p = indirectProxies.begin(); p != indirectProxies.end(); ++p)
+ {
+ (*p)->ice_ping();
+ }
+ }
+ cout << "ok" << endl;
+
+ cout << "testing well-known proxies... " << flush;
+ {
+ for(vector<ControllerPrx>::const_iterator p = proxies.begin(); p != proxies.end(); ++p)
+ {
+ (*p)->ice_ping();
+ }
+ }
+ cout << "ok" << endl;
+
+ cout << "testing object adapter registration... " << flush;
+ {
+ try
+ {
+ communicator->stringToProxy("object @ oa1")->ice_ping();
+ }
+ catch(const Ice::NoEndpointException&)
+ {
+ }
+
+ proxies[0]->activateObjectAdapter("oa", "oa1", "");
+
+ try
+ {
+ communicator->stringToProxy("object @ oa1")->ice_ping();
+ }
+ catch(const Ice::ObjectNotExistException&)
+ {
+ }
+
+ proxies[0]->deactivateObjectAdapter("oa");
+
+ try
+ {
+ communicator->stringToProxy("object @ oa1")->ice_ping();
+ }
+ catch(const Ice::NoEndpointException&)
+ {
+ }
+ }
+ cout << "ok" << endl;
+
+ cout << "testing object adapter migration..." << flush;
+ {
+ proxies[0]->activateObjectAdapter("oa", "oa1", "");
+ proxies[0]->addObject("oa", "object");
+ communicator->stringToProxy("object @ oa1")->ice_ping();
+ proxies[0]->removeObject("oa", "object");
+ proxies[0]->deactivateObjectAdapter("oa");
+
+ proxies[1]->activateObjectAdapter("oa", "oa1", "");
+ proxies[1]->addObject("oa", "object");
+ communicator->stringToProxy("object @ oa1")->ice_ping();
+ proxies[1]->removeObject("oa", "object");
+ proxies[1]->deactivateObjectAdapter("oa");
+ }
+ cout << "ok" << endl;
+
+ cout << "testing object migration..." << flush;
+ {
+ proxies[0]->activateObjectAdapter("oa", "oa1", "");
+ proxies[1]->activateObjectAdapter("oa", "oa2", "");
+
+ proxies[0]->addObject("oa", "object");
+ communicator->stringToProxy("object @ oa1")->ice_ping();
+ communicator->stringToProxy("object")->ice_ping();
+ proxies[0]->removeObject("oa", "object");
+
+ proxies[1]->addObject("oa", "object");
+ communicator->stringToProxy("object @ oa2")->ice_ping();
+ communicator->stringToProxy("object")->ice_ping();
+ proxies[1]->removeObject("oa", "object");
+
+ try
+ {
+ communicator->stringToProxy("object @ oa1")->ice_ping();
+ }
+ catch(const Ice::ObjectNotExistException&)
+ {
+ }
+ try
+ {
+ communicator->stringToProxy("object @ oa2")->ice_ping();
+ }
+ catch(const Ice::ObjectNotExistException&)
+ {
+ }
+
+ proxies[0]->deactivateObjectAdapter("oa");
+ proxies[1]->deactivateObjectAdapter("oa");
+ }
+ cout << "ok" << endl;
+
+ cout << "testing replica groups..." << flush;
+ {
+ proxies[0]->activateObjectAdapter("oa", "oa1", "rg");
+ proxies[1]->activateObjectAdapter("oa", "oa2", "rg");
+ proxies[2]->activateObjectAdapter("oa", "oa3", "rg");
+
+ proxies[0]->addObject("oa", "object");
+ proxies[1]->addObject("oa", "object");
+ proxies[2]->addObject("oa", "object");
+
+ communicator->stringToProxy("object @ oa1")->ice_ping();
+ communicator->stringToProxy("object @ oa2")->ice_ping();
+ communicator->stringToProxy("object @ oa3")->ice_ping();
+
+ communicator->stringToProxy("object @ rg")->ice_ping();
+
+ set<string> adapterIds;
+ adapterIds.insert("oa1");
+ adapterIds.insert("oa2");
+ adapterIds.insert("oa3");
+ TestIntfPrx intf = TestIntfPrx::uncheckedCast(communicator->stringToProxy("object"));
+ intf = intf->ice_connectionCached(false)->ice_locatorCacheTimeout(0);
+ while(!adapterIds.empty())
+ {
+ adapterIds.erase(intf->getAdapterId());
+ }
+
+ while(true)
+ {
+ adapterIds.insert("oa1");
+ adapterIds.insert("oa2");
+ adapterIds.insert("oa3");
+ intf = TestIntfPrx::uncheckedCast(communicator->stringToProxy("object @ rg"))->ice_connectionCached(false);
+ int nRetry = 100;
+ while(!adapterIds.empty() && --nRetry > 0)
+ {
+ adapterIds.erase(intf->getAdapterId());
+ }
+ if(nRetry > 0)
+ {
+ break;
+ }
+
+ // The previous locator lookup probably didn't return all the replicas... try again.
+ communicator->stringToProxy("object @ rg")->ice_locatorCacheTimeout(0)->ice_ping();
+ }
+
+ proxies[0]->deactivateObjectAdapter("oa");
+ proxies[1]->deactivateObjectAdapter("oa");
+ test(TestIntfPrx::uncheckedCast(communicator->stringToProxy("object @ rg"))->getAdapterId() == "oa3");
+ proxies[2]->deactivateObjectAdapter("oa");
+
+ proxies[0]->activateObjectAdapter("oa", "oa1", "rg");
+ proxies[0]->addObject("oa", "object");
+ test(TestIntfPrx::uncheckedCast(communicator->stringToProxy("object @ rg"))->getAdapterId() == "oa1");
+ proxies[0]->deactivateObjectAdapter("oa");
+ }
+ cout << "ok" << endl;
+
+ cout << "shutting down... " << flush;
+ for(vector<ControllerPrx>::const_iterator p = proxies.begin(); p != proxies.end(); ++p)
+ {
+ (*p)->shutdown();
+ }
+ cout << "ok" << endl;
+}
diff --git a/cpp/test/IceDiscovery/simple/Client.cpp b/cpp/test/IceDiscovery/simple/Client.cpp
new file mode 100644
index 00000000000..cde4d8a292c
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/Client.cpp
@@ -0,0 +1,60 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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/Ice.h>
+#include <TestCommon.h>
+#include <Test.h>
+
+DEFINE_TEST("client")
+
+using namespace std;
+using namespace Test;
+
+int
+run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+{
+ int num = argc == 2 ? atoi(argv[1]) : 1;
+
+ void allTests(const Ice::CommunicatorPtr&, int);
+ allTests(communicator, num);
+ return EXIT_SUCCESS;
+}
+
+int
+main(int argc, char* argv[])
+{
+ int status;
+ Ice::CommunicatorPtr communicator;
+
+ try
+ {
+ communicator = Ice::initialize(argc, argv);
+ status = run(argc, argv, communicator);
+ }
+ catch(const Ice::Exception& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+
+ if(communicator)
+ {
+ try
+ {
+ communicator->destroy();
+ }
+ catch(const Ice::Exception& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+ }
+
+ return status;
+}
diff --git a/cpp/test/IceDiscovery/simple/Makefile b/cpp/test/IceDiscovery/simple/Makefile
new file mode 100644
index 00000000000..670db06638b
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/Makefile
@@ -0,0 +1,43 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../../..
+
+CLIENT = $(call mktestname,client)
+SERVER = $(call mktestname,server)
+
+TARGETS = $(CLIENT) $(SERVER)
+
+OBJS = Test.o \
+
+COBJS = Client.o \
+ AllTests.o
+
+SOBJS = TestI.o \
+ Server.o
+
+SRCS = $(OBJS:.o=.cpp) \
+ $(COBJS:.o=.cpp) \
+ $(SOBJS:.o=.cpp)
+
+SLICE_SRCS = Test.ice
+
+include $(top_srcdir)/config/Make.rules
+
+CPPFLAGS := -I. -I../../include $(CPPFLAGS)
+
+$(CLIENT): $(OBJS) $(COBJS)
+ rm -f $@
+ $(call mktest,$@,$(OBJS) $(COBJS), $(LIBS))
+
+$(SERVER): $(OBJS) $(SOBJS)
+ rm -f $@
+ $(call mktest,$@,$(OBJS) $(SOBJS), $(LIBS))
+
+include .depend
diff --git a/cpp/test/IceDiscovery/simple/Makefile.mak b/cpp/test/IceDiscovery/simple/Makefile.mak
new file mode 100644
index 00000000000..464865de7ea
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/Makefile.mak
@@ -0,0 +1,64 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+
+!if "$(WINRT)" != "yes"
+NAME_PREFIX =
+EXT = .exe
+!else
+NAME_PREFIX = Ice_udp_
+EXT = .dll
+!endif
+
+CLIENT = $(NAME_PREFIX)client
+SERVER = $(NAME_PREFIX)server
+
+TARGETS = $(CLIENT)$(EXT) $(SERVER)$(EXT)
+
+COBJS = Test.obj \
+ Client.obj \
+ AllTests.obj
+
+SOBJS = Test.obj \
+ TestI.obj \
+ Server.obj
+
+SRCS = $(COBJS:.obj=.cpp) \
+ $(SOBJS:.obj=.cpp)
+
+!include $(top_srcdir)/config/Make.rules.mak
+
+CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+
+!if "$(WINRT)" != "yes"
+LD_TESTFLAGS = $(LD_EXEFLAGS) $(SETARGV)
+!else
+LD_TESTFLAGS = $(LD_DLLFLAGS) /export:dllMain
+!endif
+
+!if "$(GENERATE_PDB)" == "yes"
+CPDBFLAGS = /pdb:$(CLIENT).pdb
+SPDBFLAGS = /pdb:$(SERVER).pdb
+!endif
+
+$(CLIENT)$(EXT): $(COBJS)
+ $(LINK) $(LD_TESTFLAGS) $(CPDBFLAGS) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+$(SERVER)$(EXT): $(SOBJS)
+ $(LINK) $(LD_TESTFLAGS) $(SPDBFLAGS) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+clean::
+ del /q Test.cpp Test.h
+
+!include .depend.mak
diff --git a/cpp/test/IceDiscovery/simple/Server.cpp b/cpp/test/IceDiscovery/simple/Server.cpp
new file mode 100644
index 00000000000..20006d21d11
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/Server.cpp
@@ -0,0 +1,81 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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/Ice.h>
+#include <TestCommon.h>
+#include <TestI.h>
+
+DEFINE_TEST("server")
+
+using namespace std;
+
+int
+run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+{
+ Ice::PropertiesPtr properties = communicator->getProperties();
+
+ int num = argc == 2 ? atoi(argv[1]) : 0;
+
+ {
+ ostringstream os;
+ os << "default -p " << (12010 + num);
+ properties->setProperty("ControlAdapter.Endpoints", os.str());
+ }
+ {
+ ostringstream os;
+ os << "control" << num;
+ properties->setProperty("ControlAdapter.AdapterId", os.str());
+ }
+ properties->setProperty("ControlAdapter.ThreadPool.Size", "1");
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("ControlAdapter");
+ {
+ ostringstream os;
+ os << "controller" << num;
+ adapter->add(new ControllerI, communicator->stringToIdentity(os.str()));
+ }
+ adapter->activate();
+
+ TEST_READY
+
+ communicator->waitForShutdown();
+ return EXIT_SUCCESS;
+}
+
+int
+main(int argc, char* argv[])
+{
+ int status;
+ Ice::CommunicatorPtr communicator;
+
+ try
+ {
+ communicator = Ice::initialize(argc, argv);
+ status = run(argc, argv, communicator);
+ }
+ catch(const Ice::Exception& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+
+ if(communicator)
+ {
+ try
+ {
+ communicator->destroy();
+ }
+ catch(const Ice::Exception& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+ }
+
+ return status;
+}
diff --git a/cpp/test/IceDiscovery/simple/Test.ice b/cpp/test/IceDiscovery/simple/Test.ice
new file mode 100644
index 00000000000..6b9020d3c5c
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/Test.ice
@@ -0,0 +1,32 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+
+module Test
+{
+
+interface TestIntf
+{
+ string getAdapterId();
+};
+
+interface Controller
+{
+ void activateObjectAdapter(string name, string adapterId, string replicaGroupId);
+ void deactivateObjectAdapter(string name);
+
+ void addObject(string oaName, string id);
+ void removeObject(string oaName, string id);
+
+ void shutdown();
+};
+
+};
diff --git a/cpp/test/IceDiscovery/simple/TestI.cpp b/cpp/test/IceDiscovery/simple/TestI.cpp
new file mode 100644
index 00000000000..adc46bbcce7
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/TestI.cpp
@@ -0,0 +1,67 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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 <IceUtil/IceUtil.h>
+#include <Ice/Ice.h>
+#include <TestI.h>
+
+using namespace std;
+using namespace Ice;
+
+string
+TestIntfI::getAdapterId(const Ice::Current& current)
+{
+ return current.adapter->getCommunicator()->getProperties()->getProperty(current.adapter->getName() + ".AdapterId");
+}
+
+void
+ControllerI::activateObjectAdapter(const string& name,
+ const string& adapterId,
+ const string& replicaGroupId,
+ const Ice::Current& current)
+{
+ Ice::CommunicatorPtr communicator = current.adapter->getCommunicator();
+ Ice::PropertiesPtr properties = communicator->getProperties();
+ properties->setProperty(name + ".AdapterId", adapterId);
+ properties->setProperty(name + ".ReplicaGroupId", replicaGroupId);
+ properties->setProperty(name + ".Endpoints", "default");
+ _adapters[name] = communicator->createObjectAdapter(name);
+ _adapters[name]->activate();
+}
+
+void
+ControllerI::deactivateObjectAdapter(const string& name, const Ice::Current& current)
+{
+ _adapters[name]->destroy();
+ _adapters.erase(name);
+}
+
+void
+ControllerI::addObject(const string& oaName, const string& id, const Ice::Current&)
+{
+ assert(_adapters[oaName]);
+ Ice::Identity identity;
+ identity.name = id;
+ _adapters[oaName]->add(new TestIntfI, identity);
+}
+
+void
+ControllerI::removeObject(const string& oaName, const string& id, const Ice::Current&)
+{
+ assert(_adapters[oaName]);
+ Ice::Identity identity;
+ identity.name = id;
+ _adapters[oaName]->remove(identity);
+}
+
+void
+ControllerI::shutdown(const Ice::Current& current)
+{
+ current.adapter->getCommunicator()->shutdown();
+}
diff --git a/cpp/test/IceDiscovery/simple/TestI.h b/cpp/test/IceDiscovery/simple/TestI.h
new file mode 100644
index 00000000000..64227193333
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/TestI.h
@@ -0,0 +1,39 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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 TEST_I_H
+#define TEST_I_H
+
+#include <Test.h>
+
+class TestIntfI : public Test::TestIntf
+{
+public:
+
+ virtual std::string getAdapterId(const Ice::Current&);
+};
+
+class ControllerI : public Test::Controller
+{
+public:
+
+ virtual void activateObjectAdapter(const std::string&, const std::string&, const std::string&, const Ice::Current&);
+ virtual void deactivateObjectAdapter(const std::string&, const Ice::Current&);
+
+ virtual void addObject(const std::string&, const std::string&, const Ice::Current&);
+ virtual void removeObject(const std::string&, const std::string&, const Ice::Current&);
+
+ virtual void shutdown(const Ice::Current&);
+
+private:
+
+ std::map<std::string, Ice::ObjectAdapterPtr> _adapters;
+};
+
+#endif
diff --git a/cpp/test/IceDiscovery/simple/run.py b/cpp/test/IceDiscovery/simple/run.py
new file mode 100755
index 00000000000..1039efa930c
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/run.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+import os, sys
+
+path = [ ".", "..", "../..", "../../..", "../../../.." ]
+head = os.path.dirname(sys.argv[0])
+if len(head) > 0:
+ path = [os.path.join(head, p) for p in path]
+path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
+ raise RuntimeError("can't find toplevel directory!")
+sys.path.append(os.path.join(path[0], "scripts"))
+import TestUtil
+
+server = os.path.join(os.getcwd(), "server")
+client = os.path.join(os.getcwd(), "client")
+
+num = 3
+
+args = " --Ice.Plugin.IceDiscovery=IceDiscovery:createIceDiscovery"
+args += " --IceDiscovery.Timeout=30"
+args += " --IceDiscovery.RetryCount=1"
+if TestUtil.ipv6:
+ args += " --IceDiscovery.Interface=\"::1\""
+else:
+ args += " --IceDiscovery.Interface=127.0.0.1"
+
+serverProc = []
+for i in range(0, num):
+ sys.stdout.write("starting server #%d... " % (i + 1))
+ sys.stdout.flush()
+ serverProc.append(TestUtil.startServer(server, "%d %s" % (i, args)))
+ print("ok")
+
+sys.stdout.write("starting client... ")
+sys.stdout.flush()
+clientProc = TestUtil.startClient(client, "%d %s" % (num, args), startReader = False)
+print("ok")
+clientProc.startReader()
+
+clientProc.waitTestSuccess()
+for p in serverProc:
+ p.waitTestSuccess()
diff --git a/cpp/test/IceGrid/Makefile.mak b/cpp/test/IceGrid/Makefile.mak
index c300059685f..19754433e5b 100644
--- a/cpp/test/IceGrid/Makefile.mak
+++ b/cpp/test/IceGrid/Makefile.mak
@@ -7,24 +7,26 @@
#
# **********************************************************************
-top_srcdir = ..\..
-
-!include $(top_srcdir)/config/Make.rules.mak
-
-
-SUBDIRS = simple \
- admin \
- activation \
- allocation \
- deployer \
- distribution \
- replicaGroup \
- replication \
- session \
- update \
- noRestartUpdate
-
-$(EVERYTHING)::
- @for %i in ( $(SUBDIRS) ) do \
- @echo "making $@ in %i" && \
- cmd /c "cd %i && $(MAKE) -nologo -f Makefile.mak $@" || exit 1
+top_srcdir = ../..
+
+include $(top_srcdir)/config/Make.rules
+
+
+SUBDIRS = simple deployer session update noRestartUpdate activation replicaGroup allocation replication distribution admin
+
+
+.PHONY: $(EVERYTHING) $(SUBDIRS)
+
+all:: $(SUBDIRS)
+
+$(SUBDIRS):
+ @echo "making all in $@"
+ @$(MAKE) all --directory=$@
+
+
+$(EVERYTHING_EXCEPT_ALL)::
+ @for subdir in $(SUBDIRS); \
+ do \
+ echo "making $@ in $$subdir"; \
+ ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
+ done
diff --git a/cpp/test/Makefile b/cpp/test/Makefile
index 13444db533a..7dc829d0dbf 100644
--- a/cpp/test/Makefile
+++ b/cpp/test/Makefile
@@ -23,7 +23,8 @@ SUBDIRS := $(SUBDIRS) \
Freeze \
FreezeScript \
Glacier2 \
- IceGrid
+ IceGrid \
+ IceDiscovery
endif
diff --git a/cpp/test/Makefile.mak b/cpp/test/Makefile.mak
index e4970fde204..e6a0f1f11ee 100644
--- a/cpp/test/Makefile.mak
+++ b/cpp/test/Makefile.mak
@@ -26,7 +26,8 @@ SUBDIRS = IceUtil \
IceStorm \
FreezeScript \
IceGrid \
- IceBox
+ IceBox \
+ IceDiscovery
!endif
diff --git a/cs/demo/IceDiscovery/Makefile b/cs/demo/IceDiscovery/Makefile
new file mode 100644
index 00000000000..b2a1aed3991
--- /dev/null
+++ b/cs/demo/IceDiscovery/Makefile
@@ -0,0 +1,21 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../..
+
+include $(top_srcdir)/config/Make.rules.cs
+
+SUBDIRS = hello replication
+
+$(EVERYTHING)::
+ @for subdir in $(SUBDIRS); \
+ do \
+ echo "making $@ in $$subdir"; \
+ ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
+ done
diff --git a/cs/demo/IceDiscovery/Makefile.mak b/cs/demo/IceDiscovery/Makefile.mak
new file mode 100644
index 00000000000..64149a6ff63
--- /dev/null
+++ b/cs/demo/IceDiscovery/Makefile.mak
@@ -0,0 +1,19 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..
+
+!include $(top_srcdir)\config\Make.rules.mak.cs
+
+SUBDIRS = hello replication
+
+$(EVERYTHING)::
+ @for %i in ( $(SUBDIRS) ) do \
+ @echo "making $@ in %i" && \
+ cmd /c "cd %i && $(MAKE) -nologo -f Makefile.mak $@" || exit 1
diff --git a/cs/demo/IceDiscovery/hello/.depend b/cs/demo/IceDiscovery/hello/.depend
new file mode 100644
index 00000000000..53afc3fc8ba
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/.depend
@@ -0,0 +1 @@
+generated/Hello.cs: ./Hello.ice $(SLICE2CS) $(SLICEPARSERLIB)
diff --git a/cs/demo/IceDiscovery/hello/.depend.mak b/cs/demo/IceDiscovery/hello/.depend.mak
new file mode 100644
index 00000000000..60c26e25192
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/.depend.mak
@@ -0,0 +1 @@
+generated/Hello.cs: ./Hello.ice "$(SLICE2CS)" "$(SLICEPARSERLIB)"
diff --git a/cs/demo/IceDiscovery/hello/Client.cs b/cs/demo/IceDiscovery/hello/Client.cs
new file mode 100644
index 00000000000..dd8c8e93655
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/Client.cs
@@ -0,0 +1,229 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+using Demo;
+using System;
+using System.Reflection;
+
+[assembly: CLSCompliant(true)]
+
+[assembly: AssemblyTitle("IceDiscoveryHelloClient")]
+[assembly: AssemblyDescription("IceDiscovery hello demo client")]
+[assembly: AssemblyCompany("ZeroC, Inc.")]
+
+public class Client
+{
+ public class App : Ice.Application
+ {
+ private static void menu()
+ {
+ Console.Write(
+ "usage:\n" +
+ "t: send greeting as twoway\n" +
+ "o: send greeting as oneway\n" +
+ "O: send greeting as batch oneway\n" +
+ "d: send greeting as datagram\n" +
+ "D: send greeting as batch datagram\n" +
+ "f: flush all batch requests\n" +
+ "T: set a timeout\n" +
+ "P: set a server delay");
+ if(_haveSSL)
+ {
+ Console.Write("\nS: switch secure mode on/off");
+ }
+ Console.WriteLine(
+ "\ns: shutdown server\n" +
+ "x: exit\n" +
+ "?: help\n");
+ }
+
+ public override int run(string[] args)
+ {
+ if(args.Length > 0)
+ {
+ Console.Error.WriteLine(appName() + ": too many arguments");
+ return 1;
+ }
+
+ try
+ {
+ communicator().getPluginManager().getPlugin("IceSSL");
+ _haveSSL = true;
+ }
+ catch(Ice.NotRegisteredException)
+ {
+ }
+
+ HelloPrx twoway = HelloPrxHelper.checkedCast(communicator().stringToProxy("hello").ice_timeout(-1));
+ if(twoway == null)
+ {
+ Console.Error.WriteLine("invalid proxy");
+ return 1;
+ }
+ HelloPrx oneway = (HelloPrx)twoway.ice_oneway();
+ HelloPrx batchOneway = (HelloPrx)twoway.ice_batchOneway();
+ HelloPrx datagram = (HelloPrx)twoway.ice_datagram();
+ HelloPrx batchDatagram =(HelloPrx)twoway.ice_batchDatagram();
+
+ bool secure = false;
+ int timeout = -1;
+ int delay = 0;
+
+ menu();
+
+ string line = null;
+ do
+ {
+ try
+ {
+ Console.Out.Write("==> ");
+ Console.Out.Flush();
+ line = Console.In.ReadLine();
+ if(line == null)
+ {
+ break;
+ }
+ if(line.Equals("t"))
+ {
+ twoway.sayHello(delay);
+ }
+ else if(line.Equals("o"))
+ {
+ oneway.sayHello(delay);
+ }
+ else if(line.Equals("O"))
+ {
+ batchOneway.sayHello(delay);
+ }
+ else if(line.Equals("d"))
+ {
+ if(secure)
+ {
+ Console.WriteLine("secure datagrams are not supported");
+ }
+ else
+ {
+ datagram.sayHello(delay);
+ }
+ }
+ else if(line.Equals("D"))
+ {
+ if(secure)
+ {
+ Console.WriteLine("secure datagrams are not supported");
+ }
+ else
+ {
+ batchDatagram.sayHello(delay);
+ }
+ }
+ else if(line.Equals("f"))
+ {
+ communicator().flushBatchRequests();
+ }
+ else if(line.Equals("T"))
+ {
+ if(timeout == -1)
+ {
+ timeout = 2000;
+ }
+ else
+ {
+ timeout = -1;
+ }
+
+ twoway = (HelloPrx)twoway.ice_timeout(timeout);
+ oneway = (HelloPrx)oneway.ice_timeout(timeout);
+ batchOneway = (HelloPrx)batchOneway.ice_timeout(timeout);
+
+ if(timeout == -1)
+ {
+ Console.WriteLine("timeout is now switched off");
+ }
+ else
+ {
+ Console.WriteLine("timeout is now set to 2000ms");
+ }
+ }
+ else if(line.Equals("P"))
+ {
+ if(delay == 0)
+ {
+ delay = 2500;
+ }
+ else
+ {
+ delay = 0;
+ }
+
+ if(delay == 0)
+ {
+ Console.WriteLine("server delay is now deactivated");
+ }
+ else
+ {
+ Console.WriteLine("server delay is now set to 2500ms");
+ }
+ }
+ else if(_haveSSL && line.Equals("S"))
+ {
+ secure = !secure;
+
+ twoway = (HelloPrx)twoway.ice_secure(secure);
+ oneway = (HelloPrx)oneway.ice_secure(secure);
+ batchOneway = (HelloPrx)batchOneway.ice_secure(secure);
+ datagram = (HelloPrx)datagram.ice_secure(secure);
+ batchDatagram = (HelloPrx)batchDatagram.ice_secure(secure);
+
+ if(secure)
+ {
+ Console.WriteLine("secure mode is now on");
+ }
+ else
+ {
+ Console.WriteLine("secure mode is now off");
+ }
+ }
+ else if(line.Equals("s"))
+ {
+ twoway.shutdown();
+ }
+ else if(line.Equals("x"))
+ {
+ // Nothing to do
+ }
+ else if(line.Equals("?"))
+ {
+ menu();
+ }
+ else
+ {
+ Console.WriteLine("unknown command `" + line + "'");
+ menu();
+ }
+ }
+ catch(System.Exception ex)
+ {
+ Console.Error.WriteLine(ex);
+ }
+ }
+ while (!line.Equals("x"));
+
+ return 0;
+ }
+
+ private static bool _haveSSL = false;
+ }
+
+ public static int Main(string[] args)
+ {
+ App app = new App();
+ return app.main(args, "config.client");
+ }
+}
diff --git a/cs/demo/IceDiscovery/hello/Hello.ice b/cs/demo/IceDiscovery/hello/Hello.ice
new file mode 100644
index 00000000000..aca54020837
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/Hello.ice
@@ -0,0 +1,21 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+module Demo
+{
+
+interface Hello
+{
+ idempotent void sayHello(int delay);
+ void shutdown();
+};
+
+};
diff --git a/cs/demo/IceDiscovery/hello/HelloI.cs b/cs/demo/IceDiscovery/hello/HelloI.cs
new file mode 100644
index 00000000000..93ceb186cd2
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/HelloI.cs
@@ -0,0 +1,28 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+using Demo;
+
+public class HelloI : HelloDisp_
+{
+ public override void sayHello(int delay, Ice.Current current)
+ {
+ if(delay > 0)
+ {
+ System.Threading.Thread.Sleep(delay);
+ }
+ System.Console.Out.WriteLine("Hello World!");
+ }
+
+ public override void shutdown(Ice.Current current)
+ {
+ System.Console.Out.WriteLine("Shutting down...");
+ current.adapter.getCommunicator().shutdown();
+ }
+}
diff --git a/cs/demo/IceDiscovery/hello/Makefile b/cs/demo/IceDiscovery/hello/Makefile
new file mode 100644
index 00000000000..fff2adccb56
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/Makefile
@@ -0,0 +1,33 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../../..
+
+TARGETS = client.exe server.exe
+
+C_SRCS = Client.cs
+S_SRCS = HelloI.cs Server.cs
+
+SLICE_SRCS = $(SDIR)/Hello.ice
+
+SDIR = .
+
+GDIR = generated
+
+include $(top_srcdir)/config/Make.rules.cs
+
+MCSFLAGS := $(MCSFLAGS) -target:exe
+
+client.exe: $(C_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(subst /,$(DSEP),$^)
+
+server.exe: $(S_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(subst /,$(DSEP),$^)
+
+include .depend
diff --git a/cs/demo/IceDiscovery/hello/Makefile.mak b/cs/demo/IceDiscovery/hello/Makefile.mak
new file mode 100644
index 00000000000..e433a6293c7
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/Makefile.mak
@@ -0,0 +1,33 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+
+TARGETS = client.exe server.exe
+
+C_SRCS = Client.cs
+S_SRCS = HelloI.cs Server.cs
+
+GEN_SRCS = $(GDIR)\Hello.cs
+
+SDIR = .
+
+GDIR = generated
+
+!include $(top_srcdir)\config\Make.rules.mak.cs
+
+MCSFLAGS = $(MCSFLAGS) -target:exe
+
+client.exe: $(C_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ -r:"$(refdir)\Ice.dll" $(C_SRCS) $(GEN_SRCS)
+
+server.exe: $(S_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ -r:"$(refdir)\Ice.dll" $(S_SRCS) $(GEN_SRCS)
+
+!include .depend.mak
diff --git a/cs/demo/IceDiscovery/hello/README b/cs/demo/IceDiscovery/hello/README
new file mode 100644
index 00000000000..4ab68e8144b
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/README
@@ -0,0 +1,18 @@
+This demo illustrates how to invoke ordinary (twoway) operations, as
+well as how to make oneway, datagram, secure, and batched invocations.
+
+To run the demo, first start the server:
+
+$ server.exe
+
+In a separate window, start the client:
+
+$ client.exe
+
+To test timeouts you can use 'T' to set a timeout on the client proxy
+and 'P' to set a delayed response in the server to cause a timeout.
+You will notice that two "Hello World!" messages will be printed by
+the server in this case. This is because the sayHello method is marked
+as idempotent in the slice, meaning that Ice does not need to follow
+the at-most-once retry semantics. See the manual for more information
+about retry behavior.
diff --git a/cs/demo/IceDiscovery/hello/Server.cs b/cs/demo/IceDiscovery/hello/Server.cs
new file mode 100644
index 00000000000..74ff416c330
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/Server.cs
@@ -0,0 +1,44 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+using System;
+using System.Reflection;
+
+[assembly: CLSCompliant(true)]
+
+[assembly: AssemblyTitle("IceHelloServer")]
+[assembly: AssemblyDescription("Ice hello demo server")]
+[assembly: AssemblyCompany("ZeroC, Inc.")]
+
+public class Server
+{
+ class App : Ice.Application
+ {
+ public override int run(string[] args)
+ {
+ if(args.Length > 0)
+ {
+ System.Console.Error.WriteLine(appName() + ": too many arguments");
+ return 1;
+ }
+
+ Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Hello");
+ adapter.add(new HelloI(), communicator().stringToIdentity("hello"));
+ adapter.activate();
+ communicator().waitForShutdown();
+ return 0;
+ }
+ }
+
+ public static int Main(string[] args)
+ {
+ App app = new App();
+ return app.main(args, "config.server");
+ }
+}
diff --git a/cs/demo/IceDiscovery/hello/app.config b/cs/demo/IceDiscovery/hello/app.config
new file mode 100644
index 00000000000..e3656033377
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/app.config
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<configuration>
+<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
diff --git a/cs/demo/IceDiscovery/hello/client.csproj b/cs/demo/IceDiscovery/hello/client.csproj
new file mode 100644
index 00000000000..4b29c3acbbd
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/client.csproj
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+ <PropertyGroup>
+ <ProjectType>Local</ProjectType>
+ <ProductVersion>9.0.30729</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{228B2AFC-57DC-4E1F-8335-D0CD657A987B}</ProjectGuid>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ApplicationIcon>
+ </ApplicationIcon>
+ <AssemblyKeyContainerName>
+ </AssemblyKeyContainerName>
+ <AssemblyName>client</AssemblyName>
+ <AssemblyOriginatorKeyFile>
+ </AssemblyOriginatorKeyFile>
+ <DefaultClientScript>JScript</DefaultClientScript>
+ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
+ <DefaultTargetSchema>IE50</DefaultTargetSchema>
+ <DelaySign>false</DelaySign>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>
+ </RootNamespace>
+ <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+ <StartupObject>
+ </StartupObject>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <UpgradeBackupLocation>
+ </UpgradeBackupLocation>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <OutputPath>.\</OutputPath>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <BaseAddress>285212672</BaseAddress>
+ <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+ <ConfigurationOverrideFile>
+ </ConfigurationOverrideFile>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <DocumentationFile>
+ </DocumentationFile>
+ <DebugSymbols>true</DebugSymbols>
+ <FileAlignment>4096</FileAlignment>
+ <NoStdLib>false</NoStdLib>
+ <NoWarn>
+ </NoWarn>
+ <Optimize>false</Optimize>
+ <RegisterForComInterop>false</RegisterForComInterop>
+ <RemoveIntegerChecks>false</RemoveIntegerChecks>
+ <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+ <WarningLevel>4</WarningLevel>
+ <DebugType>full</DebugType>
+ <ErrorReport>prompt</ErrorReport>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <OutputPath>.\</OutputPath>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <BaseAddress>285212672</BaseAddress>
+ <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+ <ConfigurationOverrideFile>
+ </ConfigurationOverrideFile>
+ <DefineConstants>TRACE</DefineConstants>
+ <DocumentationFile>
+ </DocumentationFile>
+ <DebugSymbols>false</DebugSymbols>
+ <FileAlignment>4096</FileAlignment>
+ <NoStdLib>false</NoStdLib>
+ <NoWarn>
+ </NoWarn>
+ <Optimize>true</Optimize>
+ <RegisterForComInterop>false</RegisterForComInterop>
+ <RemoveIntegerChecks>false</RemoveIntegerChecks>
+ <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+ <WarningLevel>4</WarningLevel>
+ <DebugType>none</DebugType>
+ <ErrorReport>prompt</ErrorReport>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Ice, Version=3.5.1.0, Culture=neutral, PublicKeyToken=cdd571ade22f2f16, processorArchitecture=MSIL">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System">
+ <Name>System</Name>
+ </Reference>
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Client.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="generated\client\Hello.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ <None Include="Hello.ice" />
+ <None Include="config.client" />
+ <None Include="README" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <PropertyGroup>
+ <PreBuildEvent>
+ </PreBuildEvent>
+ <PostBuildEvent>
+ </PostBuildEvent>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties ZerocIce_OutputDir=".\generated\client" ZerocIce_ProjectVersion="1" ZerocIce_Enabled="True" ZerocIce_VerboseLevel="1" />
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/cs/demo/IceDiscovery/hello/client.exe.config b/cs/demo/IceDiscovery/hello/client.exe.config
new file mode 100755
index 00000000000..d3fa65b4563
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/client.exe.config
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<configuration>
+ <runtime>
+ <developmentMode developerInstallation="true"/>
+ </runtime>
+</configuration>
diff --git a/cs/demo/IceDiscovery/hello/client.log b/cs/demo/IceDiscovery/hello/client.log
new file mode 100644
index 00000000000..12c9c440928
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/client.log
@@ -0,0 +1,5666 @@
+converting method System.OutOfMemoryException:.ctor (string)
+Method System.OutOfMemoryException:.ctor (string) emitted at 0x7d4b70 to 0x7d4b93 (code length 35) [client.exe]
+converting method (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr)
+Method (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr) emitted at 0x7d4bb0 to 0x7d4c5a (code length 170) [client.exe]
+converting method System.SystemException:.ctor (string)
+Method System.SystemException:.ctor (string) emitted at 0x7d4c60 to 0x7d4c83 (code length 35) [client.exe]
+converting method System.Exception:.ctor (string)
+Method System.Exception:.ctor (string) emitted at 0x7d4c90 to 0x7d4cc9 (code length 57) [client.exe]
+converting method System.NullReferenceException:.ctor (string)
+Method System.NullReferenceException:.ctor (string) emitted at 0x7d4cd0 to 0x7d4cf3 (code length 35) [client.exe]
+converting method System.StackOverflowException:.ctor (string)
+Method System.StackOverflowException:.ctor (string) emitted at 0x7d4cf8 to 0x7d4d11 (code length 25) [client.exe]
+converting method Client:Main (string[])
+Method Client:Main (string[]) emitted at 0x7d4d18 to 0x7d4d5d (code length 69) [client.exe]
+converting method (wrapper runtime-invoke) <Module>:runtime_invoke_int_object (object,intptr,intptr,intptr)
+Method (wrapper runtime-invoke) <Module>:runtime_invoke_int_object (object,intptr,intptr,intptr) emitted at 0x7d4d88 to 0x7d4e66 (code length 222) [client.exe]
+converting method (wrapper alloc) object:AllocSmall (intptr)
+Method (wrapper alloc) object:AllocSmall (intptr) emitted at 0x7d4e78 to 0x7d4eed (code length 117) [client.exe]
+converting method Client/App:.ctor ()
+Method Client/App:.ctor () emitted at 0x7d4ef0 to 0x7d4f09 (code length 25) [client.exe]
+converting method Client/App:.cctor ()
+Method Client/App:.cctor () emitted at 0x7d4f18 to 0x7d4f28 (code length 16) [client.exe]
+converting method (wrapper runtime-invoke) object:runtime_invoke_void (object,intptr,intptr,intptr)
+Method (wrapper runtime-invoke) object:runtime_invoke_void (object,intptr,intptr,intptr) emitted at 0x7d4f28 to 0x7d4fb2 (code length 138) [client.exe]
+converting method Ice.Application:.ctor ()
+Method Ice.Application:.ctor () emitted at 0x7d4fb8 to 0x7d4fc0 (code length 8) [client.exe]
+converting method Ice.Application:.cctor ()
+Method Ice.Application:.cctor () emitted at 0x7d4fd8 to 0x7d5224 (code length 588) [client.exe]
+converting method System.AppDomain:get_CurrentDomain ()
+Method System.AppDomain:get_CurrentDomain () emitted at 0x7d5248 to 0x7d5256 (code length 14) [client.exe]
+converting method (wrapper managed-to-native) System.AppDomain:getCurDomain ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.AppDomain:getCurDomain () emitted at 0x7d5270 to 0x7d52de (code length 110) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.AppDomain:get_FriendlyName ()
+Method (wrapper remoting-invoke-with-check) System.AppDomain:get_FriendlyName () emitted at 0x7d52e0 to 0x7d5344 (code length 100) [client.exe]
+converting method System.AppDomain:get_FriendlyName ()
+Method System.AppDomain:get_FriendlyName () emitted at 0x7d5368 to 0x7d5381 (code length 25) [client.exe]
+converting method (wrapper managed-to-native) System.AppDomain:getFriendlyName (System.AppDomain)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.AppDomain:getFriendlyName (System.AppDomain) emitted at 0x7d5390 to 0x7d5424 (code length 148) [client.exe]
+converting method IceInternal.AssemblyUtil:.cctor ()
+Method IceInternal.AssemblyUtil:.cctor () emitted at 0x7d5430 to 0x7d56fd (code length 717) [client.exe]
+converting method System.Collections.Hashtable:.ctor ()
+Method System.Collections.Hashtable:.ctor () emitted at 0x7d5788 to 0x7d57a9 (code length 33) [client.exe]
+converting method System.Collections.Hashtable:.ctor (int,single)
+Method System.Collections.Hashtable:.ctor (int,single) emitted at 0x7d57b8 to 0x7d57e1 (code length 41) [client.exe]
+converting method System.Collections.Hashtable:.ctor (int,single,System.Collections.IHashCodeProvider,System.Collections.IComparer)
+Method System.Collections.Hashtable:.ctor (int,single,System.Collections.IHashCodeProvider,System.Collections.IComparer) emitted at 0x7d5800 to 0x7d5a1c (code length 540) [client.exe]
+converting method System.Collections.HashPrimeNumbers:ToPrime (int)
+converting method System.Collections.HashPrimeNumbers:.cctor ()
+Method System.Collections.HashPrimeNumbers:.cctor () emitted at 0x7d5a38 to 0x7d5a83 (code length 75) [client.exe]
+converting method (wrapper alloc) object:AllocVector (intptr,intptr)
+Method (wrapper alloc) object:AllocVector (intptr,intptr) emitted at 0x7d5aa0 to 0x7d5b88 (code length 232) [client.exe]
+converting method string:memcpy (byte*,byte*,int)
+Method string:memcpy (byte*,byte*,int) emitted at 0x7d5b88 to 0x7d5c4e (code length 198) [client.exe]
+converting method string:.cctor ()
+Method string:.cctor () emitted at 0x7d5c78 to 0x7d5cdb (code length 99) [client.exe]
+converting method (wrapper managed-to-native) string:GetLOSLimit ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) string:GetLOSLimit () emitted at 0x7d5ce8 to 0x7d5d56 (code length 110) [client.exe]
+converting method string:memcpy4 (byte*,byte*,int)
+Method string:memcpy4 (byte*,byte*,int) emitted at 0x7d5d58 to 0x7d5dd7 (code length 127) [client.exe]
+Method System.Collections.HashPrimeNumbers:ToPrime (int) emitted at 0x7d5dd8 to 0x7d5e4d (code length 117) [client.exe]
+converting method System.Collections.Hashtable:SetTable (System.Collections.Hashtable/Slot[],int[])
+Method System.Collections.Hashtable:SetTable (System.Collections.Hashtable/Slot[],int[]) emitted at 0x7d5e60 to 0x7d5efc (code length 156) [client.exe]
+converting method System.Collections.Hashtable:AdjustThreshold ()
+Method System.Collections.Hashtable:AdjustThreshold () emitted at 0x7d5f08 to 0x7d5f4e (code length 70) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, System.Type>:.ctor ()
+Method System.Collections.Generic.Dictionary`2:.ctor () emitted at 0x7d5f50 to 0x7d5f6d (code length 29) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, System.Type>:Init (int,System.Collections.Generic.IEqualityComparer`1<string>)
+Method System.Collections.Generic.Dictionary`2:Init (int,System.Collections.Generic.IEqualityComparer`1<TKey>) emitted at 0x7d5f80 to 0x7d6084 (code length 260) [client.exe]
+converting gshared method System.Collections.Generic.EqualityComparer`1<string>:.cctor ()
+Method System.Collections.Generic.EqualityComparer`1:.cctor () emitted at 0x7d60a8 to 0x7d62be (code length 534) [client.exe]
+converting method System.Collections.Generic.InternalStringComparer:.ctor ()
+Method System.Collections.Generic.InternalStringComparer:.ctor () emitted at 0x7d6358 to 0x7d6371 (code length 25) [client.exe]
+converting gshared method System.Collections.Generic.EqualityComparer`1<string>:.ctor ()
+Method System.Collections.Generic.EqualityComparer`1:.ctor () emitted at 0x7d6380 to 0x7d6388 (code length 8) [client.exe]
+converting method (wrapper castclass) object:__castclass_with_cache (object,intptr,intptr)
+Method (wrapper castclass) object:__castclass_with_cache (object,intptr,intptr) emitted at 0x7d6398 to 0x7d63ff (code length 103) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_object_isinst (object,intptr)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_object_isinst (object,intptr) emitted at 0x7d6400 to 0x7d647a (code length 122) [client.exe]
+converting gshared method System.Collections.Generic.EqualityComparer`1<string>:get_Default ()
+Method System.Collections.Generic.EqualityComparer`1:get_Default () emitted at 0x7d6480 to 0x7d64b7 (code length 55) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, System.Type>:InitArrays (int)
+Method System.Collections.Generic.Dictionary`2:InitArrays (int) emitted at 0x7d64b8 to 0x7d6653 (code length 411) [client.exe]
+converting method System.Environment:get_OSVersion ()
+Method System.Environment:get_OSVersion () emitted at 0x7d6658 to 0x7d66d8 (code length 128) [client.exe]
+converting method (wrapper managed-to-native) System.Environment:GetOSVersionString ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Environment:GetOSVersionString () emitted at 0x7d6708 to 0x7d6776 (code length 110) [client.exe]
+converting method System.Version:CreateFromString (string)
+Method System.Version:CreateFromString (string) emitted at 0x7d6778 to 0x7d690c (code length 404) [client.exe]
+converting method char:IsDigit (char)
+Method char:IsDigit (char) emitted at 0x7d6970 to 0x7d6998 (code length 40) [client.exe]
+converting method char:.cctor ()
+Method char:.cctor () emitted at 0x7d69a8 to 0x7d6a01 (code length 89) [client.exe]
+converting method (wrapper managed-to-native) char:GetDataTablePointers (int,byte*&,uint16*&,byte*&,double*&,uint16*&,uint16*&,uint16*&,uint16*&)
+Restoring : local R17 <-
+Method (wrapper managed-to-native) char:GetDataTablePointers (int,byte*&,uint16*&,byte*&,double*&,uint16*&,uint16*&,uint16*&,uint16*&) emitted at 0x7d6a10 to 0x7d6a96 (code length 134) [client.exe]
+converting method System.Version:.ctor (int,int,int,int)
+Method System.Version:.ctor (int,int,int,int) emitted at 0x7d6a98 to 0x7d6abd (code length 37) [client.exe]
+converting method System.Version:CheckedSet (int,int,int,int,int)
+Method System.Version:CheckedSet (int,int,int,int,int) emitted at 0x7d6ad0 to 0x7d6c08 (code length 312) [client.exe]
+converting method (wrapper managed-to-native) System.Environment:get_Platform ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Environment:get_Platform () emitted at 0x7d6c08 to 0x7d6c76 (code length 110) [client.exe]
+converting method System.OperatingSystem:.ctor (System.PlatformID,System.Version)
+Method System.OperatingSystem:.ctor (System.PlatformID,System.Version) emitted at 0x7d6c78 to 0x7d6d9c (code length 292) [client.exe]
+converting method System.Version:op_Equality (System.Version,System.Version)
+Method System.Version:op_Equality (System.Version,System.Version) emitted at 0x7d6db8 to 0x7d6dd4 (code length 28) [client.exe]
+converting method object:Equals (object,object)
+Method object:Equals (object,object) emitted at 0x7d6de0 to 0x7d6e1f (code length 63) [client.exe]
+converting method System.Type:GetType (string)
+Method System.Type:GetType (string) emitted at 0x7d6e20 to 0x7d6e70 (code length 80) [client.exe]
+converting method System.Type:.cctor ()
+converting method System.Reflection.Missing:.cctor ()
+Method System.Reflection.Missing:.cctor () emitted at 0x7d6e88 to 0x7d6ebb (code length 51) [client.exe]
+converting method System.Reflection.Missing:.ctor ()
+Method System.Reflection.Missing:.ctor () emitted at 0x7d6ec8 to 0x7d6ed0 (code length 8) [client.exe]
+Method System.Type:.cctor () emitted at 0x7d6ed0 to 0x7d700e (code length 318) [client.exe]
+converting method (wrapper managed-to-native) System.Type:internal_from_name (string,bool,bool)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.Type:internal_from_name (string,bool,bool) emitted at 0x7d7010 to 0x7d708e (code length 126) [client.exe]
+converting method System.Environment:get_Version ()
+Method System.Environment:get_Version () emitted at 0x7d7090 to 0x7d70c0 (code length 48) [client.exe]
+converting method System.Version:.ctor (string)
+Method System.Version:.ctor (string) emitted at 0x7d70d0 to 0x7d7293 (code length 451) [client.exe]
+converting method string:Split (char[])
+Method string:Split (char[]) emitted at 0x7d72b0 to 0x7d72cd (code length 29) [client.exe]
+converting method string:Split (char[],int,System.StringSplitOptions)
+converting gshared method System.EmptyArray`1<string>:.cctor ()
+Method System.EmptyArray`1:.cctor () emitted at 0x7d72e0 to 0x7d733e (code length 94) [client.exe]
+Method string:Split (char[],int,System.StringSplitOptions) emitted at 0x7d7350 to 0x7d74cc (code length 380) [client.exe]
+converting method string:SplitByCharacters (char[],int,bool)
+Method string:SplitByCharacters (char[],int,bool) emitted at 0x7d74e8 to 0x7d7958 (code length 1136) [client.exe]
+converting method string:SubstringUnchecked (int,int)
+Method string:SubstringUnchecked (int,int) emitted at 0x7d7988 to 0x7d79f6 (code length 110) [client.exe]
+converting method (wrapper alloc) object:AllocString (intptr,int)
+Method (wrapper alloc) object:AllocString (intptr,int) emitted at 0x7d7a20 to 0x7d7ab9 (code length 153) [client.exe]
+converting method string:CharCopy (char*,char*,int)
+Method string:CharCopy (char*,char*,int) emitted at 0x7d7ac0 to 0x7d7b4a (code length 138) [client.exe]
+converting method (wrapper stelemref) object:virt_stelemref_sealed_class (intptr,object)
+Method (wrapper stelemref) object:virt_stelemref_sealed_class (intptr,object) emitted at 0x7d7b50 to 0x7d7bd6 (code length 134) [client.exe]
+converting method int:Parse (string)
+Method int:Parse (string) emitted at 0x7d7bd8 to 0x7d7c1c (code length 68) [client.exe]
+converting method int:Parse (string,bool,int&,System.Exception&)
+Method int:Parse (string,bool,int&,System.Exception&) emitted at 0x7d7c28 to 0x7d8026 (code length 1022) [client.exe]
+converting method System.Threading.Thread:get_CurrentThread ()
+Method System.Threading.Thread:get_CurrentThread () emitted at 0x7d80a0 to 0x7d8124 (code length 132) [client.exe]
+converting method System.Threading.Thread:get_CurrentCulture ()
+Method System.Threading.Thread:get_CurrentCulture () emitted at 0x7d8130 to 0x7d8198 (code length 104) [client.exe]
+converting method System.Globalization.CultureInfo:ConstructCurrentCulture ()
+converting method System.Globalization.CultureInfo:.cctor ()
+Method System.Globalization.CultureInfo:.cctor () emitted at 0x7d81a8 to 0x7d81fa (code length 82) [client.exe]
+converting method System.Globalization.CultureInfo:.ctor (int,bool,bool)
+Method System.Globalization.CultureInfo:.ctor (int,bool,bool) emitted at 0x7d8208 to 0x7d8324 (code length 284) [client.exe]
+converting method System.Globalization.CultureInfo:ConstructInvariant (bool)
+Method System.Globalization.CultureInfo:ConstructInvariant (bool) emitted at 0x7d8348 to 0x7d8530 (code length 488) [client.exe]
+converting method System.Globalization.NumberFormatInfo:get_InvariantInfo ()
+Method System.Globalization.NumberFormatInfo:get_InvariantInfo () emitted at 0x7d8558 to 0x7d8588 (code length 48) [client.exe]
+converting method System.Globalization.NumberFormatInfo:.cctor ()
+Method System.Globalization.NumberFormatInfo:.cctor () emitted at 0x7d8598 to 0x7d86ce (code length 310) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_gc_alloc_obj (intptr,intptr)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_gc_alloc_obj (intptr,intptr) emitted at 0x7d86d0 to 0x7d874a (code length 122) [client.exe]
+converting method System.Globalization.NumberFormatInfo:.ctor (bool)
+Method System.Globalization.NumberFormatInfo:.ctor (bool) emitted at 0x7d8750 to 0x7d876d (code length 29) [client.exe]
+converting method System.Globalization.NumberFormatInfo:.ctor (int,bool)
+Method System.Globalization.NumberFormatInfo:.ctor (int,bool) emitted at 0x7d8780 to 0x7d8bdb (code length 1115) [client.exe]
+converting method System.Globalization.CultureInfo:CreateTextInfo (bool)
+Method System.Globalization.CultureInfo:CreateTextInfo (bool) emitted at 0x7d8be0 to 0x7d8c34 (code length 84) [client.exe]
+converting method System.Globalization.TextInfo:.ctor (System.Globalization.CultureInfo,int,void*,bool)
+Method System.Globalization.TextInfo:.ctor (System.Globalization.CultureInfo,int,void*,bool) emitted at 0x7d8c40 to 0x7d8df1 (code length 433) [client.exe]
+converting method System.Globalization.CultureInfo:get_Parent ()
+Method System.Globalization.CultureInfo:get_Parent () emitted at 0x7d8df8 to 0x7d8f88 (code length 400) [client.exe]
+converting method System.Globalization.CultureInfo:get_LCID ()
+Method System.Globalization.CultureInfo:get_LCID () emitted at 0x7d8fc8 to 0x7d8fd6 (code length 14) [client.exe]
+Method System.Globalization.CultureInfo:ConstructCurrentCulture () emitted at 0x7d8fd8 to 0x7d9074 (code length 156) [client.exe]
+converting method (wrapper managed-to-native) System.Globalization.CultureInfo:get_current_locale_name ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Globalization.CultureInfo:get_current_locale_name () emitted at 0x7d9090 to 0x7d90fe (code length 110) [client.exe]
+converting method System.Globalization.CultureInfo:CreateSpecificCulture (string)
+Method System.Globalization.CultureInfo:CreateSpecificCulture (string) emitted at 0x7d9100 to 0x7d9238 (code length 312) [client.exe]
+converting method string:ToLowerInvariant ()
+Method string:ToLowerInvariant () emitted at 0x7d9280 to 0x7d9333 (code length 179) [client.exe]
+converting method char:ToLowerInvariant (char)
+Method char:ToLowerInvariant (char) emitted at 0x7d9340 to 0x7d9385 (code length 69) [client.exe]
+converting method (wrapper managed-to-native) System.Globalization.CultureInfo:construct_internal_locale_from_name (System.Globalization.CultureInfo,string)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Globalization.CultureInfo:construct_internal_locale_from_name (System.Globalization.CultureInfo,string) emitted at 0x7d9388 to 0x7d9424 (code length 156) [client.exe]
+converting method System.Globalization.CultureInfo:get_IsNeutralCulture ()
+Method System.Globalization.CultureInfo:get_IsNeutralCulture () emitted at 0x7d9428 to 0x7d946b (code length 67) [client.exe]
+converting method System.Globalization.CultureInfo:get_NumberFormat ()
+Method System.Globalization.CultureInfo:get_NumberFormat () emitted at 0x7d9470 to 0x7d954c (code length 220) [client.exe]
+converting method System.Globalization.CultureInfo:CheckNeutral ()
+Method System.Globalization.CultureInfo:CheckNeutral () emitted at 0x7d9568 to 0x7d95ec (code length 132) [client.exe]
+converting method (wrapper managed-to-native) System.Globalization.CultureInfo:construct_number_format (System.Globalization.CultureInfo)
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Globalization.CultureInfo:construct_number_format (System.Globalization.CultureInfo) emitted at 0x7d95f8 to 0x7d9688 (code length 144) [client.exe]
+converting method char:IsWhiteSpace (char)
+Method char:IsWhiteSpace (char) emitted at 0x7d9688 to 0x7d9702 (code length 122) [client.exe]
+converting method System.Globalization.NumberFormatInfo:get_PositiveSign ()
+Method System.Globalization.NumberFormatInfo:get_PositiveSign () emitted at 0x7d9708 to 0x7d9719 (code length 17) [client.exe]
+converting method System.Globalization.NumberFormatInfo:get_NegativeSign ()
+Method System.Globalization.NumberFormatInfo:get_NegativeSign () emitted at 0x7d9720 to 0x7d972e (code length 14) [client.exe]
+converting method string:CompareOrdinalUnchecked (string,int,int,string,int,int)
+Method string:CompareOrdinalUnchecked (string,int,int,string,int,int) emitted at 0x7d9730 to 0x7d982f (code length 255) [client.exe]
+converting method System.Reflection.Assembly:Load (string)
+Method System.Reflection.Assembly:Load (string) emitted at 0x7d9830 to 0x7d9851 (code length 33) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.AppDomain:Load (string)
+Method (wrapper remoting-invoke-with-check) System.AppDomain:Load (string) emitted at 0x7d9860 to 0x7d98c9 (code length 105) [client.exe]
+converting method System.AppDomain:Load (string)
+Method System.AppDomain:Load (string) emitted at 0x7d98f0 to 0x7d990d (code length 29) [client.exe]
+converting method System.AppDomain:Load (string,System.Security.Policy.Evidence,bool)
+Method System.AppDomain:Load (string,System.Security.Policy.Evidence,bool) emitted at 0x7d9920 to 0x7d99dc (code length 188) [client.exe]
+converting method (wrapper managed-to-native) System.AppDomain:LoadAssembly (System.AppDomain,string,System.Security.Policy.Evidence,bool)
+Restoring : local R13 <-
+Method (wrapper managed-to-native) System.AppDomain:LoadAssembly (System.AppDomain,string,System.Security.Policy.Evidence,bool) emitted at 0x7d99e8 to 0x7d9a88 (code length 160) [client.exe]
+converting method System.Reflection.Assembly:GetType (string)
+Method System.Reflection.Assembly:GetType (string) emitted at 0x7d9a88 to 0x7d9aa5 (code length 29) [client.exe]
+converting method System.Reflection.Assembly:GetType (string,bool,bool)
+Method System.Reflection.Assembly:GetType (string,bool,bool) emitted at 0x7d9ab8 to 0x7d9bd4 (code length 284) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.Assembly:InternalGetType (System.Reflection.Assembly,System.Reflection.Module,string,bool,bool)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) System.Reflection.Assembly:InternalGetType (System.Reflection.Assembly,System.Reflection.Module,string,bool,bool) emitted at 0x7d9bf0 to 0x7d9c98 (code length 168) [client.exe]
+converting method System.Type:GetMethod (string,System.Reflection.BindingFlags)
+Method System.Type:GetMethod (string,System.Reflection.BindingFlags) emitted at 0x7d9c98 to 0x7d9cf4 (code length 92) [client.exe]
+converting method System.MonoType:GetMethodImpl (string,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])
+Method System.MonoType:GetMethodImpl (string,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) emitted at 0x7d9cf8 to 0x7d9f76 (code length 638) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:GetMethodsByName (System.MonoType,string,System.Reflection.BindingFlags,bool,System.Type)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) System.MonoType:GetMethodsByName (System.MonoType,string,System.Reflection.BindingFlags,bool,System.Type) emitted at 0x7d9fa8 to 0x7da04c (code length 164) [client.exe]
+converting method System.MonoType:CheckMethodSecurity (System.Reflection.MethodBase)
+Method System.MonoType:CheckMethodSecurity (System.Reflection.MethodBase) emitted at 0x7da050 to 0x7da090 (code length 64) [client.exe]
+converting method (wrapper managed-to-native) System.Security.SecurityManager:get_SecurityEnabled ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Security.SecurityManager:get_SecurityEnabled () emitted at 0x7da0a8 to 0x7da116 (code length 110) [client.exe]
+converting method System.Security.SecurityManager:.cctor ()
+Method System.Security.SecurityManager:.cctor () emitted at 0x7da118 to 0x7da16a (code length 82) [client.exe]
+converting method System.Security.Permissions.SecurityPermission:.ctor (System.Security.Permissions.SecurityPermissionFlag)
+Method System.Security.Permissions.SecurityPermission:.ctor (System.Security.Permissions.SecurityPermissionFlag) emitted at 0x7da178 to 0x7da1a5 (code length 45) [client.exe]
+converting method System.Security.CodeAccessPermission:.ctor ()
+Method System.Security.CodeAccessPermission:.ctor () emitted at 0x7da1c0 to 0x7da1c8 (code length 8) [client.exe]
+converting method System.Security.Permissions.SecurityPermission:set_Flags (System.Security.Permissions.SecurityPermissionFlag)
+Method System.Security.Permissions.SecurityPermission:set_Flags (System.Security.Permissions.SecurityPermissionFlag) emitted at 0x7da1c8 to 0x7da264 (code length 156) [client.exe]
+converting method System.Reflection.MethodBase:Invoke (object,object[])
+Method System.Reflection.MethodBase:Invoke (object,object[]) emitted at 0x7da268 to 0x7da290 (code length 40) [client.exe]
+converting method System.Reflection.MonoMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
+Method System.Reflection.MonoMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) emitted at 0x7da290 to 0x7da3f0 (code length 352) [client.exe]
+converting method System.Reflection.Binder:get_DefaultBinder ()
+converting method System.Reflection.Binder:.cctor ()
+Method System.Reflection.Binder:.cctor () emitted at 0x7da420 to 0x7da453 (code length 51) [client.exe]
+converting method System.Reflection.Binder/Default:.ctor ()
+Method System.Reflection.Binder/Default:.ctor () emitted at 0x7da460 to 0x7da479 (code length 25) [client.exe]
+converting method System.Reflection.Binder:.ctor ()
+Method System.Reflection.Binder:.ctor () emitted at 0x7da488 to 0x7da490 (code length 8) [client.exe]
+Method System.Reflection.Binder:get_DefaultBinder () emitted at 0x7da490 to 0x7da49e (code length 14) [client.exe]
+converting method System.Reflection.MonoMethod:GetParametersInternal ()
+Method System.Reflection.MonoMethod:GetParametersInternal () emitted at 0x7da4a0 to 0x7da4bd (code length 29) [client.exe]
+converting method System.Reflection.MonoMethodInfo:GetParametersInfo (intptr,System.Reflection.MemberInfo)
+Method System.Reflection.MonoMethodInfo:GetParametersInfo (intptr,System.Reflection.MemberInfo) emitted at 0x7da4d0 to 0x7da4e9 (code length 25) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.MonoMethodInfo:get_parameter_info (intptr,System.Reflection.MemberInfo)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Reflection.MonoMethodInfo:get_parameter_info (intptr,System.Reflection.MemberInfo) emitted at 0x7da4f8 to 0x7da572 (code length 122) [client.exe]
+converting method System.DBNull:.cctor ()
+Method System.DBNull:.cctor () emitted at 0x7da578 to 0x7da5ab (code length 51) [client.exe]
+converting method System.DBNull:.ctor ()
+Method System.DBNull:.ctor () emitted at 0x7da5b8 to 0x7da5c0 (code length 8) [client.exe]
+converting method System.Reflection.Binder:ConvertValues (object[],System.Reflection.ParameterInfo[],System.Globalization.CultureInfo,bool)
+Method System.Reflection.Binder:ConvertValues (object[],System.Reflection.ParameterInfo[],System.Globalization.CultureInfo,bool) emitted at 0x7da5c0 to 0x7da6da (code length 282) [client.exe]
+converting method System.Reflection.ParameterInfo:get_ParameterType ()
+Method System.Reflection.ParameterInfo:get_ParameterType () emitted at 0x7da6e8 to 0x7da6f6 (code length 14) [client.exe]
+converting method System.Reflection.Binder:ConvertValue (object,System.Type,System.Globalization.CultureInfo,bool)
+Method System.Reflection.Binder:ConvertValue (object,System.Type,System.Globalization.CultureInfo,bool) emitted at 0x7da6f8 to 0x7da844 (code length 332) [client.exe]
+converting method System.Reflection.Binder:TryConvertToType (object,System.Type,bool&)
+Method System.Reflection.Binder:TryConvertToType (object,System.Type,bool&) emitted at 0x7da860 to 0x7da990 (code length 304) [client.exe]
+converting method System.Type:IsInstanceOfType (object)
+Method System.Type:IsInstanceOfType (object) emitted at 0x7da9d8 to 0x7daa2b (code length 83) [client.exe]
+converting method System.MonoType:get_UnderlyingSystemType ()
+Method System.MonoType:get_UnderlyingSystemType () emitted at 0x7daa48 to 0x7daa53 (code length 11) [client.exe]
+converting method System.Type:get_IsSystemType ()
+Method System.Type:get_IsSystemType () emitted at 0x7daa58 to 0x7daa94 (code length 60) [client.exe]
+converting method intptr:op_Inequality (intptr,intptr)
+Method intptr:op_Inequality (intptr,intptr) emitted at 0x7daaa0 to 0x7daabe (code length 30) [client.exe]
+converting method (wrapper managed-to-native) System.Type:IsInstanceOfType (System.Type,object)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Type:IsInstanceOfType (System.Type,object) emitted at 0x7daac0 to 0x7dab3e (code length 126) [client.exe]
+converting method System.Type:get_IsByRef ()
+Method System.Type:get_IsByRef () emitted at 0x7dab40 to 0x7dab5f (code length 31) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:IsByRefImpl (System.MonoType)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoType:IsByRefImpl (System.MonoType) emitted at 0x7dab60 to 0x7dabf8 (code length 152) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:GetElementType (System.MonoType)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoType:GetElementType (System.MonoType) emitted at 0x7dabf8 to 0x7dac8c (code length 148) [client.exe]
+converting method (wrapper stelemref) object:virt_stelemref_object (intptr,object)
+Method (wrapper stelemref) object:virt_stelemref_object (intptr,object) emitted at 0x7dac90 to 0x7dacd8 (code length 72) [client.exe]
+converting method System.Reflection.MonoMethod:get_ContainsGenericParameters ()
+Method System.Reflection.MonoMethod:get_ContainsGenericParameters () emitted at 0x7dacd8 to 0x7dad93 (code length 187) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.MonoMethod:get_IsGenericMethod (System.Reflection.MonoMethod)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Reflection.MonoMethod:get_IsGenericMethod (System.Reflection.MonoMethod) emitted at 0x7dad98 to 0x7dae30 (code length 152) [client.exe]
+converting method System.Reflection.MonoMethod:get_DeclaringType ()
+Method System.Reflection.MonoMethod:get_DeclaringType () emitted at 0x7dae30 to 0x7dae4d (code length 29) [client.exe]
+converting method System.Reflection.MonoMethodInfo:GetDeclaringType (intptr)
+Method System.Reflection.MonoMethodInfo:GetDeclaringType (intptr) emitted at 0x7dae60 to 0x7daea0 (code length 64) [client.exe]
+converting method System.Reflection.MonoMethodInfo:GetMethodInfo (intptr)
+Method System.Reflection.MonoMethodInfo:GetMethodInfo (intptr) emitted at 0x7daeb0 to 0x7daf6b (code length 187) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.MonoMethodInfo:get_method_info (intptr,System.Reflection.MonoMethodInfo&)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Reflection.MonoMethodInfo:get_method_info (intptr,System.Reflection.MonoMethodInfo&) emitted at 0x7daf78 to 0x7dafe6 (code length 110) [client.exe]
+converting method System.MonoType:get_ContainsGenericParameters ()
+Method System.MonoType:get_ContainsGenericParameters () emitted at 0x7dafe8 to 0x7db0e2 (code length 250) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:get_IsGenericParameter (System.MonoType)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoType:get_IsGenericParameter (System.MonoType) emitted at 0x7db0f0 to 0x7db188 (code length 152) [client.exe]
+converting method (wrapper managed-to-native) System.Type:get_IsGenericType (System.Type)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Type:get_IsGenericType (System.Type) emitted at 0x7db188 to 0x7db220 (code length 152) [client.exe]
+converting method System.Type:get_HasElementType ()
+Method System.Type:get_HasElementType () emitted at 0x7db220 to 0x7db23f (code length 31) [client.exe]
+converting method System.MonoType:HasElementTypeImpl ()
+Method System.MonoType:HasElementTypeImpl () emitted at 0x7db240 to 0x7db299 (code length 89) [client.exe]
+converting method System.MonoType:IsArrayImpl ()
+Method System.MonoType:IsArrayImpl () emitted at 0x7db2a0 to 0x7db2bc (code length 28) [client.exe]
+converting method (wrapper managed-to-native) System.Type:IsArrayImpl (System.Type)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Type:IsArrayImpl (System.Type) emitted at 0x7db2c8 to 0x7db342 (code length 122) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:IsPointerImpl (System.MonoType)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoType:IsPointerImpl (System.MonoType) emitted at 0x7db348 to 0x7db3e0 (code length 152) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
+Restoring : local R13 <-
+Method (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) emitted at 0x7db3e0 to 0x7db480 (code length 160) [client.exe]
+converting method Mono.Unix.Native.Syscall:uname (Mono.Unix.Native.Utsname&)
+Method Mono.Unix.Native.Syscall:uname (Mono.Unix.Native.Utsname&) emitted at 0x7db480 to 0x7db506 (code length 134) [client.exe]
+converting method Mono.Unix.Native.Syscall:.cctor ()
+Method Mono.Unix.Native.Syscall:.cctor () emitted at 0x7db530 to 0x7db696 (code length 358) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_at_fdcwd ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_at_fdcwd () emitted at 0x7db6e0 to 0x7db756 (code length 118) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_marshal_set_last_error ()
+Restoring : local R8 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_marshal_set_last_error () emitted at 0x7db758 to 0x7db7ba (code length 98) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Syscall:_L_ctermid ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Syscall:_L_ctermid () emitted at 0x7db7c0 to 0x7db82a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Syscall:_L_cuserid ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Syscall:_L_cuserid () emitted at 0x7db830 to 0x7db89a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_utime_now ()
+Restoring : local R17 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_utime_now () emitted at 0x7db8a0 to 0x7db922 (code length 130) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_utime_omit ()
+Restoring : local R17 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_utime_omit () emitted at 0x7db928 to 0x7db9aa (code length 130) [client.exe]
+converting method (wrapper runtime-invoke) <Module>:runtime_invoke_int_intptr& (object,intptr,intptr,intptr)
+Method (wrapper runtime-invoke) <Module>:runtime_invoke_int_intptr& (object,intptr,intptr,intptr) emitted at 0x7db9b0 to 0x7dba8e (code length 222) [client.exe]
+converting method string:memset (byte*,int,int)
+Method string:memset (byte*,int,int) emitted at 0x7dba90 to 0x7dbb4d (code length 189) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Syscall:sys_uname (Mono.Unix.Native.Syscall/_Utsname&)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Syscall:sys_uname (Mono.Unix.Native.Syscall/_Utsname&) emitted at 0x7dbb50 to 0x7dbbd2 (code length 130) [client.exe]
+converting method Mono.Unix.Native.Syscall:CopyUtsname (Mono.Unix.Native.Utsname&,Mono.Unix.Native.Syscall/_Utsname&)
+Method Mono.Unix.Native.Syscall:CopyUtsname (Mono.Unix.Native.Utsname&,Mono.Unix.Native.Syscall/_Utsname&) emitted at 0x7dbbd8 to 0x7dbdce (code length 502) [client.exe]
+converting method Mono.Unix.UnixMarshal:PtrToString (intptr)
+converting method Mono.Unix.UnixEncoding:.cctor ()
+Method Mono.Unix.UnixEncoding:.cctor () emitted at 0x7dbde8 to 0x7dbe25 (code length 61) [client.exe]
+converting method Mono.Unix.UnixEncoding:.ctor ()
+Method Mono.Unix.UnixEncoding:.ctor () emitted at 0x7dbe38 to 0x7dbe51 (code length 25) [client.exe]
+converting method System.Text.Encoding:.ctor ()
+Method System.Text.Encoding:.ctor () emitted at 0x7dbe60 to 0x7dbe6f (code length 15) [client.exe]
+converting method System.Text.Encoding:.cctor ()
+Method System.Text.Encoding:.cctor () emitted at 0x7dbe70 to 0x7dbe92 (code length 34) [client.exe]
+Method Mono.Unix.UnixMarshal:PtrToString (intptr) emitted at 0x7dbe98 to 0x7dbecd (code length 53) [client.exe]
+converting method Mono.Unix.UnixMarshal:PtrToString (intptr,System.Text.Encoding)
+Method Mono.Unix.UnixMarshal:PtrToString (intptr,System.Text.Encoding) emitted at 0x7dbee8 to 0x7dbfdb (code length 243) [client.exe]
+converting method Mono.Unix.UnixMarshal:GetStringByteLength (intptr,System.Text.Encoding)
+Method Mono.Unix.UnixMarshal:GetStringByteLength (intptr,System.Text.Encoding) emitted at 0x7dbff8 to 0x7dc16a (code length 370) [client.exe]
+converting method System.Type:IsAssignableFrom (System.Type)
+Method System.Type:IsAssignableFrom (System.Type) emitted at 0x7dc190 to 0x7dc334 (code length 420) [client.exe]
+converting method System.Type:Equals (System.Type)
+Method System.Type:Equals (System.Type) emitted at 0x7dc358 to 0x7dc3c0 (code length 104) [client.exe]
+converting method (wrapper managed-to-native) System.Type:EqualsInternal (System.Type,System.Type)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Type:EqualsInternal (System.Type,System.Type) emitted at 0x7dc3d0 to 0x7dc46c (code length 156) [client.exe]
+converting method (wrapper managed-to-native) System.Type:type_is_assignable_from (System.Type,System.Type)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Type:type_is_assignable_from (System.Type,System.Type) emitted at 0x7dc470 to 0x7dc4ee (code length 126) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:strlen (intptr)
+Restoring : local R18 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:strlen (intptr) emitted at 0x7dc4f0 to 0x7dc57e (code length 142) [client.exe]
+converting method Mono.Unix.Native.Stdlib:.cctor ()
+Method Mono.Unix.Native.Stdlib:.cctor () emitted at 0x7dc590 to 0x7dc7fa (code length 618) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetDefaultSignal ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetDefaultSignal () emitted at 0x7dc8e0 to 0x7dc94a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetErrorSignal ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetErrorSignal () emitted at 0x7dc950 to 0x7dc9ba (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetIgnoreSignal ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetIgnoreSignal () emitted at 0x7dc9c0 to 0x7dca2a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetFullyBuffered ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetFullyBuffered () emitted at 0x7dca30 to 0x7dca9a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetLineBuffered ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetLineBuffered () emitted at 0x7dcaa0 to 0x7dcb0a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetNonBuffered ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetNonBuffered () emitted at 0x7dcb10 to 0x7dcb7a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetBufferSize ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetBufferSize () emitted at 0x7dcb80 to 0x7dcbea (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetEOF ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetEOF () emitted at 0x7dcbf0 to 0x7dcc5a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetFopenMax ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetFopenMax () emitted at 0x7dcc60 to 0x7dccca (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetFilenameMax ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetFilenameMax () emitted at 0x7dccd0 to 0x7dcd3a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetTmpnamLength ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetTmpnamLength () emitted at 0x7dcd40 to 0x7dcdaa (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetStandardError ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetStandardError () emitted at 0x7dcdb0 to 0x7dce1a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetStandardInput ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetStandardInput () emitted at 0x7dce20 to 0x7dce8a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetStandardOutput ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetStandardOutput () emitted at 0x7dce90 to 0x7dcefa (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetTmpMax ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetTmpMax () emitted at 0x7dcf00 to 0x7dcf6a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetExitFailure ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetExitFailure () emitted at 0x7dcf70 to 0x7dcfda (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetExitSuccess ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetExitSuccess () emitted at 0x7dcfe0 to 0x7dd04a (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetMbCurMax ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetMbCurMax () emitted at 0x7dd050 to 0x7dd0ba (code length 106) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetRandMax ()
+Restoring : local R13 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:GetRandMax () emitted at 0x7dd0c0 to 0x7dd12a (code length 106) [client.exe]
+converting method (wrapper managed-to-managed) string:.ctor (sbyte*,int,int,System.Text.Encoding)
+Method (wrapper managed-to-managed) string:.ctor (sbyte*,int,int,System.Text.Encoding) emitted at 0x7dd130 to 0x7dd155 (code length 37) [client.exe]
+converting method string:CreateString (sbyte*,int,int,System.Text.Encoding)
+Method string:CreateString (sbyte*,int,int,System.Text.Encoding) emitted at 0x7dd168 to 0x7dd39f (code length 567) [client.exe]
+converting method System.Text.Encoding:GetString (byte[])
+Method System.Text.Encoding:GetString (byte[]) emitted at 0x7dd3b0 to 0x7dd404 (code length 84) [client.exe]
+converting method System.Text.Encoding:GetString (byte[],int,int)
+Method System.Text.Encoding:GetString (byte[],int,int) emitted at 0x7dd408 to 0x7dd435 (code length 45) [client.exe]
+converting method System.Text.Encoding:GetChars (byte[],int,int)
+Method System.Text.Encoding:GetChars (byte[],int,int) emitted at 0x7dd448 to 0x7dd4a4 (code length 92) [client.exe]
+converting method Mono.Unix.UnixEncoding:GetCharCount (byte[],int,int)
+Method Mono.Unix.UnixEncoding:GetCharCount (byte[],int,int) emitted at 0x7dd4a8 to 0x7dd4cd (code length 37) [client.exe]
+converting method Mono.Unix.UnixEncoding:InternalGetCharCount (byte[],int,int,uint,uint,bool,bool)
+Method Mono.Unix.UnixEncoding:InternalGetCharCount (byte[],int,int,uint,uint,bool,bool) emitted at 0x7dd4e0 to 0x7dd8af (code length 975) [client.exe]
+converting method Mono.Unix.UnixEncoding:GetChars (byte[],int,int,char[],int)
+Method Mono.Unix.UnixEncoding:GetChars (byte[],int,int,char[],int) emitted at 0x7dd8e0 to 0x7dd92d (code length 77) [client.exe]
+converting method Mono.Unix.UnixEncoding:InternalGetChars (byte[],int,int,char[],int,uint&,uint&,bool,bool)
+Method Mono.Unix.UnixEncoding:InternalGetChars (byte[],int,int,char[],int,uint&,uint&,bool,bool) emitted at 0x7dd940 to 0x7de074 (code length 1844) [client.exe]
+converting method (wrapper managed-to-managed) string:.ctor (char[])
+Method (wrapper managed-to-managed) string:.ctor (char[]) emitted at 0x7de0b0 to 0x7de0c9 (code length 25) [client.exe]
+converting method string:CreateString (char[])
+Method string:CreateString (char[]) emitted at 0x7de0d8 to 0x7de17d (code length 165) [client.exe]
+converting method string:memcpy1 (byte*,byte*,int)
+Method string:memcpy1 (byte*,byte*,int) emitted at 0x7de180 to 0x7de232 (code length 178) [client.exe]
+converting method string:memcpy2 (byte*,byte*,int)
+Method string:memcpy2 (byte*,byte*,int) emitted at 0x7de238 to 0x7de2b8 (code length 128) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:free (intptr)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.Stdlib:free (intptr) emitted at 0x7de2b8 to 0x7de326 (code length 110) [client.exe]
+converting method System.Type:GetField (string)
+Method System.Type:GetField (string) emitted at 0x7de328 to 0x7de349 (code length 33) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:GetField (System.MonoType,string,System.Reflection.BindingFlags)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.MonoType:GetField (System.MonoType,string,System.Reflection.BindingFlags) emitted at 0x7de350 to 0x7de3e8 (code length 152) [client.exe]
+converting method System.Reflection.MonoField:GetValue (object)
+Method System.Reflection.MonoField:GetValue (object) emitted at 0x7de3e8 to 0x7de534 (code length 332) [client.exe]
+converting method System.Reflection.FieldInfo:get_IsStatic ()
+Method System.Reflection.FieldInfo:get_IsStatic () emitted at 0x7de570 to 0x7de5a1 (code length 49) [client.exe]
+converting method System.Reflection.MonoField:get_Attributes ()
+Method System.Reflection.MonoField:get_Attributes () emitted at 0x7de5a8 to 0x7de5b6 (code length 14) [client.exe]
+converting method System.Reflection.MonoField:get_DeclaringType ()
+Method System.Reflection.MonoField:get_DeclaringType () emitted at 0x7de5b8 to 0x7de5d1 (code length 25) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.MonoField:GetParentType (System.Reflection.MonoField,bool)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Reflection.MonoField:GetParentType (System.Reflection.MonoField,bool) emitted at 0x7de5e0 to 0x7de678 (code length 152) [client.exe]
+converting method System.Reflection.FieldInfo:get_IsLiteral ()
+Method System.Reflection.FieldInfo:get_IsLiteral () emitted at 0x7de678 to 0x7de6a9 (code length 49) [client.exe]
+converting method System.Reflection.MonoField:CheckGeneric ()
+Method System.Reflection.MonoField:CheckGeneric () emitted at 0x7de6b0 to 0x7de710 (code length 96) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.MonoField:GetValueInternal (System.Reflection.MonoField,object)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Reflection.MonoField:GetValueInternal (System.Reflection.MonoField,object) emitted at 0x7de710 to 0x7de7a8 (code length 152) [client.exe]
+converting method string:Equals (string)
+Method string:Equals (string) emitted at 0x7de7a8 to 0x7de7c4 (code length 28) [client.exe]
+converting method string:Equals (string,string)
+Method string:Equals (string,string) emitted at 0x7de7d0 to 0x7de91a (code length 330) [client.exe]
+converting method Ice.Application:main (string[],string)
+Method Ice.Application:main (string[],string) emitted at 0x7de920 to 0x7deaf0 (code length 464) [client.exe]
+converting method Ice.Util:getProcessLogger ()
+converting method Ice.Util:.cctor ()
+Method Ice.Util:.cctor () emitted at 0x7deb30 to 0x7dec81 (code length 337) [client.exe]
+Method Ice.Util:getProcessLogger () emitted at 0x7dec88 to 0x7ded25 (code length 157) [client.exe]
+converting method Ice.ConsoleLoggerI:.ctor (string)
+Method Ice.ConsoleLoggerI:.ctor (string) emitted at 0x7ded28 to 0x7ded41 (code length 25) [client.exe]
+converting method Ice.LoggerI:.ctor (string)
+Method Ice.LoggerI:.ctor (string) emitted at 0x7ded50 to 0x7dee36 (code length 230) [client.exe]
+converting method Ice.LoggerI:.cctor ()
+Method Ice.LoggerI:.cctor () emitted at 0x7dee48 to 0x7dee6a (code length 34) [client.exe]
+converting method string:Concat (string,string)
+Method string:Concat (string,string) emitted at 0x7dee70 to 0x7def4a (code length 218) [client.exe]
+converting method Ice.Util:setProcessLogger (Ice.Logger)
+Method Ice.Util:setProcessLogger (Ice.Logger) emitted at 0x7def50 to 0x7def96 (code length 70) [client.exe]
+converting method Ice.Util:createProperties ()
+Method Ice.Util:createProperties () emitted at 0x7def98 to 0x7defc4 (code length 44) [client.exe]
+converting method Ice.PropertiesI:.ctor ()
+Method Ice.PropertiesI:.ctor () emitted at 0x7defd0 to 0x7df023 (code length 83) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_gc_alloc_vector (intptr,intptr,intptr)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_gc_alloc_vector (intptr,intptr,intptr) emitted at 0x7df030 to 0x7df0aa (code length 122) [client.exe]
+converting method Ice.PropertiesI:load (string)
+converting method Microsoft.Win32.Registry:.cctor ()
+Method Microsoft.Win32.Registry:.cctor () emitted at 0x7df0d8 to 0x7df253 (code length 379) [client.exe]
+converting method Microsoft.Win32.RegistryKey:.cctor ()
+Method Microsoft.Win32.RegistryKey:.cctor () emitted at 0x7df270 to 0x7df2d6 (code length 102) [client.exe]
+converting method System.IO.Path:.cctor ()
+Method System.IO.Path:.cctor () emitted at 0x7df2f0 to 0x7df3fe (code length 270) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:get_VolumeSeparatorChar ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:get_VolumeSeparatorChar () emitted at 0x7df448 to 0x7df4b6 (code length 110) [client.exe]
+converting method System.IO.MonoIO:.cctor ()
+Method System.IO.MonoIO:.cctor () emitted at 0x7df4b8 to 0x7df4d8 (code length 32) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:get_DirectorySeparatorChar ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:get_DirectorySeparatorChar () emitted at 0x7df4d8 to 0x7df546 (code length 110) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:get_AltDirectorySeparatorChar ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:get_AltDirectorySeparatorChar () emitted at 0x7df548 to 0x7df5b6 (code length 110) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:get_PathSeparator ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:get_PathSeparator () emitted at 0x7df5b8 to 0x7df626 (code length 110) [client.exe]
+converting method System.IO.Path:GetInvalidPathChars ()
+Method System.IO.Path:GetInvalidPathChars () emitted at 0x7df628 to 0x7df64d (code length 37) [client.exe]
+converting method (wrapper managed-to-managed) string:.ctor (char,int)
+Method (wrapper managed-to-managed) string:.ctor (char,int) emitted at 0x7df650 to 0x7df671 (code length 33) [client.exe]
+converting method string:CreateString (char,int)
+Method string:CreateString (char,int) emitted at 0x7df680 to 0x7df728 (code length 168) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_object_new_specific (intptr)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_object_new_specific (intptr) emitted at 0x7df728 to 0x7df79e (code length 118) [client.exe]
+converting method (wrapper remoting-invoke-with-check) Microsoft.Win32.RegistryKey:.ctor (Microsoft.Win32.RegistryHive)
+Method (wrapper remoting-invoke-with-check) Microsoft.Win32.RegistryKey:.ctor (Microsoft.Win32.RegistryHive) emitted at 0x7df7a0 to 0x7df7dd (code length 61) [client.exe]
+converting method Microsoft.Win32.RegistryKey:.ctor (Microsoft.Win32.RegistryHive)
+Method Microsoft.Win32.RegistryKey:.ctor (Microsoft.Win32.RegistryHive) emitted at 0x7df7f8 to 0x7df815 (code length 29) [client.exe]
+converting method Microsoft.Win32.RegistryKey:.ctor (Microsoft.Win32.RegistryHive,intptr,bool)
+Method Microsoft.Win32.RegistryKey:.ctor (Microsoft.Win32.RegistryHive,intptr,bool) emitted at 0x7df828 to 0x7df8fb (code length 211) [client.exe]
+converting method System.MarshalByRefObject:.ctor ()
+Method System.MarshalByRefObject:.ctor () emitted at 0x7df918 to 0x7df920 (code length 8) [client.exe]
+converting method Microsoft.Win32.RegistryKey:GetHiveName (Microsoft.Win32.RegistryHive)
+Method Microsoft.Win32.RegistryKey:GetHiveName (Microsoft.Win32.RegistryHive) emitted at 0x7df920 to 0x7df9fd (code length 221) [client.exe]
+Method Ice.PropertiesI:load (string) emitted at 0x7dfa40 to 0x7dfb4a (code length 266) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.StreamReader:.ctor (string)
+Method (wrapper remoting-invoke-with-check) System.IO.StreamReader:.ctor (string) emitted at 0x7dfb70 to 0x7dfbad (code length 61) [client.exe]
+converting method System.IO.StreamReader:.cctor ()
+Method System.IO.StreamReader:.cctor () emitted at 0x7dfbc8 to 0x7dfc1b (code length 83) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.StreamReader/NullStreamReader:.ctor ()
+Method (wrapper remoting-invoke-with-check) System.IO.StreamReader/NullStreamReader:.ctor () emitted at 0x7dfc28 to 0x7dfc64 (code length 60) [client.exe]
+converting method System.IO.StreamReader/NullStreamReader:.ctor ()
+Method System.IO.StreamReader/NullStreamReader:.ctor () emitted at 0x7dfc80 to 0x7dfc99 (code length 25) [client.exe]
+converting method System.IO.StreamReader:.ctor ()
+Method System.IO.StreamReader:.ctor () emitted at 0x7dfca8 to 0x7dfcc1 (code length 25) [client.exe]
+converting method System.IO.TextReader:.ctor ()
+Method System.IO.TextReader:.ctor () emitted at 0x7dfcd0 to 0x7dfce9 (code length 25) [client.exe]
+converting method System.IO.TextReader:.cctor ()
+Method System.IO.TextReader:.cctor () emitted at 0x7dfcf0 to 0x7dfd27 (code length 55) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.TextReader/NullTextReader:.ctor ()
+Method (wrapper remoting-invoke-with-check) System.IO.TextReader/NullTextReader:.ctor () emitted at 0x7dfd38 to 0x7dfd74 (code length 60) [client.exe]
+converting method System.IO.TextReader/NullTextReader:.ctor ()
+Method System.IO.TextReader/NullTextReader:.ctor () emitted at 0x7dfd90 to 0x7dfda9 (code length 25) [client.exe]
+converting method System.IO.StreamReader:.ctor (string)
+Method System.IO.StreamReader:.ctor (string) emitted at 0x7dfdb0 to 0x7dfdd9 (code length 41) [client.exe]
+converting method System.Text.Encoding:get_UTF8Unmarked ()
+Method System.Text.Encoding:get_UTF8Unmarked () emitted at 0x7dfdf8 to 0x7dfe84 (code length 140) [client.exe]
+converting method System.Text.UTF8Encoding:.ctor (bool,bool)
+Method System.Text.UTF8Encoding:.ctor (bool,bool) emitted at 0x7dfe90 to 0x7dffd2 (code length 322) [client.exe]
+converting method System.Text.Encoding:.ctor (int)
+Method System.Text.Encoding:.ctor (int) emitted at 0x7e0020 to 0x7e01b2 (code length 402) [client.exe]
+converting method System.Text.DecoderFallback:get_StandardSafeFallback ()
+converting method System.Text.DecoderFallback:.cctor ()
+Method System.Text.DecoderFallback:.cctor () emitted at 0x7e01d0 to 0x7e025f (code length 143) [client.exe]
+converting method System.Text.DecoderExceptionFallback:.ctor ()
+Method System.Text.DecoderExceptionFallback:.ctor () emitted at 0x7e0288 to 0x7e02a1 (code length 25) [client.exe]
+converting method System.Text.DecoderFallback:.ctor ()
+Method System.Text.DecoderFallback:.ctor () emitted at 0x7e02b0 to 0x7e02b8 (code length 8) [client.exe]
+converting method System.Text.DecoderReplacementFallback:.ctor ()
+Method System.Text.DecoderReplacementFallback:.ctor () emitted at 0x7e02b8 to 0x7e02d5 (code length 29) [client.exe]
+converting method System.Text.DecoderReplacementFallback:.ctor (string)
+Method System.Text.DecoderReplacementFallback:.ctor (string) emitted at 0x7e02d8 to 0x7e033c (code length 100) [client.exe]
+Method System.Text.DecoderFallback:get_StandardSafeFallback () emitted at 0x7e0340 to 0x7e034e (code length 14) [client.exe]
+converting method System.Text.EncoderFallback:get_StandardSafeFallback ()
+converting method System.Text.EncoderFallback:.cctor ()
+Method System.Text.EncoderFallback:.cctor () emitted at 0x7e0350 to 0x7e03df (code length 143) [client.exe]
+converting method System.Text.EncoderExceptionFallback:.ctor ()
+Method System.Text.EncoderExceptionFallback:.ctor () emitted at 0x7e0408 to 0x7e0421 (code length 25) [client.exe]
+converting method System.Text.EncoderFallback:.ctor ()
+Method System.Text.EncoderFallback:.ctor () emitted at 0x7e0430 to 0x7e0438 (code length 8) [client.exe]
+converting method System.Text.EncoderReplacementFallback:.ctor ()
+Method System.Text.EncoderReplacementFallback:.ctor () emitted at 0x7e0438 to 0x7e0455 (code length 29) [client.exe]
+converting method System.Text.EncoderReplacementFallback:.ctor (string)
+Method System.Text.EncoderReplacementFallback:.ctor (string) emitted at 0x7e0458 to 0x7e04bc (code length 100) [client.exe]
+Method System.Text.EncoderFallback:get_StandardSafeFallback () emitted at 0x7e04c0 to 0x7e04ce (code length 14) [client.exe]
+converting method System.Text.Encoding:SetFallbackInternal (System.Text.EncoderFallback,System.Text.DecoderFallback)
+Method System.Text.Encoding:SetFallbackInternal (System.Text.EncoderFallback,System.Text.DecoderFallback) emitted at 0x7e04d0 to 0x7e052d (code length 93) [client.exe]
+converting method System.IO.StreamReader:.ctor (string,System.Text.Encoding,bool,int)
+Method System.IO.StreamReader:.ctor (string,System.Text.Encoding,bool,int) emitted at 0x7e0530 to 0x7e06e4 (code length 436) [client.exe]
+converting method string:op_Equality (string,string)
+Method string:op_Equality (string,string) emitted at 0x7e0718 to 0x7e0734 (code length 28) [client.exe]
+converting method string:IndexOfAny (char[])
+Method string:IndexOfAny (char[]) emitted at 0x7e0738 to 0x7e0788 (code length 80) [client.exe]
+converting method string:IndexOfAnyUnchecked (char[],int,int)
+Method string:IndexOfAnyUnchecked (char[],int,int) emitted at 0x7e0798 to 0x7e095b (code length 451) [client.exe]
+converting method string:IndexOfUnchecked (char,int,int)
+Method string:IndexOfUnchecked (char,int,int) emitted at 0x7e0968 to 0x7e0b90 (code length 552) [client.exe]
+converting method System.IO.File:OpenRead (string)
+Method System.IO.File:OpenRead (string) emitted at 0x7e0b90 to 0x7e0bc8 (code length 56) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
+Method (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare) emitted at 0x7e0bd8 to 0x7e0c3a (code length 98) [client.exe]
+converting method System.IO.FileStream:.cctor ()
+Method System.IO.FileStream:.cctor () emitted at 0x7e0c58 to 0x7e0c7a (code length 34) [client.exe]
+converting method System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
+Method System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare) emitted at 0x7e0c80 to 0x7e0ca9 (code length 41) [client.exe]
+converting method System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,bool,System.IO.FileOptions)
+Restoring : local R24 <-
+Method System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,bool,System.IO.FileOptions) emitted at 0x7e0cb8 to 0x7e13c4 (code length 1804) [client.exe]
+converting method System.IO.Stream:.ctor ()
+Method System.IO.Stream:.ctor () emitted at 0x7e1448 to 0x7e1461 (code length 25) [client.exe]
+converting method System.IO.Stream:.cctor ()
+Method System.IO.Stream:.cctor () emitted at 0x7e1468 to 0x7e149f (code length 55) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.NullStream:.ctor ()
+Method (wrapper remoting-invoke-with-check) System.IO.NullStream:.ctor () emitted at 0x7e14b0 to 0x7e14ec (code length 60) [client.exe]
+converting method System.IO.NullStream:.ctor ()
+Method System.IO.NullStream:.ctor () emitted at 0x7e1508 to 0x7e1521 (code length 25) [client.exe]
+converting method System.IO.Directory:Exists (string)
+Method System.IO.Directory:Exists (string) emitted at 0x7e1528 to 0x7e1565 (code length 61) [client.exe]
+converting method System.IO.MonoIO:ExistsDirectory (string,System.IO.MonoIOError&)
+Method System.IO.MonoIO:ExistsDirectory (string,System.IO.MonoIOError&) emitted at 0x7e1578 to 0x7e15cd (code length 85) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:GetFileAttributes (string,System.IO.MonoIOError&)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:GetFileAttributes (string,System.IO.MonoIOError&) emitted at 0x7e15e0 to 0x7e165a (code length 122) [client.exe]
+converting method System.IO.Path:GetDirectoryName (string)
+Method System.IO.Path:GetDirectoryName (string) emitted at 0x7e1660 to 0x7e1808 (code length 424) [client.exe]
+converting method System.IO.Path:GetPathRoot (string)
+Method System.IO.Path:GetPathRoot (string) emitted at 0x7e1838 to 0x7e1904 (code length 204) [client.exe]
+converting method string:Trim ()
+Method string:Trim () emitted at 0x7e1920 to 0x7e19a1 (code length 129) [client.exe]
+converting method string:FindNotWhiteSpace (int,int,int)
+Method string:FindNotWhiteSpace (int,int,int) emitted at 0x7e19b0 to 0x7e1a7c (code length 204) [client.exe]
+converting method System.IO.Path:IsPathRooted (string)
+Method System.IO.Path:IsPathRooted (string) emitted at 0x7e1a80 to 0x7e1b28 (code length 168) [client.exe]
+converting method string:LastIndexOfAny (char[])
+Method string:LastIndexOfAny (char[]) emitted at 0x7e1b28 to 0x7e1b80 (code length 88) [client.exe]
+converting method string:LastIndexOfAnyUnchecked (char[],int,int)
+Method string:LastIndexOfAnyUnchecked (char[],int,int) emitted at 0x7e1b90 to 0x7e1ca2 (code length 274) [client.exe]
+converting method System.IO.File:Exists (string)
+Method System.IO.File:Exists (string) emitted at 0x7e1cb0 to 0x7e1d17 (code length 103) [client.exe]
+converting method string:IsNullOrWhiteSpace (string)
+Method string:IsNullOrWhiteSpace (string) emitted at 0x7e1d30 to 0x7e1db4 (code length 132) [client.exe]
+converting method System.IO.MonoIO:ExistsFile (string,System.IO.MonoIOError&)
+Method System.IO.MonoIO:ExistsFile (string,System.IO.MonoIOError&) emitted at 0x7e1db8 to 0x7e1dfa (code length 66) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:Open (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.IO.FileOptions,System.IO.MonoIOError&)
+Restoring : local R15 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:Open (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.IO.FileOptions,System.IO.MonoIOError&) emitted at 0x7e1e00 to 0x7e1e86 (code length 134) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:GetFileType (intptr,System.IO.MonoIOError&)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:GetFileType (intptr,System.IO.MonoIOError&) emitted at 0x7e1e88 to 0x7e1f02 (code length 122) [client.exe]
+converting method System.IO.FileStream:get_Length ()
+Restoring : local R12 <-
+Method System.IO.FileStream:get_Length () emitted at 0x7e1f08 to 0x7e201c (code length 276) [client.exe]
+converting method System.IO.FileStream:get_CanSeek ()
+Method System.IO.FileStream:get_CanSeek () emitted at 0x7e2038 to 0x7e2047 (code length 15) [client.exe]
+converting method System.IO.FileStream:FlushBufferIfDirty ()
+Method System.IO.FileStream:FlushBufferIfDirty () emitted at 0x7e2048 to 0x7e206d (code length 37) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:GetLength (intptr,System.IO.MonoIOError&)
+Restoring : local R13 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:GetLength (intptr,System.IO.MonoIOError&) emitted at 0x7e2080 to 0x7e2106 (code length 134) [client.exe]
+converting method System.IO.FileStream:InitBuffer (int,bool)
+Method System.IO.FileStream:InitBuffer (int,bool) emitted at 0x7e2108 to 0x7e22a8 (code length 416) [client.exe]
+converting method System.IO.StreamReader:Initialize (System.IO.Stream,System.Text.Encoding,bool,int)
+Method System.IO.StreamReader:Initialize (System.IO.Stream,System.Text.Encoding,bool,int) emitted at 0x7e22b8 to 0x7e279a (code length 1250) [client.exe]
+converting method System.IO.FileStream:get_CanRead ()
+Method System.IO.FileStream:get_CanRead () emitted at 0x7e27b8 to 0x7e27f1 (code length 57) [client.exe]
+converting method System.Text.UTF8Encoding:GetMaxCharCount (int)
+Method System.Text.UTF8Encoding:GetMaxCharCount (int) emitted at 0x7e27f8 to 0x7e288c (code length 148) [client.exe]
+converting method System.Text.DecoderReplacementFallback:get_MaxCharCount ()
+Method System.Text.DecoderReplacementFallback:get_MaxCharCount () emitted at 0x7e2890 to 0x7e28a1 (code length 17) [client.exe]
+converting method System.Text.UTF8Encoding:GetDecoder ()
+Method System.Text.UTF8Encoding:GetDecoder () emitted at 0x7e28a8 to 0x7e28e0 (code length 56) [client.exe]
+converting method System.Text.UTF8Encoding/UTF8Decoder:.ctor (System.Text.DecoderFallback)
+Method System.Text.UTF8Encoding/UTF8Decoder:.ctor (System.Text.DecoderFallback) emitted at 0x7e28f0 to 0x7e292e (code length 62) [client.exe]
+converting method System.Text.Decoder:.ctor ()
+Method System.Text.Decoder:.ctor () emitted at 0x7e2948 to 0x7e299b (code length 83) [client.exe]
+converting method System.Text.Decoder:set_Fallback (System.Text.DecoderFallback)
+Method System.Text.Decoder:set_Fallback (System.Text.DecoderFallback) emitted at 0x7e29a0 to 0x7e2a00 (code length 96) [client.exe]
+converting method System.Text.UTF8Encoding:GetPreamble ()
+converting method System.EmptyArray`1<byte>:.cctor ()
+Method System.EmptyArray`1<byte>:.cctor () emitted at 0x7e2a00 to 0x7e2a26 (code length 38) [client.exe]
+Method System.Text.UTF8Encoding:GetPreamble () emitted at 0x7e2a28 to 0x7e2a7c (code length 84) [client.exe]
+converting method Ice.PropertiesI:parse (System.IO.StreamReader)
+Method Ice.PropertiesI:parse (System.IO.StreamReader) emitted at 0x7e2a80 to 0x7e2b13 (code length 147) [client.exe]
+converting method System.IO.StreamReader:ReadLine ()
+Method System.IO.StreamReader:ReadLine () emitted at 0x7e2b30 to 0x7e2ea0 (code length 880) [client.exe]
+converting method System.IO.StreamReader:CheckState ()
+Method System.IO.StreamReader:CheckState () emitted at 0x7e2f10 to 0x7e2f68 (code length 88) [client.exe]
+converting method System.IO.StreamReader:ReadBuffer ()
+Method System.IO.StreamReader:ReadBuffer () emitted at 0x7e2f68 to 0x7e2fc3 (code length 91) [client.exe]
+converting method System.IO.FileStream:Read (byte[],int,int)
+Method System.IO.FileStream:Read (byte[],int,int) emitted at 0x7e2fd0 to 0x7e3218 (code length 584) [client.exe]
+converting method System.IO.FileStream:ReadInternal (byte[],int,int)
+Method System.IO.FileStream:ReadInternal (byte[],int,int) emitted at 0x7e3228 to 0x7e33df (code length 439) [client.exe]
+converting method System.IO.FileStream:ReadSegment (byte[],int,int)
+Method System.IO.FileStream:ReadSegment (byte[],int,int) emitted at 0x7e3410 to 0x7e3547 (code length 311) [client.exe]
+converting method System.IO.FileStream:FlushBuffer ()
+Method System.IO.FileStream:FlushBuffer () emitted at 0x7e3558 to 0x7e3571 (code length 25) [client.exe]
+converting method System.IO.FileStream:FlushBuffer (System.IO.Stream)
+Method System.IO.FileStream:FlushBuffer (System.IO.Stream) emitted at 0x7e3578 to 0x7e37fa (code length 642) [client.exe]
+converting method System.IO.FileStream:ReadData (intptr,byte[],int,int)
+Method System.IO.FileStream:ReadData (intptr,byte[],int,int) emitted at 0x7e3818 to 0x7e38b4 (code length 156) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:Read (intptr,byte[],int,int,System.IO.MonoIOError&)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:Read (intptr,byte[],int,int,System.IO.MonoIOError&) emitted at 0x7e38c0 to 0x7e3942 (code length 130) [client.exe]
+converting method System.IO.StreamReader:ReadBufferCore (int)
+Method System.IO.StreamReader:ReadBufferCore (int) emitted at 0x7e3948 to 0x7e3a65 (code length 285) [client.exe]
+converting method System.IO.StreamReader:DoChecks (int)
+Method System.IO.StreamReader:DoChecks (int) emitted at 0x7e3a78 to 0x7e3f19 (code length 1185) [client.exe]
+converting method System.Text.UTF8Encoding/UTF8Decoder:GetChars (byte[],int,int,char[],int)
+Method System.Text.UTF8Encoding/UTF8Decoder:GetChars (byte[],int,int,char[],int) emitted at 0x7e3f50 to 0x7e3fd4 (code length 132) [client.exe]
+converting method System.Text.UTF8Encoding:InternalGetChars (byte[],int,int,char[],int,uint&,uint&,object,System.Text.DecoderFallbackBuffer&,byte[]&,bool)
+Method System.Text.UTF8Encoding:InternalGetChars (byte[],int,int,char[],int,uint&,uint&,object,System.Text.DecoderFallbackBuffer&,byte[]&,bool) emitted at 0x15c9000 to 0x15c928a (code length 650) [client.exe]
+converting method System.Text.UTF8Encoding:InternalGetChars (byte*,int,char*,int,uint&,uint&,object,System.Text.DecoderFallbackBuffer&,byte[]&,bool)
+Method System.Text.UTF8Encoding:InternalGetChars (byte*,int,char*,int,uint&,uint&,object,System.Text.DecoderFallbackBuffer&,byte[]&,bool) emitted at 0x15c9298 to 0x15c9868 (code length 1488) [client.exe]
+converting method System.IO.StreamReader:FindNextEOL ()
+Method System.IO.StreamReader:FindNextEOL () emitted at 0x15c98a0 to 0x15c9b28 (code length 648) [client.exe]
+converting method (wrapper managed-to-managed) string:.ctor (char[],int,int)
+Method (wrapper managed-to-managed) string:.ctor (char[],int,int) emitted at 0x15c9b28 to 0x15c9b45 (code length 29) [client.exe]
+converting method string:CreateString (char[],int,int)
+Method string:CreateString (char[],int,int) emitted at 0x15c9b58 to 0x15c9d27 (code length 463) [client.exe]
+converting method Ice.PropertiesI:parseLine (string)
+Method Ice.PropertiesI:parseLine (string) emitted at 0x15c9d28 to 0x15ca3bf (code length 1687) [client.exe]
+converting method string:Concat (object,object)
+Method string:Concat (object,object) emitted at 0x15ca4a8 to 0x15ca508 (code length 96) [client.exe]
+converting method string:ToString ()
+Method string:ToString () emitted at 0x15ca508 to 0x15ca513 (code length 11) [client.exe]
+converting method char:ToString ()
+Method char:ToString () emitted at 0x15ca518 to 0x15ca539 (code length 33) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_gc_alloc_string (intptr,intptr,int)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_gc_alloc_string (intptr,intptr,int) emitted at 0x15ca550 to 0x15ca5ca (code length 122) [client.exe]
+converting method Ice.PropertiesI:setProperty (string,string)
+converting method IceInternal.PropertyNames:.cctor ()
+Method IceInternal.PropertyNames:.cctor () emitted at 0x15da000 to 0x15ea453 (code length 66643) [client.exe]
+converting method IceInternal.Property:.ctor (string,bool,string)
+Method IceInternal.Property:.ctor (string,bool,string) emitted at 0x15ea460 to 0x15ea4c4 (code length 100) [client.exe]
+Method Ice.PropertiesI:setProperty (string,string) emitted at 0x15ea4c8 to 0x15eabf3 (code length 1835) [client.exe]
+converting method string:IndexOf (char)
+Method string:IndexOf (char) emitted at 0x15eac88 to 0x15eacb9 (code length 49) [client.exe]
+converting method string:Substring (int,int)
+Method string:Substring (int,int) emitted at 0x15eacc0 to 0x15eae3c (code length 380) [client.exe]
+converting method System.Diagnostics.Debug:Assert (bool)
+Method System.Diagnostics.Debug:Assert (bool) emitted at 0x15eae40 to 0x15eae59 (code length 25) [client.exe]
+converting method System.Diagnostics.TraceImpl:Assert (bool)
+Method System.Diagnostics.TraceImpl:Assert (bool) emitted at 0x15eae68 to 0x15eae8d (code length 37) [client.exe]
+converting method System.Diagnostics.TraceImpl:.cctor ()
+Method System.Diagnostics.TraceImpl:.cctor () emitted at 0x15eaea0 to 0x15eaeef (code length 79) [client.exe]
+converting method System.Diagnostics.CorrelationManager:.ctor ()
+Method System.Diagnostics.CorrelationManager:.ctor () emitted at 0x15eaf00 to 0x15eaf53 (code length 83) [client.exe]
+converting method System.Collections.Stack:.ctor ()
+Method System.Collections.Stack:.ctor () emitted at 0x15eaf60 to 0x15eafbf (code length 95) [client.exe]
+converting method string:ToUpper ()
+Method string:ToUpper () emitted at 0x15eafc0 to 0x15eafdd (code length 29) [client.exe]
+converting method System.Globalization.CultureInfo:get_CurrentCulture ()
+Method System.Globalization.CultureInfo:get_CurrentCulture () emitted at 0x15ca5d0 to 0x15ca5ed (code length 29) [client.exe]
+converting method string:ToUpper (System.Globalization.CultureInfo)
+Method string:ToUpper (System.Globalization.CultureInfo) emitted at 0x15ca5f0 to 0x15ca67c (code length 140) [client.exe]
+converting method System.Globalization.CultureInfo:get_TextInfo ()
+Method System.Globalization.CultureInfo:get_TextInfo () emitted at 0x15ca688 to 0x15ca730 (code length 168) [client.exe]
+converting method System.Globalization.CultureInfo:.ctor (int)
+Method System.Globalization.CultureInfo:.ctor (int) emitted at 0x15ca730 to 0x15ca74d (code length 29) [client.exe]
+converting method System.Globalization.CultureInfo:.ctor (int,bool)
+Method System.Globalization.CultureInfo:.ctor (int,bool) emitted at 0x15ca760 to 0x15ca77d (code length 29) [client.exe]
+converting method (wrapper managed-to-native) System.Globalization.CultureInfo:construct_internal_locale_from_lcid (System.Globalization.CultureInfo,int)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Globalization.CultureInfo:construct_internal_locale_from_lcid (System.Globalization.CultureInfo,int) emitted at 0x15ca780 to 0x15ca81c (code length 156) [client.exe]
+converting method System.Globalization.CultureInfo:get_InvariantCulture ()
+Method System.Globalization.CultureInfo:get_InvariantCulture () emitted at 0x15ca820 to 0x15ca82e (code length 14) [client.exe]
+converting method System.Globalization.TextInfo:ToUpper (string)
+Method System.Globalization.TextInfo:ToUpper (string) emitted at 0x15ca830 to 0x15ca914 (code length 228) [client.exe]
+converting method System.Globalization.TextInfo:ToUpper (char)
+Method System.Globalization.TextInfo:ToUpper (char) emitted at 0x15ca918 to 0x15caaad (code length 405) [client.exe]
+converting method System.Text.RegularExpressions.Regex:.ctor (string)
+Method System.Text.RegularExpressions.Regex:.ctor (string) emitted at 0x15cab18 to 0x15cab35 (code length 29) [client.exe]
+converting method System.Text.RegularExpressions.Regex:.cctor ()
+Method System.Text.RegularExpressions.Regex:.cctor () emitted at 0x15cab48 to 0x15caba0 (code length 88) [client.exe]
+converting method System.Text.RegularExpressions.FactoryCache:.ctor (int)
+Method System.Text.RegularExpressions.FactoryCache:.ctor (int) emitted at 0x15cabb8 to 0x15cac65 (code length 173) [client.exe]
+converting method System.Collections.Hashtable:.ctor (int)
+Method System.Collections.Hashtable:.ctor (int) emitted at 0x15cac80 to 0x15caca1 (code length 33) [client.exe]
+converting method System.Text.RegularExpressions.MRUList:.ctor ()
+Method System.Text.RegularExpressions.MRUList:.ctor () emitted at 0x15caca8 to 0x15cad03 (code length 91) [client.exe]
+converting method System.Environment:GetEnvironmentVariable (string)
+Method System.Environment:GetEnvironmentVariable (string) emitted at 0x15cad08 to 0x15cad61 (code length 89) [client.exe]
+converting method (wrapper managed-to-native) System.Environment:internalGetEnvironmentVariable (string)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Environment:internalGetEnvironmentVariable (string) emitted at 0x15cad88 to 0x15cadfe (code length 118) [client.exe]
+converting method System.Text.RegularExpressions.Regex:.ctor (string,System.Text.RegularExpressions.RegexOptions)
+Method System.Text.RegularExpressions.Regex:.ctor (string,System.Text.RegularExpressions.RegexOptions) emitted at 0x15cae00 to 0x15cae8c (code length 140) [client.exe]
+converting method System.Text.RegularExpressions.Regex:validate_options (System.Text.RegularExpressions.RegexOptions)
+Method System.Text.RegularExpressions.Regex:validate_options (System.Text.RegularExpressions.RegexOptions) emitted at 0x15caea8 to 0x15caf3c (code length 148) [client.exe]
+converting method System.Text.RegularExpressions.Regex:Init ()
+Method System.Text.RegularExpressions.Regex:Init () emitted at 0x15caf40 to 0x15cb04b (code length 267) [client.exe]
+converting method System.Text.RegularExpressions.FactoryCache:Lookup (string,System.Text.RegularExpressions.RegexOptions)
+Method System.Text.RegularExpressions.FactoryCache:Lookup (string,System.Text.RegularExpressions.RegexOptions) emitted at 0x15cb068 to 0x15cb1e4 (code length 380) [client.exe]
+converting method System.Text.RegularExpressions.FactoryCache/Key:.ctor (string,System.Text.RegularExpressions.RegexOptions)
+Method System.Text.RegularExpressions.FactoryCache/Key:.ctor (string,System.Text.RegularExpressions.RegexOptions) emitted at 0x15cb208 to 0x15cb240 (code length 56) [client.exe]
+converting method System.Collections.Hashtable:Contains (object)
+Method System.Collections.Hashtable:Contains (object) emitted at 0x15cb240 to 0x15cb269 (code length 41) [client.exe]
+converting method System.Collections.Hashtable:Find (object)
+Method System.Collections.Hashtable:Find (object) emitted at 0x15cb278 to 0x15cb3ee (code length 374) [client.exe]
+converting method System.Collections.Hashtable:GetHash (object)
+Method System.Collections.Hashtable:GetHash (object) emitted at 0x15cb3f0 to 0x15cb44d (code length 93) [client.exe]
+converting method System.Text.RegularExpressions.FactoryCache/Key:GetHashCode ()
+Method System.Text.RegularExpressions.FactoryCache/Key:GetHashCode () emitted at 0x15cb450 to 0x15cb472 (code length 34) [client.exe]
+converting method string:GetHashCode ()
+Method string:GetHashCode () emitted at 0x15cb478 to 0x15cb4e8 (code length 112) [client.exe]
+converting method System.Text.RegularExpressions.Regex:InitNewRegex ()
+Method System.Text.RegularExpressions.Regex:InitNewRegex () emitted at 0x15cb4e8 to 0x15cb5f6 (code length 270) [client.exe]
+converting method System.Text.RegularExpressions.Regex:CreateMachineFactory (string,System.Text.RegularExpressions.RegexOptions)
+Method System.Text.RegularExpressions.Regex:CreateMachineFactory (string,System.Text.RegularExpressions.RegexOptions) emitted at 0x15cb610 to 0x15cb806 (code length 502) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:.ctor ()
+Method System.Text.RegularExpressions.Syntax.Parser:.ctor () emitted at 0x15cb848 to 0x15cb911 (code length 201) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ParseRegularExpression (string,System.Text.RegularExpressions.RegexOptions)
+Method System.Text.RegularExpressions.Syntax.Parser:ParseRegularExpression (string,System.Text.RegularExpressions.RegexOptions) emitted at 0x15cb928 to 0x15cba7c (code length 340) [client.exe]
+converting method System.Collections.ArrayList:Clear ()
+Method System.Collections.ArrayList:Clear () emitted at 0x15cbaa0 to 0x15cbad6 (code length 54) [client.exe]
+converting method System.Array:Clear (System.Array,int,int)
+Method System.Array:Clear (System.Array,int,int) emitted at 0x15cbad8 to 0x15cbc04 (code length 300) [client.exe]
+converting method (wrapper managed-to-native) System.Array:ClearInternal (System.Array,int,int)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Array:ClearInternal (System.Array,int,int) emitted at 0x15cbc10 to 0x15cbc82 (code length 114) [client.exe]
+converting method System.Collections.Hashtable:Clear ()
+Method System.Collections.Hashtable:Clear () emitted at 0x15cbc88 to 0x15cbd12 (code length 138) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ParseGroup (System.Text.RegularExpressions.Syntax.Group,System.Text.RegularExpressions.RegexOptions,System.Text.RegularExpressions.Syntax.Assertion)
+Restoring : arg R10 <-
+Restoring : local R26 <-
+Restoring : local R27 <-
+Restoring : local R18 <-
+Method System.Text.RegularExpressions.Syntax.Parser:ParseGroup (System.Text.RegularExpressions.Syntax.Group,System.Text.RegularExpressions.RegexOptions,System.Text.RegularExpressions.Syntax.Assertion) emitted at 0x15cbd18 to 0x15cc8b8 (code length 2976) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ConsumeWhitespace (bool)
+Method System.Text.RegularExpressions.Syntax.Parser:ConsumeWhitespace (bool) emitted at 0x15cc9d8 to 0x15ccbe7 (code length 527) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Group:AppendExpression (System.Text.RegularExpressions.Syntax.Expression)
+Method System.Text.RegularExpressions.Syntax.Group:AppendExpression (System.Text.RegularExpressions.Syntax.Expression) emitted at 0x15ccbe8 to 0x15ccc09 (code length 33) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.ExpressionCollection:Add (System.Text.RegularExpressions.Syntax.Expression)
+Method System.Text.RegularExpressions.Syntax.ExpressionCollection:Add (System.Text.RegularExpressions.Syntax.Expression) emitted at 0x15ccc18 to 0x15ccc39 (code length 33) [client.exe]
+converting method System.Collections.CollectionBase:System.Collections.IList.Add (object)
+Method System.Collections.CollectionBase:System.Collections.IList.Add (object) emitted at 0x15ccc58 to 0x15ccd2c (code length 212) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.ExpressionCollection:OnValidate (object)
+Method System.Text.RegularExpressions.Syntax.ExpressionCollection:OnValidate (object) emitted at 0x15eaff8 to 0x15eb000 (code length 8) [client.exe]
+converting method System.Collections.CollectionBase:get_InnerList ()
+Method System.Collections.CollectionBase:get_InnerList () emitted at 0x15ccd38 to 0x15ccdb9 (code length 129) [client.exe]
+converting method System.Collections.ArrayList:get_Count ()
+Method System.Collections.ArrayList:get_Count () emitted at 0x15ccdc0 to 0x15ccdce (code length 14) [client.exe]
+converting method System.Collections.CollectionBase:OnInsert (int,object)
+Method System.Collections.CollectionBase:OnInsert (int,object) emitted at 0x15ccdd0 to 0x15ccdd8 (code length 8) [client.exe]
+converting method System.Collections.ArrayList:Add (object)
+Method System.Collections.ArrayList:Add (object) emitted at 0x15ccdd8 to 0x15cce35 (code length 93) [client.exe]
+converting method System.Collections.ArrayList:EnsureCapacity (int)
+Method System.Collections.ArrayList:EnsureCapacity (int) emitted at 0x15cce48 to 0x15cceeb (code length 163) [client.exe]
+converting method System.Array:Copy (System.Array,int,System.Array,int,int)
+Method System.Array:Copy (System.Array,int,System.Array,int,int) emitted at 0x15ccef8 to 0x15cd41c (code length 1316) [client.exe]
+converting method (wrapper managed-to-native) System.Array:FastCopy (System.Array,int,System.Array,int,int)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) System.Array:FastCopy (System.Array,int,System.Array,int,int) emitted at 0x15cd440 to 0x15cd4c6 (code length 134) [client.exe]
+converting method System.Collections.CollectionBase:OnInsertComplete (int,object)
+Method System.Collections.CollectionBase:OnInsertComplete (int,object) emitted at 0x15cd4c8 to 0x15cd4d0 (code length 8) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ParseEscape (bool)
+Method System.Text.RegularExpressions.Syntax.Parser:ParseEscape (bool) emitted at 0x15cd4d0 to 0x15cd81a (code length 842) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ParseSpecial (System.Text.RegularExpressions.RegexOptions)
+Method System.Text.RegularExpressions.Syntax.Parser:ParseSpecial (System.Text.RegularExpressions.RegexOptions) emitted at 0x15cd8e8 to 0x15cdf4d (code length 1637) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Literal:.ctor (string,bool)
+Method System.Text.RegularExpressions.Syntax.Literal:.ctor (string,bool) emitted at 0x15ce0e0 to 0x15ce119 (code length 57) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ResolveReferences ()
+Method System.Text.RegularExpressions.Syntax.Parser:ResolveReferences () emitted at 0x15ce120 to 0x15ced1d (code length 3069) [client.exe]
+converting method System.Collections.ArrayList:GetEnumerator ()
+Method System.Collections.ArrayList:GetEnumerator () emitted at 0x15ced60 to 0x15ced90 (code length 48) [client.exe]
+converting method System.Collections.ArrayList/SimpleEnumerator:.ctor (System.Collections.ArrayList)
+converting method System.Collections.ArrayList/SimpleEnumerator:.cctor ()
+Method System.Collections.ArrayList/SimpleEnumerator:.cctor () emitted at 0x15ceda0 to 0x15cedc2 (code length 34) [client.exe]
+Method System.Collections.ArrayList/SimpleEnumerator:.ctor (System.Collections.ArrayList) emitted at 0x15cedc8 to 0x15cee31 (code length 105) [client.exe]
+converting method System.Collections.ArrayList/SimpleEnumerator:MoveNext ()
+Method System.Collections.ArrayList/SimpleEnumerator:MoveNext () emitted at 0x15cee38 to 0x15cef24 (code length 236) [client.exe]
+converting method System.Collections.Hashtable:get_Keys ()
+Method System.Collections.Hashtable:get_Keys () emitted at 0x15cef28 to 0x15cef90 (code length 104) [client.exe]
+converting method System.Collections.Hashtable/HashKeys:.ctor (System.Collections.Hashtable)
+Method System.Collections.Hashtable/HashKeys:.ctor (System.Collections.Hashtable) emitted at 0x15cefa0 to 0x15ceff4 (code length 84) [client.exe]
+converting method System.Collections.Hashtable/HashKeys:GetEnumerator ()
+Method System.Collections.Hashtable/HashKeys:GetEnumerator () emitted at 0x15ceff8 to 0x15cf034 (code length 60) [client.exe]
+converting method System.Collections.Hashtable/Enumerator:.ctor (System.Collections.Hashtable,System.Collections.Hashtable/EnumeratorMode)
+Method System.Collections.Hashtable/Enumerator:.ctor (System.Collections.Hashtable,System.Collections.Hashtable/EnumeratorMode) emitted at 0x15cf040 to 0x15cf095 (code length 85) [client.exe]
+converting method System.Collections.Hashtable/Enumerator:Reset ()
+Method System.Collections.Hashtable/Enumerator:Reset () emitted at 0x15cf0a8 to 0x15cf0dd (code length 53) [client.exe]
+converting method System.Collections.Hashtable/Enumerator:FailFast ()
+Method System.Collections.Hashtable/Enumerator:FailFast () emitted at 0x15cf0f0 to 0x15cf138 (code length 72) [client.exe]
+converting method System.Collections.Hashtable/Enumerator:MoveNext ()
+converting method System.Collections.Hashtable/KeyMarker:.cctor ()
+Method System.Collections.Hashtable/KeyMarker:.cctor () emitted at 0x15cf138 to 0x15cf16b (code length 51) [client.exe]
+converting method System.Collections.Hashtable/KeyMarker:.ctor ()
+Method System.Collections.Hashtable/KeyMarker:.ctor () emitted at 0x15cf178 to 0x15cf180 (code length 8) [client.exe]
+Method System.Collections.Hashtable/Enumerator:MoveNext () emitted at 0x15cf180 to 0x15cf28d (code length 269) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.RegularExpression:Compile (System.Text.RegularExpressions.ICompiler,bool)
+Method System.Text.RegularExpressions.Syntax.RegularExpression:Compile (System.Text.RegularExpressions.ICompiler,bool) emitted at 0x15cf290 to 0x15cf3df (code length 335) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Group:GetWidth (int&,int&)
+Method System.Text.RegularExpressions.Syntax.Group:GetWidth (int&,int&) emitted at 0x15cf3f0 to 0x15cf5db (code length 491) [client.exe]
+converting method System.Collections.CollectionBase:GetEnumerator ()
+Method System.Collections.CollectionBase:GetEnumerator () emitted at 0x15cf5e8 to 0x15cf610 (code length 40) [client.exe]
+converting method System.Collections.ArrayList:get_Item (int)
+Method System.Collections.ArrayList:get_Item (int) emitted at 0x15cf610 to 0x15cf681 (code length 113) [client.exe]
+converting method System.Collections.ArrayList/SimpleEnumerator:get_Current ()
+Method System.Collections.ArrayList/SimpleEnumerator:get_Current () emitted at 0x15cf690 to 0x15cf71c (code length 140) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.PositionAssertion:GetWidth (int&,int&)
+Method System.Text.RegularExpressions.Syntax.PositionAssertion:GetWidth (int&,int&) emitted at 0x15cf720 to 0x15cf73a (code length 26) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Literal:GetWidth (int&,int&)
+Method System.Text.RegularExpressions.Syntax.Literal:GetWidth (int&,int&) emitted at 0x15cf740 to 0x15cf75d (code length 29) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitInfo (int,int,int)
+Method System.Text.RegularExpressions.PatternCompiler:EmitInfo (int,int,int) emitted at 0x15cf788 to 0x15cf7dc (code length 84) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:Emit (System.Text.RegularExpressions.OpCode)
+Method System.Text.RegularExpressions.PatternCompiler:Emit (System.Text.RegularExpressions.OpCode) emitted at 0x15cf7f8 to 0x15cf815 (code length 29) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:Emit (System.Text.RegularExpressions.OpCode,System.Text.RegularExpressions.OpFlags)
+Method System.Text.RegularExpressions.PatternCompiler:Emit (System.Text.RegularExpressions.OpCode,System.Text.RegularExpressions.OpFlags) emitted at 0x15cf828 to 0x15cf855 (code length 45) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:Emit (uint16)
+Method System.Text.RegularExpressions.PatternCompiler:Emit (uint16) emitted at 0x15cf868 to 0x15cf8a6 (code length 62) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitCount (int)
+Method System.Text.RegularExpressions.PatternCompiler:EmitCount (int) emitted at 0x15cf8a8 to 0x15cf8e5 (code length 61) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Group:GetAnchorInfo (bool)
+Method System.Text.RegularExpressions.Syntax.Group:GetAnchorInfo (bool) emitted at 0x15cf8e8 to 0x15d01d6 (code length 2286) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Expression:GetFixedWidth ()
+Method System.Text.RegularExpressions.Syntax.Expression:GetFixedWidth () emitted at 0x15d0290 to 0x15d02de (code length 78) [client.exe]
+converting method System.Collections.CollectionBase:get_Count ()
+Method System.Collections.CollectionBase:get_Count () emitted at 0x15d02e0 to 0x15d0308 (code length 40) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.ExpressionCollection:get_Item (int)
+Method System.Text.RegularExpressions.Syntax.ExpressionCollection:get_Item (int) emitted at 0x15d0308 to 0x15d0358 (code length 80) [client.exe]
+converting method System.Collections.CollectionBase:System.Collections.IList.get_Item (int)
+Method System.Collections.CollectionBase:System.Collections.IList.get_Item (int) emitted at 0x15d0358 to 0x15d0383 (code length 43) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.PositionAssertion:GetAnchorInfo (bool)
+Method System.Text.RegularExpressions.Syntax.PositionAssertion:GetAnchorInfo (bool) emitted at 0x15d0388 to 0x15d041c (code length 148) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.AnchorInfo:.ctor (System.Text.RegularExpressions.Syntax.Expression,int)
+Method System.Text.RegularExpressions.Syntax.AnchorInfo:.ctor (System.Text.RegularExpressions.Syntax.Expression,int) emitted at 0x15d0440 to 0x15d0496 (code length 86) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Literal:GetAnchorInfo (bool)
+Method System.Text.RegularExpressions.Syntax.Literal:GetAnchorInfo (bool) emitted at 0x15d0498 to 0x15d04fb (code length 99) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.AnchorInfo:.ctor (System.Text.RegularExpressions.Syntax.Expression,int,int,string,bool)
+Method System.Text.RegularExpressions.Syntax.AnchorInfo:.ctor (System.Text.RegularExpressions.Syntax.Expression,int,int,string,bool) emitted at 0x15d0500 to 0x15d0596 (code length 150) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.AnchorInfo:GetInterval (int)
+Method System.Text.RegularExpressions.Syntax.AnchorInfo:GetInterval (int) emitted at 0x15d05a8 to 0x15d0678 (code length 208) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.AnchorInfo:get_Length ()
+Method System.Text.RegularExpressions.Syntax.AnchorInfo:get_Length () emitted at 0x15d0690 to 0x15d06b9 (code length 41) [client.exe]
+converting method System.Text.RegularExpressions.Interval:.ctor (int,int)
+Method System.Text.RegularExpressions.Interval:.ctor (int,int) emitted at 0x15d06c0 to 0x15d06f0 (code length 48) [client.exe]
+converting method System.Text.RegularExpressions.IntervalCollection:Add (System.Text.RegularExpressions.Interval)
+Method System.Text.RegularExpressions.IntervalCollection:Add (System.Text.RegularExpressions.Interval) emitted at 0x15d06f0 to 0x15d073c (code length 76) [client.exe]
+converting method System.Text.RegularExpressions.IntervalCollection:Normalize ()
+Method System.Text.RegularExpressions.IntervalCollection:Normalize () emitted at 0x15d0740 to 0x15d0959 (code length 537) [client.exe]
+converting method System.Collections.ArrayList:Sort ()
+Method System.Collections.ArrayList:Sort () emitted at 0x15d0980 to 0x15d09b7 (code length 55) [client.exe]
+converting gshared method System.Array:Sort<object> (object[],int,int)
+Method System.Array:Sort<T> (T[],int,int) emitted at 0x15d09c8 to 0x15d09fd (code length 53) [client.exe]
+converting gshared method System.Array:Sort<object> (object[],int,int,System.Collections.Generic.IComparer`1<object>)
+Method System.Array:Sort<T> (T[],int,int,System.Collections.Generic.IComparer`1<T>) emitted at 0x15d0a18 to 0x15d0b4c (code length 308) [client.exe]
+converting gshared method System.Array:SortImpl<object> (object[],int,int,System.Collections.Generic.IComparer`1<object>)
+Method System.Array:SortImpl<TKey> (TKey[],int,int,System.Collections.Generic.IComparer`1<TKey>) emitted at 0x15d0b70 to 0x15d11da (code length 1642) [client.exe]
+converting method System.Type:GetTypeCode (System.Type)
+Method System.Type:GetTypeCode (System.Type) emitted at 0x15d1360 to 0x15d138c (code length 44) [client.exe]
+converting method System.Type:GetTypeCodeImpl ()
+Method System.Type:GetTypeCodeImpl () emitted at 0x15d1398 to 0x15d1472 (code length 218) [client.exe]
+converting method (wrapper managed-to-native) System.Type:GetTypeCodeInternal (System.Type)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Type:GetTypeCodeInternal (System.Type) emitted at 0x15d1490 to 0x15d1506 (code length 118) [client.exe]
+converting gshared method System.Array:CheckComparerAvailable<object> (object[],int,int)
+Method System.Array:CheckComparerAvailable<K> (K[],int,int) emitted at 0x15d1508 to 0x15d166b (code length 355) [client.exe]
+converting gshared method System.Array:qsort<object> (object[],int,int,System.Collections.Generic.IComparer`1<object>)
+Method System.Array:qsort<K> (K[],int,int,System.Collections.Generic.IComparer`1<K>) emitted at 0x15d1690 to 0x15d1f2d (code length 2205) [client.exe]
+converting method System.Text.RegularExpressions.Interval:get_Empty ()
+Method System.Text.RegularExpressions.Interval:get_Empty () emitted at 0x15d1f90 to 0x15d1fe7 (code length 87) [client.exe]
+converting method System.Text.RegularExpressions.IntervalCollection:GetEnumerator ()
+Method System.Text.RegularExpressions.IntervalCollection:GetEnumerator () emitted at 0x15d1fe8 to 0x15d2020 (code length 56) [client.exe]
+converting method System.Text.RegularExpressions.IntervalCollection/Enumerator:.ctor (System.Collections.IList)
+Method System.Text.RegularExpressions.IntervalCollection/Enumerator:.ctor (System.Collections.IList) emitted at 0x15d2030 to 0x15d2069 (code length 57) [client.exe]
+converting method System.Text.RegularExpressions.IntervalCollection/Enumerator:MoveNext ()
+Method System.Text.RegularExpressions.IntervalCollection/Enumerator:MoveNext () emitted at 0x15d2070 to 0x15d20f0 (code length 128) [client.exe]
+converting method System.Text.RegularExpressions.IntervalCollection/Enumerator:get_Current ()
+Method System.Text.RegularExpressions.IntervalCollection/Enumerator:get_Current () emitted at 0x15d20f0 to 0x15d2158 (code length 104) [client.exe]
+converting method System.Text.RegularExpressions.Interval:get_Size ()
+Method System.Text.RegularExpressions.Interval:get_Size () emitted at 0x15d2158 to 0x15d2188 (code length 48) [client.exe]
+converting method System.Text.RegularExpressions.Interval:Contains (System.Text.RegularExpressions.Interval)
+Method System.Text.RegularExpressions.Interval:Contains (System.Text.RegularExpressions.Interval) emitted at 0x15d2188 to 0x15d2202 (code length 122) [client.exe]
+converting method System.Collections.ArrayList:set_Item (int,object)
+Method System.Collections.ArrayList:set_Item (int,object) emitted at 0x15d2208 to 0x15d226f (code length 103) [client.exe]
+converting method System.Text.StringBuilder:.ctor ()
+Method System.Text.StringBuilder:.ctor () emitted at 0x15d2270 to 0x15d2289 (code length 25) [client.exe]
+converting method System.Text.StringBuilder:.ctor (string)
+Method System.Text.StringBuilder:.ctor (string) emitted at 0x15d2298 to 0x15d2302 (code length 106) [client.exe]
+converting method System.Text.StringBuilder:Append (string)
+Method System.Text.StringBuilder:Append (string) emitted at 0x15d2308 to 0x15d23ed (code length 229) [client.exe]
+converting method System.Text.StringBuilder:ToString ()
+Method System.Text.StringBuilder:ToString () emitted at 0x15d2408 to 0x15d24eb (code length 227) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:NewLink ()
+Method System.Text.RegularExpressions.PatternCompiler:NewLink () emitted at 0x15d24f8 to 0x15d2524 (code length 44) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler/PatternLinkStack:.ctor ()
+Method System.Text.RegularExpressions.PatternCompiler/PatternLinkStack:.ctor () emitted at 0x15d2530 to 0x15d2549 (code length 25) [client.exe]
+converting method System.Text.RegularExpressions.LinkStack:.ctor ()
+Method System.Text.RegularExpressions.LinkStack:.ctor () emitted at 0x15d2558 to 0x15d25ab (code length 83) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitAnchor (bool,int,System.Text.RegularExpressions.LinkRef)
+Method System.Text.RegularExpressions.PatternCompiler:EmitAnchor (bool,int,System.Text.RegularExpressions.LinkRef) emitted at 0x15d25c8 to 0x15d2638 (code length 112) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:BeginLink (System.Text.RegularExpressions.LinkRef)
+Method System.Text.RegularExpressions.PatternCompiler:BeginLink (System.Text.RegularExpressions.LinkRef) emitted at 0x15d2660 to 0x15d26c9 (code length 105) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:get_CurrentAddress ()
+Method System.Text.RegularExpressions.PatternCompiler:get_CurrentAddress () emitted at 0x15d26d8 to 0x15d26f5 (code length 29) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:MakeFlags (bool,bool,bool,bool)
+Method System.Text.RegularExpressions.PatternCompiler:MakeFlags (bool,bool,bool,bool) emitted at 0x15d26f8 to 0x15d2754 (code length 92) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitLink (System.Text.RegularExpressions.LinkRef)
+Method System.Text.RegularExpressions.PatternCompiler:EmitLink (System.Text.RegularExpressions.LinkRef) emitted at 0x15d2758 to 0x15d27e4 (code length 140) [client.exe]
+converting method System.Text.RegularExpressions.LinkStack:Push ()
+Method System.Text.RegularExpressions.LinkStack:Push () emitted at 0x15d27f0 to 0x15d281f (code length 47) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler/PatternLinkStack:GetCurrent ()
+Method System.Text.RegularExpressions.PatternCompiler/PatternLinkStack:GetCurrent () emitted at 0x15d2820 to 0x15d285d (code length 61) [client.exe]
+converting method System.Collections.Stack:Push (object)
+Method System.Collections.Stack:Push (object) emitted at 0x15d2860 to 0x15d28bc (code length 92) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitString (string,bool,bool)
+Method System.Text.RegularExpressions.PatternCompiler:EmitString (string,bool,bool) emitted at 0x15d28e0 to 0x15d298e (code length 174) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitTrue ()
+Method System.Text.RegularExpressions.PatternCompiler:EmitTrue () emitted at 0x15d29a8 to 0x15d29c1 (code length 25) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:ResolveLink (System.Text.RegularExpressions.LinkRef)
+Method System.Text.RegularExpressions.PatternCompiler:ResolveLink (System.Text.RegularExpressions.LinkRef) emitted at 0x15d29f0 to 0x15d2ada (code length 234) [client.exe]
+converting method System.Text.RegularExpressions.LinkStack:Pop ()
+Method System.Text.RegularExpressions.LinkStack:Pop () emitted at 0x15d2ae8 to 0x15d2b33 (code length 75) [client.exe]
+converting method System.Collections.Stack:get_Count ()
+Method System.Collections.Stack:get_Count () emitted at 0x15d2b38 to 0x15d2b46 (code length 14) [client.exe]
+converting method System.Collections.Stack:Pop ()
+Method System.Collections.Stack:Pop () emitted at 0x15d2b48 to 0x15d2c3a (code length 242) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler/PatternLinkStack:SetCurrent (object)
+Method System.Text.RegularExpressions.PatternCompiler/PatternLinkStack:SetCurrent (object) emitted at 0x15d2c40 to 0x15d2c9c (code length 92) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Group:Compile (System.Text.RegularExpressions.ICompiler,bool)
+Method System.Text.RegularExpressions.Syntax.Group:Compile (System.Text.RegularExpressions.ICompiler,bool) emitted at 0x15d2ca0 to 0x15d2d2d (code length 141) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.PositionAssertion:Compile (System.Text.RegularExpressions.ICompiler,bool)
+Method System.Text.RegularExpressions.Syntax.PositionAssertion:Compile (System.Text.RegularExpressions.ICompiler,bool) emitted at 0x15d2d30 to 0x15d2d56 (code length 38) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitPosition (System.Text.RegularExpressions.Position)
+Method System.Text.RegularExpressions.PatternCompiler:EmitPosition (System.Text.RegularExpressions.Position) emitted at 0x15d2d70 to 0x15d2da1 (code length 49) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Literal:Compile (System.Text.RegularExpressions.ICompiler,bool)
+Method System.Text.RegularExpressions.Syntax.Literal:Compile (System.Text.RegularExpressions.ICompiler,bool) emitted at 0x15d2da8 to 0x15d2dcd (code length 37) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Literal:CompileLiteral (string,System.Text.RegularExpressions.ICompiler,bool,bool)
+Method System.Text.RegularExpressions.Syntax.Literal:CompileLiteral (string,System.Text.RegularExpressions.ICompiler,bool,bool) emitted at 0x15d2de0 to 0x15d2e65 (code length 133) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:GetMachineFactory ()
+Method System.Text.RegularExpressions.PatternCompiler:GetMachineFactory () emitted at 0x15d2e90 to 0x15d2f14 (code length 132) [client.exe]
+converting method System.Collections.ArrayList:CopyTo (System.Array)
+Method System.Collections.ArrayList:CopyTo (System.Array) emitted at 0x15d2f18 to 0x15d2f39 (code length 33) [client.exe]
+converting method System.Array:Copy (System.Array,System.Array,int)
+Method System.Array:Copy (System.Array,System.Array,int) emitted at 0x15d2f48 to 0x15d301c (code length 212) [client.exe]
+converting method (wrapper managed-to-native) System.Array:GetValueImpl (System.Array,int)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Array:GetValueImpl (System.Array,int) emitted at 0x15d3020 to 0x15d30b8 (code length 152) [client.exe]
+converting method (wrapper managed-to-native) System.Array:SetValueImpl (System.Array,object,int)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Array:SetValueImpl (System.Array,object,int) emitted at 0x15d30b8 to 0x15d314c (code length 148) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:GetMapping (System.Collections.Hashtable)
+Method System.Text.RegularExpressions.Syntax.Parser:GetMapping (System.Collections.Hashtable) emitted at 0x15d3150 to 0x15d331d (code length 461) [client.exe]
+converting method System.Collections.Hashtable:Add (object,object)
+Method System.Collections.Hashtable:Add (object,object) emitted at 0x15d3320 to 0x15d333d (code length 29) [client.exe]
+converting method System.Collections.Hashtable:PutImpl (object,object,bool)
+Method System.Collections.Hashtable:PutImpl (object,object,bool) emitted at 0x15d3350 to 0x15d36aa (code length 858) [client.exe]
+converting method System.Text.RegularExpressions.InterpreterFactory:set_Gap (int)
+Method System.Text.RegularExpressions.InterpreterFactory:set_Gap (int) emitted at 0x15d36b8 to 0x15d36c9 (code length 17) [client.exe]
+converting method System.Text.RegularExpressions.InterpreterFactory:set_Mapping (System.Collections.IDictionary)
+Method System.Text.RegularExpressions.InterpreterFactory:set_Mapping (System.Collections.IDictionary) emitted at 0x15d36d0 to 0x15d3702 (code length 50) [client.exe]
+converting method System.Text.RegularExpressions.InterpreterFactory:get_GroupCount ()
+Method System.Text.RegularExpressions.InterpreterFactory:get_GroupCount () emitted at 0x15d3708 to 0x15d3730 (code length 40) [client.exe]
+converting method System.Text.RegularExpressions.InterpreterFactory:get_Mapping ()
+Method System.Text.RegularExpressions.InterpreterFactory:get_Mapping () emitted at 0x15d3730 to 0x15d373e (code length 14) [client.exe]
+converting method System.Text.RegularExpressions.Regex:GetGroupNamesArray (int,System.Collections.IDictionary)
+Method System.Text.RegularExpressions.Regex:GetGroupNamesArray (int,System.Collections.IDictionary) emitted at 0x15d3740 to 0x15d3837 (code length 247) [client.exe]
+converting method System.Collections.Hashtable:GetEnumerator ()
+Method System.Collections.Hashtable:GetEnumerator () emitted at 0x15d3838 to 0x15d3868 (code length 48) [client.exe]
+converting method System.Collections.Hashtable/Enumerator:get_Value ()
+Method System.Collections.Hashtable/Enumerator:get_Value () emitted at 0x15d3880 to 0x15d38c0 (code length 64) [client.exe]
+converting method System.Collections.Hashtable/Enumerator:get_Key ()
+Method System.Collections.Hashtable/Enumerator:get_Key () emitted at 0x15d38c0 to 0x15d3900 (code length 64) [client.exe]
+converting method System.Text.RegularExpressions.InterpreterFactory:set_NamesMapping (string[])
+Method System.Text.RegularExpressions.InterpreterFactory:set_NamesMapping (string[]) emitted at 0x15d3900 to 0x15d3932 (code length 50) [client.exe]
+converting method System.Text.RegularExpressions.FactoryCache:Add (string,System.Text.RegularExpressions.RegexOptions,System.Text.RegularExpressions.IMachineFactory)
+Method System.Text.RegularExpressions.FactoryCache:Add (string,System.Text.RegularExpressions.RegexOptions,System.Text.RegularExpressions.IMachineFactory) emitted at 0x15d3938 to 0x15d39e2 (code length 170) [client.exe]
+converting method System.Text.RegularExpressions.FactoryCache:Cleanup ()
+Method System.Text.RegularExpressions.FactoryCache:Cleanup () emitted at 0x15d39f0 to 0x15d3a8c (code length 156) [client.exe]
+converting method System.Collections.Hashtable:get_Count ()
+Method System.Collections.Hashtable:get_Count () emitted at 0x15d3a98 to 0x15d3aa6 (code length 14) [client.exe]
+converting method System.Collections.Hashtable:set_Item (object,object)
+Method System.Collections.Hashtable:set_Item (object,object) emitted at 0x15d3aa8 to 0x15d3ac5 (code length 29) [client.exe]
+converting method System.Text.RegularExpressions.MRUList:Use (object)
+Method System.Text.RegularExpressions.MRUList:Use (object) emitted at 0x15d3ac8 to 0x15d3cc7 (code length 511) [client.exe]
+converting method System.Text.RegularExpressions.InterpreterFactory:get_Gap ()
+Method System.Text.RegularExpressions.InterpreterFactory:get_Gap () emitted at 0x15d3cf0 to 0x15d3cfe (code length 14) [client.exe]
+converting method System.Text.RegularExpressions.InterpreterFactory:get_NamesMapping ()
+Method System.Text.RegularExpressions.InterpreterFactory:get_NamesMapping () emitted at 0x15d3d00 to 0x15d3d0e (code length 14) [client.exe]
+converting method System.Text.RegularExpressions.Regex:Match (string)
+Method System.Text.RegularExpressions.Regex:Match (string) emitted at 0x15d3d10 to 0x15d3d3d (code length 45) [client.exe]
+converting method System.Text.RegularExpressions.Regex:default_startat (string)
+Method System.Text.RegularExpressions.Regex:default_startat (string) emitted at 0x15d3d58 to 0x15d3d99 (code length 65) [client.exe]
+converting method System.Text.RegularExpressions.Regex:Match (string,int)
+Method System.Text.RegularExpressions.Regex:Match (string,int) emitted at 0x15d3da0 to 0x15d3e58 (code length 184) [client.exe]
+converting method System.Text.RegularExpressions.Regex:CreateMachine ()
+Method System.Text.RegularExpressions.Regex:CreateMachine () emitted at 0x15d3e68 to 0x15d3e87 (code length 31) [client.exe]
+converting method System.Text.RegularExpressions.InterpreterFactory:NewInstance ()
+Method System.Text.RegularExpressions.InterpreterFactory:NewInstance () emitted at 0x15d3e88 to 0x15d3ec0 (code length 56) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:.ctor (uint16[])
+Method System.Text.RegularExpressions.Interpreter:.ctor (uint16[]) emitted at 0x15d3ed0 to 0x15d3fb4 (code length 228) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:ReadProgramCount (int)
+Method System.Text.RegularExpressions.Interpreter:ReadProgramCount (int) emitted at 0x15d3fc0 to 0x15d4012 (code length 82) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:Scan (System.Text.RegularExpressions.Regex,string,int,int)
+Method System.Text.RegularExpressions.Interpreter:Scan (System.Text.RegularExpressions.Regex,string,int,int) emitted at 0x15d4030 to 0x15d40bd (code length 141) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:Eval (System.Text.RegularExpressions.Interpreter/Mode,int&,int)
+Method System.Text.RegularExpressions.Interpreter:Eval (System.Text.RegularExpressions.Interpreter/Mode,int&,int) emitted at 0x15d40e8 to 0x15d5e70 (code length 7560) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:GetString (int)
+Method System.Text.RegularExpressions.Interpreter:GetString (int) emitted at 0x15d6050 to 0x15d60f9 (code length 169) [client.exe]
+converting method System.Text.RegularExpressions.QuickSearch:.ctor (string,bool,bool)
+converting method System.Text.RegularExpressions.QuickSearch:.cctor ()
+Method System.Text.RegularExpressions.QuickSearch:.cctor () emitted at 0x15d6100 to 0x15d6113 (code length 19) [client.exe]
+Method System.Text.RegularExpressions.QuickSearch:.ctor (string,bool,bool) emitted at 0x15d6118 to 0x15d6194 (code length 124) [client.exe]
+converting method System.Text.RegularExpressions.QuickSearch:SetupShiftTable ()
+Method System.Text.RegularExpressions.QuickSearch:SetupShiftTable () emitted at 0x15d61a0 to 0x15d63bd (code length 541) [client.exe]
+converting method System.Text.RegularExpressions.QuickSearch:Search (string,int,int)
+Method System.Text.RegularExpressions.QuickSearch:Search (string,int,int) emitted at 0x15d63c0 to 0x15d66dd (code length 797) [client.exe]
+converting method System.Text.RegularExpressions.QuickSearch:GetChar (char)
+Method System.Text.RegularExpressions.QuickSearch:GetChar (char) emitted at 0x15d66f8 to 0x15d6731 (code length 57) [client.exe]
+converting method System.Text.RegularExpressions.QuickSearch:GetShiftDistance (char)
+Method System.Text.RegularExpressions.QuickSearch:GetShiftDistance (char) emitted at 0x15d6738 to 0x15d685c (code length 292) [client.exe]
+converting method System.Text.RegularExpressions.Match:get_Empty ()
+converting method System.Text.RegularExpressions.Match:.cctor ()
+Method System.Text.RegularExpressions.Match:.cctor () emitted at 0x15d6860 to 0x15d6893 (code length 51) [client.exe]
+converting method System.Text.RegularExpressions.Match:.ctor ()
+Method System.Text.RegularExpressions.Match:.ctor () emitted at 0x15d68a0 to 0x15d6938 (code length 152) [client.exe]
+converting method System.Text.RegularExpressions.Group:.ctor ()
+Method System.Text.RegularExpressions.Group:.ctor () emitted at 0x15d6950 to 0x15d69ef (code length 159) [client.exe]
+converting method System.Text.RegularExpressions.Group:.cctor ()
+Method System.Text.RegularExpressions.Group:.cctor () emitted at 0x15d6a00 to 0x15d6a33 (code length 51) [client.exe]
+converting method System.Text.RegularExpressions.Capture:.ctor (string)
+Method System.Text.RegularExpressions.Capture:.ctor (string) emitted at 0x15d6a38 to 0x15d6a55 (code length 29) [client.exe]
+converting method System.Text.RegularExpressions.Capture:.ctor (string,int,int)
+Method System.Text.RegularExpressions.Capture:.ctor (string,int,int) emitted at 0x15d6a68 to 0x15d6aac (code length 68) [client.exe]
+converting method System.Text.RegularExpressions.GroupCollection:.ctor (int,int)
+Method System.Text.RegularExpressions.GroupCollection:.ctor (int,int) emitted at 0x15d6ab0 to 0x15d6afc (code length 76) [client.exe]
+converting method (wrapper stelemref) object:virt_stelemref_class (intptr,object)
+Method (wrapper stelemref) object:virt_stelemref_class (intptr,object) emitted at 0x15d6b00 to 0x15d6bd1 (code length 209) [client.exe]
+Method System.Text.RegularExpressions.Match:get_Empty () emitted at 0x15d6bd8 to 0x15d6be6 (code length 14) [client.exe]
+converting method System.Text.RegularExpressions.Group:get_Success ()
+Method System.Text.RegularExpressions.Group:get_Success () emitted at 0x15d6be8 to 0x15d6bf7 (code length 15) [client.exe]
+converting method System.Text.RegularExpressions.FactoryCache/Key:Equals (object)
+Method System.Text.RegularExpressions.FactoryCache/Key:Equals (object) emitted at 0x15d6bf8 to 0x15d6c9b (code length 163) [client.exe]
+converting method System.Text.RegularExpressions.MRUList:Evict ()
+Method System.Text.RegularExpressions.MRUList:Evict () emitted at 0x15d6ca0 to 0x15d6d0f (code length 111) [client.exe]
+converting method System.Collections.Hashtable:Remove (object)
+Method System.Collections.Hashtable:Remove (object) emitted at 0x15d6d10 to 0x15d6e03 (code length 243) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ParseCharacterClass (System.Text.RegularExpressions.RegexOptions)
+Method System.Text.RegularExpressions.Syntax.Parser:ParseCharacterClass (System.Text.RegularExpressions.RegexOptions) emitted at 0x15d6e08 to 0x15d7380 (code length 1400) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CharacterClass:.ctor (bool,bool)
+Method System.Text.RegularExpressions.Syntax.CharacterClass:.ctor (bool,bool) emitted at 0x15d7418 to 0x15d7571 (code length 345) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CharacterClass:.cctor ()
+Method System.Text.RegularExpressions.Syntax.CharacterClass:.cctor () emitted at 0x15d7580 to 0x15d75d9 (code length 89) [client.exe]
+converting method System.Collections.BitArray:.ctor (int)
+Method System.Collections.BitArray:.ctor (int) emitted at 0x15d75e0 to 0x15d767c (code length 156) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CharacterClass:AddCategory (System.Text.RegularExpressions.Category,bool)
+Method System.Text.RegularExpressions.Syntax.CharacterClass:AddCategory (System.Text.RegularExpressions.Category,bool) emitted at 0x15d7680 to 0x15d76d0 (code length 80) [client.exe]
+converting method System.Collections.BitArray:set_Item (int,bool)
+Method System.Collections.BitArray:set_Item (int,bool) emitted at 0x15d76e0 to 0x15d7701 (code length 33) [client.exe]
+converting method System.Collections.BitArray:Set (int,bool)
+Method System.Collections.BitArray:Set (int,bool) emitted at 0x15d7710 to 0x15d77db (code length 203) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Repetition:.ctor (int,int,bool)
+Method System.Text.RegularExpressions.Syntax.Repetition:.ctor (int,int,bool) emitted at 0x15d77e0 to 0x15d784f (code length 111) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Repetition:set_Expression (System.Text.RegularExpressions.Syntax.Expression)
+Method System.Text.RegularExpressions.Syntax.Repetition:set_Expression (System.Text.RegularExpressions.Syntax.Expression) emitted at 0x15d7850 to 0x15d7871 (code length 33) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.ExpressionCollection:set_Item (int,System.Text.RegularExpressions.Syntax.Expression)
+Method System.Text.RegularExpressions.Syntax.ExpressionCollection:set_Item (int,System.Text.RegularExpressions.Syntax.Expression) emitted at 0x15d7880 to 0x15d78a4 (code length 36) [client.exe]
+converting method System.Collections.CollectionBase:System.Collections.IList.set_Item (int,object)
+Method System.Collections.CollectionBase:System.Collections.IList.set_Item (int,object) emitted at 0x15d78c0 to 0x15d7a08 (code length 328) [client.exe]
+converting method System.Collections.CollectionBase:OnSet (int,object,object)
+Method System.Collections.CollectionBase:OnSet (int,object,object) emitted at 0x15d7a08 to 0x15d7a10 (code length 8) [client.exe]
+converting method System.Collections.CollectionBase:OnSetComplete (int,object,object)
+Method System.Collections.CollectionBase:OnSetComplete (int,object,object) emitted at 0x15d7a10 to 0x15d7a18 (code length 8) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Repetition:GetWidth (int&,int&)
+Method System.Text.RegularExpressions.Syntax.Repetition:GetWidth (int&,int&) emitted at 0x15d7a18 to 0x15d7a7b (code length 99) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Repetition:get_Expression ()
+Method System.Text.RegularExpressions.Syntax.Repetition:get_Expression () emitted at 0x15d7a88 to 0x15d7aa9 (code length 33) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CharacterClass:GetWidth (int&,int&)
+Method System.Text.RegularExpressions.Syntax.CharacterClass:GetWidth (int&,int&) emitted at 0x15d7ab0 to 0x15d7aca (code length 26) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Repetition:GetAnchorInfo (bool)
+Method System.Text.RegularExpressions.Syntax.Repetition:GetAnchorInfo (bool) emitted at 0x15d7ad0 to 0x15d7d34 (code length 612) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Expression:GetAnchorInfo (bool)
+Method System.Text.RegularExpressions.Syntax.Expression:GetAnchorInfo (bool) emitted at 0x15d7d40 to 0x15d7d88 (code length 72) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Repetition:Compile (System.Text.RegularExpressions.ICompiler,bool)
+Method System.Text.RegularExpressions.Syntax.Repetition:Compile (System.Text.RegularExpressions.ICompiler,bool) emitted at 0x15d7d88 to 0x15d7ea8 (code length 288) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CharacterClass:IsComplex ()
+Method System.Text.RegularExpressions.Syntax.CharacterClass:IsComplex () emitted at 0x15d7ea8 to 0x15d7eb2 (code length 10) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitFastRepeat (int,int,bool,System.Text.RegularExpressions.LinkRef)
+Method System.Text.RegularExpressions.PatternCompiler:EmitFastRepeat (int,int,bool,System.Text.RegularExpressions.LinkRef) emitted at 0x15d7ee0 to 0x15d7f5c (code length 124) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CharacterClass:Compile (System.Text.RegularExpressions.ICompiler,bool)
+Method System.Text.RegularExpressions.Syntax.CharacterClass:Compile (System.Text.RegularExpressions.ICompiler,bool) emitted at 0x15d7f68 to 0x15d8739 (code length 2001) [client.exe]
+converting method System.Text.RegularExpressions.IntervalCollection:GetMetaCollection (System.Text.RegularExpressions.IntervalCollection/CostDelegate)
+Method System.Text.RegularExpressions.IntervalCollection:GetMetaCollection (System.Text.RegularExpressions.IntervalCollection/CostDelegate) emitted at 0x15d8770 to 0x15d8850 (code length 224) [client.exe]
+converting method System.Text.RegularExpressions.IntervalCollection:get_Count ()
+Method System.Text.RegularExpressions.IntervalCollection:get_Count () emitted at 0x15d8860 to 0x15d887d (code length 29) [client.exe]
+converting method System.Text.RegularExpressions.IntervalCollection:Optimize (int,int,System.Text.RegularExpressions.IntervalCollection,System.Text.RegularExpressions.IntervalCollection/CostDelegate)
+Method System.Text.RegularExpressions.IntervalCollection:Optimize (int,int,System.Text.RegularExpressions.IntervalCollection,System.Text.RegularExpressions.IntervalCollection/CostDelegate) emitted at 0x15d8880 to 0x15d8b9e (code length 798) [client.exe]
+converting method System.Collections.BitArray:get_Item (int)
+Method System.Collections.BitArray:get_Item (int) emitted at 0x15d8bb0 to 0x15d8bcc (code length 28) [client.exe]
+converting method System.Collections.BitArray:Get (int)
+Method System.Collections.BitArray:Get (int) emitted at 0x15d8bd8 to 0x15d8c5c (code length 132) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitCategory (System.Text.RegularExpressions.Category,bool,bool)
+Method System.Text.RegularExpressions.PatternCompiler:EmitCategory (System.Text.RegularExpressions.Category,bool,bool) emitted at 0x15d8c60 to 0x15d8ca9 (code length 73) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitNotCategory (System.Text.RegularExpressions.Category,bool,bool)
+Method System.Text.RegularExpressions.PatternCompiler:EmitNotCategory (System.Text.RegularExpressions.Category,bool,bool) emitted at 0x15d8cb0 to 0x15d8cf9 (code length 73) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:TryMatch (int&,int)
+Method System.Text.RegularExpressions.Interpreter:TryMatch (int&,int) emitted at 0x15d8d00 to 0x15d8dd5 (code length 213) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:Reset ()
+Method System.Text.RegularExpressions.Interpreter:Reset () emitted at 0x15d8de8 to 0x15d8e50 (code length 104) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:ResetGroups ()
+Method System.Text.RegularExpressions.Interpreter:ResetGroups () emitted at 0x15d8e60 to 0x15d8f66 (code length 262) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:IsPosition (System.Text.RegularExpressions.Position,int)
+Method System.Text.RegularExpressions.Interpreter:IsPosition (System.Text.RegularExpressions.Position,int) emitted at 0x15ec000 to 0x15ec315 (code length 789) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter/RepeatContext:.ctor (System.Text.RegularExpressions.Interpreter/RepeatContext,int,int,bool,int)
+Method System.Text.RegularExpressions.Interpreter/RepeatContext:.ctor (System.Text.RegularExpressions.Interpreter/RepeatContext,int,int,bool,int) emitted at 0x15ec370 to 0x15ec3cf (code length 95) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:EvalChar (System.Text.RegularExpressions.Interpreter/Mode,int&,int&,bool)
+Method System.Text.RegularExpressions.Interpreter:EvalChar (System.Text.RegularExpressions.Interpreter/Mode,int&,int&,bool) emitted at 0x15ec3d0 to 0x15ec798 (code length 968) [client.exe]
+converting method System.Text.RegularExpressions.CategoryUtils:IsCategory (System.Text.RegularExpressions.Category,char)
+Method System.Text.RegularExpressions.CategoryUtils:IsCategory (System.Text.RegularExpressions.Category,char) emitted at 0x15ec7f8 to 0x15ede81 (code length 5769) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:GenerateMatch (System.Text.RegularExpressions.Regex)
+Method System.Text.RegularExpressions.Interpreter:GenerateMatch (System.Text.RegularExpressions.Regex) emitted at 0x15ee318 to 0x15ee62e (code length 790) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:GetGroupInfo (int,int&,int&)
+Method System.Text.RegularExpressions.Interpreter:GetGroupInfo (int,int&,int&) emitted at 0x15ee670 to 0x15ee72c (code length 188) [client.exe]
+converting method System.Text.RegularExpressions.Mark:get_IsDefined ()
+Method System.Text.RegularExpressions.Mark:get_IsDefined () emitted at 0x15ee738 to 0x15ee76f (code length 55) [client.exe]
+converting method System.Text.RegularExpressions.Mark:get_Index ()
+Method System.Text.RegularExpressions.Mark:get_Index () emitted at 0x15ee770 to 0x15ee794 (code length 36) [client.exe]
+converting method System.Text.RegularExpressions.Mark:get_Length ()
+Method System.Text.RegularExpressions.Mark:get_Length () emitted at 0x15ee798 to 0x15ee7c9 (code length 49) [client.exe]
+converting method System.Text.RegularExpressions.Match:.ctor (System.Text.RegularExpressions.Regex,System.Text.RegularExpressions.IMachine,string,int,int,int,int,int)
+Method System.Text.RegularExpressions.Match:.ctor (System.Text.RegularExpressions.Regex,System.Text.RegularExpressions.IMachine,string,int,int,int,int,int) emitted at 0x15ee7d0 to 0x15ee8b5 (code length 229) [client.exe]
+converting method System.Text.RegularExpressions.Group:.ctor (string,int,int,int)
+Method System.Text.RegularExpressions.Group:.ctor (string,int,int,int) emitted at 0x15ee8b8 to 0x15ee971 (code length 185) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:PopulateGroup (System.Text.RegularExpressions.Group,int,int)
+Method System.Text.RegularExpressions.Interpreter:PopulateGroup (System.Text.RegularExpressions.Group,int,int) emitted at 0x15ee978 to 0x15eeaec (code length 372) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, Ice.PropertiesI/PropertyValue>:TryGetValue (string,Ice.PropertiesI/PropertyValue&)
+Method System.Collections.Generic.Dictionary`2:TryGetValue (TKey,TValue&) emitted at 0x15eeaf0 to 0x15eecd3 (code length 483) [client.exe]
+converting method System.Collections.Generic.InternalStringComparer:GetHashCode (string)
+Method System.Collections.Generic.InternalStringComparer:GetHashCode (string) emitted at 0x15eecd8 to 0x15eecfb (code length 35) [client.exe]
+converting method Ice.PropertiesI/PropertyValue:.ctor (string,bool)
+Method Ice.PropertiesI/PropertyValue:.ctor (string,bool) emitted at 0x15eed00 to 0x15eed39 (code length 57) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, Ice.PropertiesI/PropertyValue>:set_Item (string,Ice.PropertiesI/PropertyValue)
+Method System.Collections.Generic.Dictionary`2:set_Item (TKey,TValue) emitted at 0x15eed40 to 0x15ef093 (code length 851) [client.exe]
+converting method System.Collections.Hashtable:KeyEquals (object,object)
+Method System.Collections.Hashtable:KeyEquals (object,object) emitted at 0x15ef0a0 to 0x15ef127 (code length 135) [client.exe]
+converting method System.Collections.Hashtable:get_Item (object)
+Method System.Collections.Hashtable:get_Item (object) emitted at 0x15ef128 to 0x15ef29e (code length 374) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:Backtrack (int)
+Method System.Text.RegularExpressions.Interpreter:Backtrack (int) emitted at 0x15ef2a0 to 0x15ef359 (code length 185) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, Ice.PropertiesI/PropertyValue>:Resize ()
+Method System.Collections.Generic.Dictionary`2:Resize () emitted at 0x15ef360 to 0x15ef675 (code length 789) [client.exe]
+converting method System.IO.TextReader:Dispose ()
+Method System.IO.TextReader:Dispose () emitted at 0x15ef678 to 0x15ef693 (code length 27) [client.exe]
+converting method System.IO.StreamReader:Dispose (bool)
+Method System.IO.StreamReader:Dispose (bool) emitted at 0x15ef698 to 0x15ef784 (code length 236) [client.exe]
+converting method System.IO.Stream:Close ()
+Method System.IO.Stream:Close () emitted at 0x15ef790 to 0x15ef7b9 (code length 41) [client.exe]
+converting method System.IO.FileStream:Dispose (bool)
+Method System.IO.FileStream:Dispose (bool) emitted at 0x15ef7c8 to 0x15ef978 (code length 432) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:Close (intptr,System.IO.MonoIOError&)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:Close (intptr,System.IO.MonoIOError&) emitted at 0x15ef988 to 0x15efa06 (code length 126) [client.exe]
+converting method (wrapper managed-to-native) System.GC:SuppressFinalize (object)
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.GC:SuppressFinalize (object) emitted at 0x15efa08 to 0x15efa76 (code length 110) [client.exe]
+converting method System.IO.TextReader:Dispose (bool)
+Method System.IO.TextReader:Dispose (bool) emitted at 0x15efa78 to 0x15efa99 (code length 33) [client.exe]
+converting method Ice.Application:main (string[],Ice.InitializationData)
+Method Ice.Application:main (string[],Ice.InitializationData) emitted at 0x15efaa0 to 0x15efdf7 (code length 855) [client.exe]
+converting method Ice.InitializationData:Clone ()
+Method Ice.InitializationData:Clone () emitted at 0x15efe20 to 0x15efe39 (code length 25) [client.exe]
+converting method (wrapper managed-to-native) object:MemberwiseClone (object)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) object:MemberwiseClone (object) emitted at 0x15efe48 to 0x15efedc (code length 148) [client.exe]
+converting method Ice.Util:createProperties (string[]&,Ice.Properties)
+Method Ice.Util:createProperties (string[]&,Ice.Properties) emitted at 0x15efee0 to 0x15eff14 (code length 52) [client.exe]
+converting method Ice.PropertiesI:.ctor (string[]&,Ice.Properties)
+Method Ice.PropertiesI:.ctor (string[]&,Ice.Properties) emitted at 0x15eff20 to 0x15f0376 (code length 1110) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, Ice.PropertiesI/PropertyValue>:GetEnumerator ()
+Method System.Collections.Generic.Dictionary`2:GetEnumerator () emitted at 0x15f03d8 to 0x15f04c7 (code length 239) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/Enumerator<string, Ice.PropertiesI/PropertyValue>:.ctor (System.Collections.Generic.Dictionary`2<string, Ice.PropertiesI/PropertyValue>)
+Method System.Collections.Generic.Dictionary`2/Enumerator:.ctor (System.Collections.Generic.Dictionary`2<TKey, TValue>) emitted at 0x15f04d8 to 0x15f0535 (code length 93) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/Enumerator<string, Ice.PropertiesI/PropertyValue>:MoveNext ()
+Method System.Collections.Generic.Dictionary`2/Enumerator:MoveNext () emitted at 0x15f0538 to 0x15f06b5 (code length 381) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/Enumerator<string, Ice.PropertiesI/PropertyValue>:VerifyState ()
+Method System.Collections.Generic.Dictionary`2/Enumerator:VerifyState () emitted at 0x15f06d0 to 0x15f0740 (code length 112) [client.exe]
+converting gshared method System.Collections.Generic.KeyValuePair`2<string, Ice.PropertiesI/PropertyValue>:.ctor (string,Ice.PropertiesI/PropertyValue)
+Method System.Collections.Generic.KeyValuePair`2:.ctor (TKey,TValue) emitted at 0x15f0740 to 0x15f079e (code length 94) [client.exe]
+converting method Ice.PropertiesI/PropertyValue:.ctor (Ice.PropertiesI/PropertyValue)
+Method Ice.PropertiesI/PropertyValue:.ctor (Ice.PropertiesI/PropertyValue) emitted at 0x15f07a0 to 0x15f07e0 (code length 64) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, Ice.PropertiesI/PropertyValue>:ContainsKey (string)
+Method System.Collections.Generic.Dictionary`2:ContainsKey (TKey) emitted at 0x15f07e0 to 0x15f0959 (code length 377) [client.exe]
+converting method Ice.PropertiesI:loadConfig ()
+Method Ice.PropertiesI:loadConfig () emitted at 0x15f0960 to 0x15f0abc (code length 348) [client.exe]
+converting method Ice.PropertiesI:getProperty (string)
+Method Ice.PropertiesI:getProperty (string) emitted at 0x15f0ad8 to 0x15f0b5c (code length 132) [client.exe]
+converting method Ice.PropertiesI:parseIceCommandLineOptions (string[])
+Method Ice.PropertiesI:parseIceCommandLineOptions (string[]) emitted at 0x15f0b60 to 0x15f0bd7 (code length 119) [client.exe]
+converting method Ice.PropertiesI:parseCommandLineOptions (string,string[])
+Method Ice.PropertiesI:parseCommandLineOptions (string,string[]) emitted at 0x15f0be8 to 0x15f0da6 (code length 446) [client.exe]
+converting method Ice.PropertiesI:getPropertyWithDefault (string,string)
+Method Ice.PropertiesI:getPropertyWithDefault (string,string) emitted at 0x15f0dc0 to 0x15f0e40 (code length 128) [client.exe]
+converting method System.Collections.Generic.InternalStringComparer:Equals (string,string)
+Method System.Collections.Generic.InternalStringComparer:Equals (string,string) emitted at 0x15f0e40 to 0x15f0e83 (code length 67) [client.exe]
+converting method Ice.PropertiesI:getPropertyAsInt (string)
+Method Ice.PropertiesI:getPropertyAsInt (string) emitted at 0x15f0e88 to 0x15f0ea5 (code length 29) [client.exe]
+converting method Ice.PropertiesI:getPropertyAsIntWithDefault (string,int)
+Method Ice.PropertiesI:getPropertyAsIntWithDefault (string,int) emitted at 0x15f0eb8 to 0x15f107d (code length 453) [client.exe]
+converting method Ice.Application/MonoSignals:.ctor ()
+Method Ice.Application/MonoSignals:.ctor () emitted at 0x15f1090 to 0x15f1145 (code length 181) [client.exe]
+converting method System.EmptyArray`1<int>:.cctor ()
+Method System.EmptyArray`1<int>:.cctor () emitted at 0x15f1158 to 0x15f117e (code length 38) [client.exe]
+converting method Ice.Application/MonoSignals:register (Ice.Application/SignalHandler)
+Method Ice.Application/MonoSignals:register (Ice.Application/SignalHandler) emitted at 0x15f1190 to 0x15f1322 (code length 402) [client.exe]
+converting method System.Threading.Thread:.ctor (System.Threading.ThreadStart)
+Method System.Threading.Thread:.ctor (System.Threading.ThreadStart) emitted at 0x15f1358 to 0x15f13c0 (code length 104) [client.exe]
+converting method System.Threading.Thread:set_IsBackground (bool)
+Method System.Threading.Thread:set_IsBackground (bool) emitted at 0x15f13c0 to 0x15f1411 (code length 81) [client.exe]
+converting method System.Threading.Thread:get_Internal ()
+Method System.Threading.Thread:get_Internal () emitted at 0x15f1438 to 0x15f145f (code length 39) [client.exe]
+converting method (wrapper managed-to-native) System.Threading.Thread:ConstructInternalThread (System.Threading.Thread)
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Threading.Thread:ConstructInternalThread (System.Threading.Thread) emitted at 0x15f1470 to 0x15f1500 (code length 144) [client.exe]
+converting method (wrapper managed-to-native) System.Threading.Thread:SetState (System.Threading.InternalThread,System.Threading.ThreadState)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Threading.Thread:SetState (System.Threading.InternalThread,System.Threading.ThreadState) emitted at 0x15f1500 to 0x15f156e (code length 110) [client.exe]
+converting method System.Threading.Thread:set_Name (string)
+Method System.Threading.Thread:set_Name (string) emitted at 0x15f1570 to 0x15f1599 (code length 41) [client.exe]
+converting method (wrapper managed-to-native) System.Threading.Thread:SetName_internal (System.Threading.InternalThread,string)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Threading.Thread:SetName_internal (System.Threading.InternalThread,string) emitted at 0x15f15a8 to 0x15f1616 (code length 110) [client.exe]
+converting method System.Threading.Thread:Start ()
+Restoring : local R37 <-
+Method System.Threading.Thread:Start () emitted at 0x15f1618 to 0x15f1793 (code length 379) [client.exe]
+converting method System.Threading.ExecutionContext:IsFlowSuppressed ()
+Method System.Threading.ExecutionContext:IsFlowSuppressed () emitted at 0x15f17b8 to 0x15f17dd (code length 37) [client.exe]
+converting method System.Threading.Thread:get_ExecutionContext ()
+Method System.Threading.Thread:get_ExecutionContext () emitted at 0x15f17f0 to 0x15f1841 (code length 81) [client.exe]
+converting method System.Threading.ExecutionContext:Capture ()
+Method System.Threading.ExecutionContext:Capture () emitted at 0x15f1848 to 0x15f185d (code length 21) [client.exe]
+converting method System.Threading.ExecutionContext:Capture (bool)
+Method System.Threading.ExecutionContext:Capture (bool) emitted at 0x15f1870 to 0x15f1945 (code length 213) [client.exe]
+converting method System.Threading.ExecutionContext:.ctor (System.Threading.ExecutionContext)
+Method System.Threading.ExecutionContext:.ctor (System.Threading.ExecutionContext) emitted at 0x15f1970 to 0x15f19f3 (code length 131) [client.exe]
+converting method System.Runtime.Remoting.Messaging.CallContext:CreateLogicalCallContext (bool)
+Method System.Runtime.Remoting.Messaging.CallContext:CreateLogicalCallContext (bool) emitted at 0x15f1a00 to 0x15f1ccb (code length 715) [client.exe]
+converting method (wrapper managed-to-native) System.Threading.Thread:Thread_internal (System.Threading.Thread,System.MulticastDelegate)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Threading.Thread:Thread_internal (System.Threading.Thread,System.MulticastDelegate) emitted at 0x15f1cd8 to 0x15f1d70 (code length 152) [client.exe]
+converting method (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
+converting method Ice.Application:doMain (string[],Ice.InitializationData)
+Method (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) emitted at 0x15f1d70 to 0x15f1e0e (code length 158) [client.exe]
+converting method System.Threading.Thread:StartInternal ()
+Method System.Threading.Thread:StartInternal () emitted at 0x15f1e10 to 0x15f1eac (code length 156) [client.exe]
+converting method Ice.Application/MonoSignals:run ()
+Method Ice.Application:doMain (string[],Ice.InitializationData) emitted at 0x15f1eb0 to 0x15f2258 (code length 936) [client.exe]
+converting method Ice.Util:initialize (string[]&,Ice.InitializationData)
+Method Ice.Application/MonoSignals:run () emitted at 0x15f22a0 to 0x15f23e8 (code length 328) [client.exe]
+converting method (wrapper remoting-invoke-with-check) Mono.Unix.UnixSignal:.ctor (Mono.Unix.Native.Signum)
+Method Ice.Util:initialize (string[]&,Ice.InitializationData) emitted at 0x15f2400 to 0x15f24e5 (code length 229) [client.exe]
+Method (wrapper remoting-invoke-with-check) Mono.Unix.UnixSignal:.ctor (Mono.Unix.Native.Signum) emitted at 0x15f2500 to 0x15f253d (code length 61) [client.exe]
+converting method Ice.CommunicatorI:.ctor (Ice.InitializationData)
+converting method Mono.Unix.UnixSignal:.cctor ()
+Method Ice.CommunicatorI:.ctor (Ice.InitializationData) emitted at 0x15f2558 to 0x15f25b3 (code length 91) [client.exe]
+Method Mono.Unix.UnixSignal:.cctor () emitted at 0x15f25d0 to 0x15f264a (code length 122) [client.exe]
+converting method Mono.Unix.UnixSignal:.ctor (Mono.Unix.Native.Signum)
+converting method IceInternal.Instance:.ctor (Ice.Communicator,Ice.InitializationData)
+Method Mono.Unix.UnixSignal:.ctor (Mono.Unix.Native.Signum) emitted at 0x15f2650 to 0x15f26f0 (code length 160) [client.exe]
+converting method System.Threading.WaitHandle:.ctor ()
+Method System.Threading.WaitHandle:.ctor () emitted at 0x15f2718 to 0x15f2731 (code length 25) [client.exe]
+converting method System.Threading.WaitHandle:.cctor ()
+Method System.Threading.WaitHandle:.cctor () emitted at 0x15f2738 to 0x15f2758 (code length 32) [client.exe]
+converting method Mono.Unix.Native.NativeConvert:FromSignum (Mono.Unix.Native.Signum)
+Method Mono.Unix.Native.NativeConvert:FromSignum (Mono.Unix.Native.Signum) emitted at 0x15f2758 to 0x15f27a8 (code length 80) [client.exe]
+converting method Mono.Unix.Native.NativeConvert:.cctor ()
+converting method IceInternal.Instance:.cctor ()
+Method IceInternal.Instance:.cctor () emitted at 0x15f27c0 to 0x15f27f2 (code length 50) [client.exe]
+Method Mono.Unix.Native.NativeConvert:.cctor () emitted at 0x15f27f8 to 0x15f2c32 (code length 1082) [client.exe]
+converting method System.DateTime:.ctor (int,int,int,int,int,int,System.DateTimeKind)
+Method System.DateTime:.ctor (int,int,int,int,int,int,System.DateTimeKind) emitted at 0x15f2c68 to 0x15f2d28 (code length 192) [client.exe]
+converting method System.DateTime:.cctor ()
+Method System.DateTime:.cctor () emitted at 0x15f2d38 to 0x15f391f (code length 3047) [client.exe]
+converting method System.DateTime:.ctor (long)
+Method System.DateTime:.ctor (long) emitted at 0x15f3930 to 0x15f39ba (code length 138) [client.exe]
+converting method System.DateTime:.ctor (int,int,int,int,int,int)
+Method System.DateTime:.ctor (int,int,int,int,int,int) emitted at 0x15f39c8 to 0x15f39f1 (code length 41) [client.exe]
+converting method System.DateTime:.ctor (int,int,int,int,int,int,int)
+Method System.DateTime:.ctor (int,int,int,int,int,int,int) emitted at 0x15f3a00 to 0x15f3b4c (code length 332) [client.exe]
+converting method System.DateTime:DaysInMonth (int,int)
+Method System.DateTime:DaysInMonth (int,int) emitted at 0x15f3b80 to 0x15f3c34 (code length 180) [client.exe]
+converting method System.DateTime:IsLeapYear (int)
+Method System.DateTime:IsLeapYear (int) emitted at 0x15f3c40 to 0x15f3cb8 (code length 120) [client.exe]
+converting method System.DateTime:AbsoluteDays (int,int,int)
+Method System.DateTime:AbsoluteDays (int,int,int) emitted at 0x15f3cb8 to 0x15f3d7d (code length 197) [client.exe]
+converting method System.TimeSpan:.ctor (int,int,int,int,int)
+Method System.TimeSpan:.ctor (int,int,int,int,int) emitted at 0x15f3d80 to 0x15f3da9 (code length 41) [client.exe]
+converting method System.TimeSpan:.cctor ()
+Method IceInternal.Instance:.ctor (Ice.Communicator,Ice.InitializationData) emitted at 0x15f3db8 to 0x15f525a (code length 5282) [client.exe]
+Method System.TimeSpan:.cctor () emitted at 0x15f53e8 to 0x15f54b1 (code length 201) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1<string>:.ctor ()
+converting method System.TimeSpan:.ctor (long)
+Method System.Collections.Generic.HashSet`1:.ctor () emitted at 0x15f54c0 to 0x15f54dd (code length 29) [client.exe]
+Method System.TimeSpan:.ctor (long) emitted at 0x15f54e0 to 0x15f54f6 (code length 22) [client.exe]
+converting method System.TimeSpan:CalculateTicks (int,int,int,int,int,bool,long&)
+converting gshared method System.Collections.Generic.HashSet`1<string>:Init (int,System.Collections.Generic.IEqualityComparer`1<string>)
+Method System.Collections.Generic.HashSet`1:Init (int,System.Collections.Generic.IEqualityComparer`1<T>) emitted at 0x15f5508 to 0x15f5610 (code length 264) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1<string>:InitArrays (int)
+Method System.TimeSpan:CalculateTicks (int,int,int,int,int,bool,long&) emitted at 0x15f5628 to 0x15f5948 (code length 800) [client.exe]
+converting method System.TimeSpan:get_Ticks ()
+Method System.TimeSpan:get_Ticks () emitted at 0x15f5948 to 0x15f5958 (code length 16) [client.exe]
+converting method System.DateTime:.ctor (int,int,int)
+Method System.DateTime:.ctor (int,int,int) emitted at 0x15f5958 to 0x15f597d (code length 37) [client.exe]
+converting method System.TimeZone:get_CurrentTimeZone ()
+converting method System.TimeZone:.cctor ()
+Method System.Collections.Generic.HashSet`1:InitArrays (int) emitted at 0x15f5980 to 0x15f5ad0 (code length 336) [client.exe]
+Method System.TimeZone:.cctor () emitted at 0x15f5ad0 to 0x15f5af2 (code length 34) [client.exe]
+converting method Ice.TraceLoggerI:.ctor (string,bool)
+Method System.TimeZone:get_CurrentTimeZone () emitted at 0x15f5af8 to 0x15f5bff (code length 263) [client.exe]
+converting method Ice.TraceLoggerI:.cctor ()
+converting method (wrapper managed-to-native) System.DateTime:GetNow ()
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.DateTime:GetNow () emitted at 0x15f5c28 to 0x15f5ca2 (code length 122) [client.exe]
+converting method System.CurrentSystemTimeZone:.ctor (long)
+Method Ice.TraceLoggerI:.cctor () emitted at 0x15f5ca8 to 0x15f5cdf (code length 55) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.Diagnostics.ConsoleTraceListener:.ctor (bool)
+Method (wrapper remoting-invoke-with-check) System.Diagnostics.ConsoleTraceListener:.ctor (bool) emitted at 0x15f5cf0 to 0x15f5d2d (code length 61) [client.exe]
+converting method System.Diagnostics.ConsoleTraceListener:.ctor (bool)
+Method System.Diagnostics.ConsoleTraceListener:.ctor (bool) emitted at 0x15f5d48 to 0x15f5d81 (code length 57) [client.exe]
+converting method System.Console:get_Error ()
+Method System.Console:get_Error () emitted at 0x15f5d90 to 0x15f5da4 (code length 20) [client.exe]
+converting method System.Console:.cctor ()
+Method System.CurrentSystemTimeZone:.ctor (long) emitted at 0x15f5dc0 to 0x15f5f99 (code length 473) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, System.Globalization.DaylightTime>:.ctor (int)
+Method System.Collections.Generic.Dictionary`2<int, System.Globalization.DaylightTime>:.ctor (int) emitted at 0x15f5fe8 to 0x15f6005 (code length 29) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, System.Globalization.DaylightTime>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>)
+Method System.Console:.cctor () emitted at 0x15f6018 to 0x15f614d (code length 309) [client.exe]
+converting method (wrapper managed-to-native) System.Text.Encoding:InternalCodePage (int&)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Text.Encoding:InternalCodePage (int&) emitted at 0x15f6168 to 0x15f61de (code length 118) [client.exe]
+Method System.Collections.Generic.Dictionary`2<int, System.Globalization.DaylightTime>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>) emitted at 0x15f61e0 to 0x15f62b8 (code length 216) [client.exe]
+converting method System.Collections.Generic.EqualityComparer`1<int>:get_Default ()
+converting method System.Console:SetupStreams (System.Text.Encoding,System.Text.Encoding)
+Method System.Collections.Generic.EqualityComparer`1<int>:get_Default () emitted at 0x15f62d0 to 0x15f62e4 (code length 20) [client.exe]
+converting method System.Collections.Generic.EqualityComparer`1<int>:.cctor ()
+Method System.Collections.Generic.EqualityComparer`1<int>:.cctor () emitted at 0x15f62f0 to 0x15f63e2 (code length 242) [client.exe]
+Method System.Console:SetupStreams (System.Text.Encoding,System.Text.Encoding) emitted at 0x15f63f0 to 0x15f685e (code length 1134) [client.exe]
+converting method System.Type:MakeGenericType (System.Type[])
+converting method System.ConsoleDriver:get_IsConsole ()
+Method System.ConsoleDriver:get_IsConsole () emitted at 0x15f68f0 to 0x15f6979 (code length 137) [client.exe]
+converting method System.ConsoleDriver:.cctor ()
+Method System.ConsoleDriver:.cctor () emitted at 0x15f69b0 to 0x15f6a3d (code length 141) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:get_ConsoleOutput ()
+Restoring : local R9 <-
+Method System.Type:MakeGenericType (System.Type[]) emitted at 0x15f6a58 to 0x15f6d4f (code length 759) [client.exe]
+Method (wrapper managed-to-native) System.IO.MonoIO:get_ConsoleOutput () emitted at 0x15f6d68 to 0x15f6dd6 (code length 110) [client.exe]
+converting method System.MonoType:get_IsUserType ()
+Method System.MonoType:get_IsUserType () emitted at 0x15f6dd8 to 0x15f6de2 (code length 10) [client.exe]
+converting method (wrapper managed-to-native) System.ConsoleDriver:Isatty (intptr)
+converting method (wrapper managed-to-native) System.Type:get_IsGenericTypeDefinition (System.Type)
+Restoring : local R10 <-
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.ConsoleDriver:Isatty (intptr) emitted at 0x15f6de8 to 0x15f6e62 (code length 122) [client.exe]
+Method (wrapper managed-to-native) System.Type:get_IsGenericTypeDefinition (System.Type) emitted at 0x15f6e68 to 0x15f6f00 (code length 152) [client.exe]
+converting method System.ConsoleDriver:CreateNullConsoleDriver ()
+converting method (wrapper managed-to-native) System.MonoType:GetGenericArguments (System.MonoType)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoType:GetGenericArguments (System.MonoType) emitted at 0x15f6f00 to 0x15f6f94 (code length 148) [client.exe]
+Method System.ConsoleDriver:CreateNullConsoleDriver () emitted at 0x15f6f98 to 0x15f6fb1 (code length 25) [client.exe]
+converting method System.Console:OpenStandardOutput (int)
+converting method (wrapper managed-to-native) System.Type:MakeGenericType (System.Type,System.Type[])
+Method System.Console:OpenStandardOutput (int) emitted at 0x15f6fb8 to 0x15f6fd9 (code length 33) [client.exe]
+Restoring : local R11 <-
+converting method System.Console:Open (intptr,System.IO.FileAccess,int)
+Method (wrapper managed-to-native) System.Type:MakeGenericType (System.Type,System.Type[]) emitted at 0x15f6fe8 to 0x15f7062 (code length 122) [client.exe]
+converting method System.Activator:CreateInstance (System.Type)
+Method System.Console:Open (intptr,System.IO.FileAccess,int) emitted at 0x15f7068 to 0x15f7119 (code length 177) [client.exe]
+Method System.Activator:CreateInstance (System.Type) emitted at 0x15f7120 to 0x15f7139 (code length 25) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (intptr,System.IO.FileAccess,bool,int,bool,bool)
+converting method System.Activator:CreateInstance (System.Type,bool)
+Method (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (intptr,System.IO.FileAccess,bool,int,bool,bool) emitted at 0x15f7158 to 0x15f71d2 (code length 122) [client.exe]
+converting method System.IO.FileStream:.ctor (intptr,System.IO.FileAccess,bool,int,bool,bool)
+Restoring : local R15 <-
+Method System.Activator:CreateInstance (System.Type,bool) emitted at 0x15f71f0 to 0x15f73e0 (code length 496) [client.exe]
+converting method System.Activator:CheckType (System.Type)
+Method System.IO.FileStream:.ctor (intptr,System.IO.FileAccess,bool,int,bool,bool) emitted at 0x15f7428 to 0x15f763c (code length 532) [client.exe]
+converting method System.IO.FileStream:ExposeHandle ()
+Method System.Activator:CheckType (System.Type) emitted at 0x15f7648 to 0x15f7734 (code length 236) [client.exe]
+converting method System.Activator:CheckAbstractType (System.Type)
+Method System.IO.FileStream:ExposeHandle () emitted at 0x15f7740 to 0x15f77c8 (code length 136) [client.exe]
+converting method Microsoft.Win32.SafeHandles.SafeFileHandle:.ctor (intptr,bool)
+Method System.Activator:CheckAbstractType (System.Type) emitted at 0x15f77d8 to 0x15f788d (code length 181) [client.exe]
+converting method System.Type:get_IsAbstract ()
+Method Microsoft.Win32.SafeHandles.SafeFileHandle:.ctor (intptr,bool) emitted at 0x15f78a0 to 0x15f78c6 (code length 38) [client.exe]
+Method System.Type:get_IsAbstract () emitted at 0x15f78d8 to 0x15f7906 (code length 46) [client.exe]
+converting method Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid:.ctor (bool)
+converting method System.Type:get_Attributes ()
+Method System.Type:get_Attributes () emitted at 0x15f7918 to 0x15f7934 (code length 28) [client.exe]
+Method Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid:.ctor (bool) emitted at 0x15f7938 to 0x15f7965 (code length 45) [client.exe]
+converting method System.MonoType:GetAttributeFlagsImpl ()
+converting method System.Runtime.InteropServices.SafeHandle:.ctor (intptr,bool)
+Method System.MonoType:GetAttributeFlagsImpl () emitted at 0x15f7978 to 0x15f7991 (code length 25) [client.exe]
+Method System.Runtime.InteropServices.SafeHandle:.ctor (intptr,bool) emitted at 0x15f79a0 to 0x15f79bf (code length 31) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:get_attributes (System.Type)
+converting method (wrapper remoting-invoke-with-check) System.IO.UnexceptionalStreamWriter:.ctor (System.IO.Stream,System.Text.Encoding)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoType:get_attributes (System.Type) emitted at 0x15f79c0 to 0x15f7a36 (code length 118) [client.exe]
+Method (wrapper remoting-invoke-with-check) System.IO.UnexceptionalStreamWriter:.ctor (System.IO.Stream,System.Text.Encoding) emitted at 0x15f7a38 to 0x15f7a7e (code length 70) [client.exe]
+converting method System.MonoType:GetDefaultConstructor ()
+converting method System.IO.UnexceptionalStreamWriter:.ctor (System.IO.Stream,System.Text.Encoding)
+Method System.IO.UnexceptionalStreamWriter:.ctor (System.IO.Stream,System.Text.Encoding) emitted at 0x15f7a98 to 0x15f7ab5 (code length 29) [client.exe]
+converting method System.IO.StreamWriter:.ctor (System.IO.Stream,System.Text.Encoding)
+Method System.IO.StreamWriter:.ctor (System.IO.Stream,System.Text.Encoding) emitted at 0x15f7ac8 to 0x15f7ae9 (code length 33) [client.exe]
+converting method System.IO.StreamWriter:.cctor ()
+Method System.MonoType:GetDefaultConstructor () emitted at 0x15f7af8 to 0x15f7c2b (code length 307) [client.exe]
+Method System.IO.StreamWriter:.cctor () emitted at 0x15f7c30 to 0x15f7c7b (code length 75) [client.exe]
+converting method System.MonoType:GetConstructors (System.Reflection.BindingFlags)
+converting method (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (System.IO.Stream,System.Text.Encoding,int)
+Method System.MonoType:GetConstructors (System.Reflection.BindingFlags) emitted at 0x15f7c88 to 0x15f7ca5 (code length 29) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:GetConstructors_internal (System.MonoType,System.Reflection.BindingFlags,System.Type)
+Method (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (System.IO.Stream,System.Text.Encoding,int) emitted at 0x15f7cb8 to 0x15f7d06 (code length 78) [client.exe]
+Restoring : local R12 <-
+converting method System.IO.StreamWriter:.ctor (System.IO.Stream,System.Text.Encoding,int)
+Method (wrapper managed-to-native) System.MonoType:GetConstructors_internal (System.MonoType,System.Reflection.BindingFlags,System.Type) emitted at 0x15f7d18 to 0x15f7db0 (code length 152) [client.exe]
+Method System.IO.StreamWriter:.ctor (System.IO.Stream,System.Text.Encoding,int) emitted at 0x15f7db0 to 0x15f7ef4 (code length 324) [client.exe]
+converting method System.Reflection.MonoCMethod:GetParametersCount ()
+converting method System.IO.TextWriter:.ctor ()
+Method System.Reflection.MonoCMethod:GetParametersCount () emitted at 0x15f7f10 to 0x15f7f43 (code length 51) [client.exe]
+converting method System.Reflection.MethodBase:get_IsPublic ()
+Method System.IO.TextWriter:.ctor () emitted at 0x15f7f48 to 0x15f7f9e (code length 86) [client.exe]
+converting method System.IO.TextWriter:.cctor ()
+Method System.Reflection.MethodBase:get_IsPublic () emitted at 0x15f7fb8 to 0x15f7fe4 (code length 44) [client.exe]
+converting method System.Reflection.MonoCMethod:get_Attributes ()
+Method System.IO.TextWriter:.cctor () emitted at 0x15f7fe8 to 0x15f801f (code length 55) [client.exe]
+Method System.Reflection.MonoCMethod:get_Attributes () emitted at 0x15f8030 to 0x15f804d (code length 29) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.TextWriter/NullTextWriter:.ctor ()
+converting method System.Reflection.MonoMethodInfo:GetAttributes (intptr)
+Method System.Reflection.MonoMethodInfo:GetAttributes (intptr) emitted at 0x15f8060 to 0x15f8079 (code length 25) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.MonoMethodInfo:get_method_attributes (intptr)
+Method (wrapper remoting-invoke-with-check) System.IO.TextWriter/NullTextWriter:.ctor () emitted at 0x15f8088 to 0x15f80c4 (code length 60) [client.exe]
+converting method System.IO.TextWriter/NullTextWriter:.ctor ()
+Restoring : local R10 <-
+Method System.IO.TextWriter/NullTextWriter:.ctor () emitted at 0x15f80e0 to 0x15f80f9 (code length 25) [client.exe]
+converting method System.Environment:get_NewLine ()
+Method (wrapper managed-to-native) System.Reflection.MonoMethodInfo:get_method_attributes (intptr) emitted at 0x15f8100 to 0x15f8176 (code length 118) [client.exe]
+converting method System.Reflection.MonoCMethod:InternalInvoke (object,object[])
+Method System.Environment:get_NewLine () emitted at 0x15f8178 to 0x15f81a9 (code length 49) [client.exe]
+converting method (wrapper managed-to-native) System.Environment:GetNewLine ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Environment:GetNewLine () emitted at 0x15f81b8 to 0x15f8226 (code length 110) [client.exe]
+converting method string:ToCharArray ()
+Method System.Reflection.MonoCMethod:InternalInvoke (object,object[]) emitted at 0x15f8228 to 0x15f82bc (code length 148) [client.exe]
+Method string:ToCharArray () emitted at 0x15f82c8 to 0x15f82e5 (code length 29) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
+converting method string:ToCharArray (int,int)
+Restoring : local R13 <-
+Method (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) emitted at 0x15f82f8 to 0x15f8398 (code length 160) [client.exe]
+converting method System.Collections.Generic.GenericEqualityComparer`1<int>:.ctor ()
+Method System.Collections.Generic.GenericEqualityComparer`1<int>:.ctor () emitted at 0x15f8398 to 0x15f83b1 (code length 25) [client.exe]
+Method string:ToCharArray (int,int) emitted at 0x15f83c0 to 0x15f854f (code length 399) [client.exe]
+converting method System.Collections.Generic.EqualityComparer`1<int>:.ctor ()
+Method System.Collections.Generic.EqualityComparer`1<int>:.ctor () emitted at 0x15f8550 to 0x15f8558 (code length 8) [client.exe]
+converting method System.IO.NullStream:get_CanWrite ()
+converting method System.Collections.Generic.Dictionary`2<int, System.Globalization.DaylightTime>:InitArrays (int)
+Method System.IO.NullStream:get_CanWrite () emitted at 0x15f8558 to 0x15f8565 (code length 13) [client.exe]
+converting method System.IO.StreamWriter:Initialize (System.Text.Encoding,int)
+Method System.IO.StreamWriter:Initialize (System.Text.Encoding,int) emitted at 0x15f8568 to 0x15f867f (code length 279) [client.exe]
+Method System.Collections.Generic.Dictionary`2<int, System.Globalization.DaylightTime>:InitArrays (int) emitted at 0x15f8680 to 0x15f87c7 (code length 327) [client.exe]
+converting method System.Text.UTF8Encoding:GetMaxByteCount (int)
+converting method System.DateTime:get_Year ()
+Method System.DateTime:get_Year () emitted at 0x15f87c8 to 0x15f87e1 (code length 25) [client.exe]
+converting method System.DateTime:FromTicks (System.DateTime/Which)
+Method System.Text.UTF8Encoding:GetMaxByteCount (int) emitted at 0x15f87f0 to 0x15f8880 (code length 144) [client.exe]
+converting method System.Text.EncoderReplacementFallback:get_MaxCharCount ()
+Method System.Text.EncoderReplacementFallback:get_MaxCharCount () emitted at 0x15f8890 to 0x15f88a1 (code length 17) [client.exe]
+converting method System.IO.NullStream:get_CanSeek ()
+Method System.IO.NullStream:get_CanSeek () emitted at 0x15f88a8 to 0x15f88b5 (code length 13) [client.exe]
+converting method System.IO.NullStream:get_Position ()
+Method System.IO.NullStream:get_Position () emitted at 0x15f88b8 to 0x15f88c4 (code length 12) [client.exe]
+converting method System.IO.FileStream:get_CanWrite ()
+Method System.IO.FileStream:get_CanWrite () emitted at 0x15f88c8 to 0x15f8901 (code length 57) [client.exe]
+Method System.DateTime:FromTicks (System.DateTime/Which) emitted at 0x15f8908 to 0x15f8a6e (code length 358) [client.exe]
+converting method System.IO.StreamWriter:set_AutoFlush (bool)
+converting method (wrapper managed-to-native) object:__icall_wrapper___emul_ldiv (long,long)
+Method System.IO.StreamWriter:set_AutoFlush (bool) emitted at 0x15f8a70 to 0x15f8aa0 (code length 48) [client.exe]
+Restoring : local R17 <-
+converting method System.IO.UnexceptionalStreamWriter:Flush ()
+Method (wrapper managed-to-native) object:__icall_wrapper___emul_ldiv (long,long) emitted at 0x15f8aa0 to 0x15f8b2a (code length 138) [client.exe]
+Method System.IO.UnexceptionalStreamWriter:Flush () emitted at 0x15f8b30 to 0x15f8b70 (code length 64) [client.exe]
+converting method (wrapper managed-to-native) System.CurrentSystemTimeZone:GetTimeZoneData (int,long[]&,string[]&)
+converting method System.IO.StreamWriter:Flush ()
+Restoring : local R12 <-
+Method System.IO.StreamWriter:Flush () emitted at 0x15f8b80 to 0x15f8ba9 (code length 41) [client.exe]
+converting method System.IO.StreamWriter:CheckState ()
+Method (wrapper managed-to-native) System.CurrentSystemTimeZone:GetTimeZoneData (int,long[]&,string[]&) emitted at 0x15f8bc8 to 0x15f8c46 (code length 126) [client.exe]
+Method System.IO.StreamWriter:CheckState () emitted at 0x15f8c48 to 0x15f8c88 (code length 64) [client.exe]
+converting method System.IO.StreamWriter:FlushCore ()
+Method System.IO.StreamWriter:FlushCore () emitted at 0x15f8c88 to 0x15f8ccb (code length 67) [client.exe]
+converting method System.IO.StreamWriter:Decode ()
+Method System.IO.StreamWriter:Decode () emitted at 0x15f8ce8 to 0x15f8e46 (code length 350) [client.exe]
+converting method System.CurrentSystemTimeZone:GetDaylightTimeFromData (long[])
+converting method System.IO.TextWriter:Synchronized (System.IO.TextWriter,bool)
+Method System.CurrentSystemTimeZone:GetDaylightTimeFromData (long[]) emitted at 0x15f8e48 to 0x15f8f78 (code length 304) [client.exe]
+converting method System.Globalization.DaylightTime:.ctor (System.DateTime,System.DateTime,System.TimeSpan)
+Method System.IO.TextWriter:Synchronized (System.IO.TextWriter,bool) emitted at 0x15f8f88 to 0x15f9094 (code length 268) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.SynchronizedWriter:.ctor (System.IO.TextWriter,bool)
+Method System.Globalization.DaylightTime:.ctor (System.DateTime,System.DateTime,System.TimeSpan) emitted at 0x15f90b0 to 0x15f90eb (code length 59) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, System.Globalization.DaylightTime>:Add (int,System.Globalization.DaylightTime)
+Method (wrapper remoting-invoke-with-check) System.IO.SynchronizedWriter:.ctor (System.IO.TextWriter,bool) emitted at 0x15f90f0 to 0x15f9136 (code length 70) [client.exe]
+converting method System.IO.SynchronizedWriter:.ctor (System.IO.TextWriter,bool)
+Method System.IO.SynchronizedWriter:.ctor (System.IO.TextWriter,bool) emitted at 0x15f9150 to 0x15f919c (code length 76) [client.exe]
+converting method System.Console:OpenStandardError (int)
+Method System.Console:OpenStandardError (int) emitted at 0x15f91a0 to 0x15f91c1 (code length 33) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:get_ConsoleError ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:get_ConsoleError () emitted at 0x15f91d0 to 0x15f923e (code length 110) [client.exe]
+converting method System.Console:OpenStandardInput (int)
+Method System.Console:OpenStandardInput (int) emitted at 0x15f9240 to 0x15f9261 (code length 33) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:get_ConsoleInput ()
+Restoring : local R9 <-
+Method System.Collections.Generic.Dictionary`2<int, System.Globalization.DaylightTime>:Add (int,System.Globalization.DaylightTime) emitted at 0x15f9268 to 0x15f94bb (code length 595) [client.exe]
+Method (wrapper managed-to-native) System.IO.MonoIO:get_ConsoleInput () emitted at 0x15f94c0 to 0x15f952e (code length 110) [client.exe]
+converting method System.Collections.Generic.GenericEqualityComparer`1<int>:GetHashCode (int)
+converting method System.IO.UnexceptionalStreamReader:.cctor ()
+Restoring : arg R10 <-
+Method System.Collections.Generic.GenericEqualityComparer`1<int>:GetHashCode (int) emitted at 0x15f9540 to 0x15f9556 (code length 22) [client.exe]
+Method System.IO.UnexceptionalStreamReader:.cctor () emitted at 0x15f9558 to 0x15f95c3 (code length 107) [client.exe]
+converting method System.CurrentSystemTimeZone:OnDeserialization (System.Globalization.DaylightTime)
+converting method (wrapper remoting-invoke-with-check) System.IO.UnexceptionalStreamReader:.ctor (System.IO.Stream,System.Text.Encoding)
+Method (wrapper remoting-invoke-with-check) System.IO.UnexceptionalStreamReader:.ctor (System.IO.Stream,System.Text.Encoding) emitted at 0x15f95c8 to 0x15f960e (code length 70) [client.exe]
+converting method System.IO.UnexceptionalStreamReader:.ctor (System.IO.Stream,System.Text.Encoding)
+Method System.IO.UnexceptionalStreamReader:.ctor (System.IO.Stream,System.Text.Encoding) emitted at 0x15f9628 to 0x15f9645 (code length 29) [client.exe]
+converting method System.IO.StreamReader:.ctor (System.IO.Stream,System.Text.Encoding)
+Method System.IO.StreamReader:.ctor (System.IO.Stream,System.Text.Encoding) emitted at 0x15f9658 to 0x15f967d (code length 37) [client.exe]
+converting method System.IO.StreamReader:.ctor (System.IO.Stream,System.Text.Encoding,bool,int)
+Method System.IO.StreamReader:.ctor (System.IO.Stream,System.Text.Encoding,bool,int) emitted at 0x15f9690 to 0x15f96c5 (code length 53) [client.exe]
+Method System.CurrentSystemTimeZone:OnDeserialization (System.Globalization.DaylightTime) emitted at 0x15f96c8 to 0x15f98a8 (code length 480) [client.exe]
+converting method System.IO.TextReader:Synchronized (System.IO.TextReader)
+converting method System.DateTime:get_UtcNow ()
+Method System.DateTime:get_UtcNow () emitted at 0x15f98b8 to 0x15f990d (code length 85) [client.exe]
+converting method System.DateTime:.ctor (long,System.DateTimeKind)
+Method System.IO.TextReader:Synchronized (System.IO.TextReader) emitted at 0x15f9920 to 0x15f9a28 (code length 264) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.SynchronizedReader:.ctor (System.IO.TextReader)
+Method System.DateTime:.ctor (long,System.DateTimeKind) emitted at 0x15f9a40 to 0x15f9b44 (code length 260) [client.exe]
+converting method System.CurrentSystemTimeZone:GetUtcOffset (System.DateTime)
+Method (wrapper remoting-invoke-with-check) System.IO.SynchronizedReader:.ctor (System.IO.TextReader) emitted at 0x15f9b48 to 0x15f9b85 (code length 61) [client.exe]
+converting method System.IO.SynchronizedReader:.ctor (System.IO.TextReader)
+Method System.IO.SynchronizedReader:.ctor (System.IO.TextReader) emitted at 0x15f9ba0 to 0x15f9be3 (code length 67) [client.exe]
+converting method System.Diagnostics.TextWriterTraceListener:.ctor (System.IO.TextWriter)
+Method System.CurrentSystemTimeZone:GetUtcOffset (System.DateTime) emitted at 0x15f9be8 to 0x15f9ce7 (code length 255) [client.exe]
+Method System.Diagnostics.TextWriterTraceListener:.ctor (System.IO.TextWriter) emitted at 0x15f9cf8 to 0x15f9d19 (code length 33) [client.exe]
+converting method System.Diagnostics.TextWriterTraceListener:.ctor (System.IO.TextWriter,string)
+converting method (wrapper managed-to-native) Mono.Unix.Native.NativeConvert:FromSignum (Mono.Unix.Native.Signum,int&)
+Restoring : local R15 <-
+Method (wrapper managed-to-native) Mono.Unix.Native.NativeConvert:FromSignum (Mono.Unix.Native.Signum,int&) emitted at 0x15f9d28 to 0x15f9da2 (code length 122) [client.exe]
+Method System.Diagnostics.TextWriterTraceListener:.ctor (System.IO.TextWriter,string) emitted at 0x15f9da8 to 0x15f9e44 (code length 156) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.UnixSignal:install (int)
+converting method System.Diagnostics.TraceListener:.ctor (string)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) Mono.Unix.UnixSignal:install (int) emitted at 0x15f9e50 to 0x15f9ed2 (code length 130) [client.exe]
+converting method (wrapper stelemref) object:virt_stelemref_complex (intptr,object)
+Method System.Diagnostics.TraceListener:.ctor (string) emitted at 0x15f9ed8 to 0x15f9f5e (code length 134) [client.exe]
+converting method System.Collections.Specialized.StringDictionary:.ctor ()
+Method (wrapper stelemref) object:virt_stelemref_complex (intptr,object) emitted at 0x15f9f70 to 0x15f9ffa (code length 138) [client.exe]
+converting method Mono.Unix.UnixSignal:WaitAny (Mono.Unix.UnixSignal[],int)
+Method System.Collections.Specialized.StringDictionary:.ctor () emitted at 0x15fa000 to 0x15fa053 (code length 83) [client.exe]
+converting method System.Diagnostics.TraceListener:set_Name (string)
+Method System.Diagnostics.TraceListener:set_Name (string) emitted at 0x15fa058 to 0x15fa08a (code length 50) [client.exe]
+Method Ice.TraceLoggerI:.ctor (string,bool) emitted at 0x15fa090 to 0x15fa0f9 (code length 105) [client.exe]
+converting method System.Diagnostics.Trace:get_Listeners ()
+Method System.Diagnostics.Trace:get_Listeners () emitted at 0x15fa120 to 0x15fa12e (code length 14) [client.exe]
+converting method System.Diagnostics.TraceImpl:get_Listeners ()
+Method Mono.Unix.UnixSignal:WaitAny (Mono.Unix.UnixSignal[],int) emitted at 0x15fa140 to 0x15fa333 (code length 499) [client.exe]
+Method System.Diagnostics.TraceImpl:get_Listeners () emitted at 0x15fa340 to 0x15fa354 (code length 20) [client.exe]
+converting method (wrapper managed-to-native) Mono.Unix.UnixSignal:WaitAny (intptr[],int,int,Mono.Unix.UnixSignal/Mono_Posix_RuntimeIsShuttingDown)
+converting method System.Diagnostics.TraceImpl:InitOnce ()
+Restoring : local R19 <-
+Method (wrapper managed-to-native) Mono.Unix.UnixSignal:WaitAny (intptr[],int,int,Mono.Unix.UnixSignal/Mono_Posix_RuntimeIsShuttingDown) emitted at 0x15fa388 to 0x15fa432 (code length 170) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_array_to_lparray (object)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_array_to_lparray (object) emitted at 0x15fa438 to 0x15fa4ae (code length 118) [client.exe]
+Method System.Diagnostics.TraceImpl:InitOnce () emitted at 0x15fa4b0 to 0x15fa5a8 (code length 248) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_delegate_to_ftnptr (object)
+converting method System.Diagnostics.DiagnosticsConfiguration:get_Settings ()
+Restoring : local R10 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_delegate_to_ftnptr (object) emitted at 0x15fa5b8 to 0x15fa62e (code length 118) [client.exe]
+converting method (wrapper native-to-managed) Mono.Unix.UnixSignal:RuntimeShuttingDownCallback ()
+Method (wrapper native-to-managed) Mono.Unix.UnixSignal:RuntimeShuttingDownCallback () emitted at 0x15fa630 to 0x15fa696 (code length 102) [client.exe]
+Method System.Diagnostics.DiagnosticsConfiguration:get_Settings () emitted at 0x15fa6a8 to 0x15fa80b (code length 355) [client.exe]
+converting method System.Configuration.ConfigurationSettings:GetConfig (string)
+Method System.Configuration.ConfigurationSettings:GetConfig (string) emitted at 0x15fa828 to 0x15fa841 (code length 25) [client.exe]
+converting method System.Configuration.ConfigurationSettings:.cctor ()
+Method System.Configuration.ConfigurationSettings:.cctor () emitted at 0x15fa850 to 0x15fa882 (code length 50) [client.exe]
+converting method System.Configuration.DefaultConfig:GetInstance ()
+converting method System.Configuration.DefaultConfig:.cctor ()
+Method System.Configuration.DefaultConfig:.cctor () emitted at 0x15fa890 to 0x15fa8c3 (code length 51) [client.exe]
+converting method System.Configuration.DefaultConfig:.ctor ()
+Method System.Configuration.DefaultConfig:.ctor () emitted at 0x15fa8d0 to 0x15fa8d8 (code length 8) [client.exe]
+Method System.Configuration.DefaultConfig:GetInstance () emitted at 0x15fa8d8 to 0x15fa8e6 (code length 14) [client.exe]
+converting method System.Configuration.ConfigurationManager:GetSection (string)
+Method System.Configuration.ConfigurationManager:GetSection (string) emitted at 0x15fa8e8 to 0x15fa976 (code length 142) [client.exe]
+converting method System.Configuration.ConfigurationManager:.cctor ()
+Method System.Configuration.ConfigurationManager:.cctor () emitted at 0x15fa988 to 0x15fa9e2 (code length 90) [client.exe]
+converting method System.Configuration.ConfigurationManager:get_ConfigurationSystem ()
+Method System.Configuration.ConfigurationManager:get_ConfigurationSystem () emitted at 0x15fa9e8 to 0x15fa9f6 (code length 14) [client.exe]
+converting method System.Configuration.ClientConfigurationSystem:System.Configuration.Internal.IInternalConfigSystem.GetSection (string)
+Method System.Configuration.ClientConfigurationSystem:System.Configuration.Internal.IInternalConfigSystem.GetSection (string) emitted at 0x15fa9f8 to 0x15faa46 (code length 78) [client.exe]
+converting method System.Configuration.ClientConfigurationSystem:get_Configuration ()
+Method System.Configuration.ClientConfigurationSystem:get_Configuration () emitted at 0x15faa60 to 0x15fab30 (code length 208) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.Assembly:GetEntryAssembly ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Reflection.Assembly:GetEntryAssembly () emitted at 0x15fab58 to 0x15fabc6 (code length 110) [client.exe]
+converting method System.Configuration.ConfigurationManager:OpenExeConfigurationInternal (System.Configuration.ConfigurationUserLevel,System.Reflection.Assembly,string)
+Method System.Configuration.ConfigurationManager:OpenExeConfigurationInternal (System.Configuration.ConfigurationUserLevel,System.Reflection.Assembly,string) emitted at 0x15fabc8 to 0x15faf5c (code length 916) [client.exe]
+converting method System.Configuration.ExeConfigurationFileMap:.ctor ()
+Method System.Configuration.ExeConfigurationFileMap:.ctor () emitted at 0x15fafa8 to 0x15fb040 (code length 152) [client.exe]
+converting method System.Configuration.ConfigurationFileMap:.ctor ()
+Method System.Configuration.ConfigurationFileMap:.ctor () emitted at 0x15fb050 to 0x15fb087 (code length 55) [client.exe]
+converting method System.Runtime.InteropServices.RuntimeEnvironment:get_SystemConfigurationFile ()
+Method System.Runtime.InteropServices.RuntimeEnvironment:get_SystemConfigurationFile () emitted at 0x15fb098 to 0x15fb0fa (code length 98) [client.exe]
+converting method (wrapper managed-to-native) System.Environment:GetMachineConfigPath ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Environment:GetMachineConfigPath () emitted at 0x15fb120 to 0x15fb18e (code length 110) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.AppDomain:get_SetupInformation ()
+Method (wrapper remoting-invoke-with-check) System.AppDomain:get_SetupInformation () emitted at 0x15fb190 to 0x15fb1f4 (code length 100) [client.exe]
+converting method System.AppDomain:get_SetupInformation ()
+Method System.AppDomain:get_SetupInformation () emitted at 0x15fb218 to 0x15fb25c (code length 68) [client.exe]
+converting method (wrapper managed-to-native) System.AppDomain:getSetup (System.AppDomain)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.AppDomain:getSetup (System.AppDomain) emitted at 0x15fb278 to 0x15fb30c (code length 148) [client.exe]
+converting method System.AppDomainSetup:.ctor (System.AppDomainSetup)
+Method System.AppDomainSetup:.ctor (System.AppDomainSetup) emitted at 0x15fb310 to 0x15fb57c (code length 620) [client.exe]
+converting method System.AppDomainSetup:get_ConfigurationFile ()
+Method System.AppDomainSetup:get_ConfigurationFile () emitted at 0x15fb580 to 0x15fb618 (code length 152) [client.exe]
+converting method System.Configuration.InternalConfigurationFactory:Create (System.Type,object[])
+Method System.Configuration.InternalConfigurationFactory:Create (System.Type,object[]) emitted at 0x15fb628 to 0x15fb688 (code length 96) [client.exe]
+converting method System.Configuration.InternalConfigurationSystem:Init (System.Type,object[])
+Method System.Configuration.InternalConfigurationSystem:Init (System.Type,object[]) emitted at 0x15fb6a0 to 0x15fb81a (code length 378) [client.exe]
+converting method System.Configuration.ExeConfigurationHost:.ctor ()
+Method System.Configuration.ExeConfigurationHost:.ctor () emitted at 0x15fb828 to 0x15fb830 (code length 8) [client.exe]
+converting method System.Configuration.InternalConfigurationRoot:Init (System.Configuration.Internal.IInternalConfigHost,bool)
+Method System.Configuration.InternalConfigurationRoot:Init (System.Configuration.Internal.IInternalConfigHost,bool) emitted at 0x15fb830 to 0x15fb869 (code length 57) [client.exe]
+converting method System.Configuration.Configuration:.ctor (System.Configuration.InternalConfigurationSystem,string)
+Method System.Configuration.Configuration:.ctor (System.Configuration.InternalConfigurationSystem,string) emitted at 0x15fb870 to 0x15fb998 (code length 296) [client.exe]
+converting method System.Configuration.InternalConfigurationSystem:InitForConfiguration (string&,string&,string&)
+Method System.Configuration.InternalConfigurationSystem:InitForConfiguration (string&,string&,string&) emitted at 0x15fb9c0 to 0x15fb9f0 (code length 48) [client.exe]
+converting method System.Configuration.ExeConfigurationHost:InitForConfiguration (string&,string&,string&,System.Configuration.Internal.IInternalConfigRoot,object[])
+Method System.Configuration.ExeConfigurationHost:InitForConfiguration (string&,string&,string&,System.Configuration.Internal.IInternalConfigRoot,object[]) emitted at 0x15fb9f0 to 0x15fbe72 (code length 1154) [client.exe]
+converting method System.Configuration.ExeConfigurationHost:CheckFileMap (System.Configuration.ConfigurationUserLevel,System.Configuration.ExeConfigurationFileMap)
+Method System.Configuration.ExeConfigurationHost:CheckFileMap (System.Configuration.ConfigurationUserLevel,System.Configuration.ExeConfigurationFileMap) emitted at 0x15fbe80 to 0x15fbfdd (code length 349) [client.exe]
+converting method System.Configuration.Configuration:Init (System.Configuration.Internal.IConfigSystem,string,System.Configuration.Configuration)
+Method System.Configuration.Configuration:Init (System.Configuration.Internal.IConfigSystem,string,System.Configuration.Configuration) emitted at 0x1ac1000 to 0x1ac1176 (code length 374) [client.exe]
+converting method System.Configuration.InternalConfigurationSystem:get_Host ()
+Method System.Configuration.InternalConfigurationSystem:get_Host () emitted at 0x1ac1190 to 0x1ac119e (code length 14) [client.exe]
+converting method System.Configuration.ExeConfigurationHost:GetStreamName (string)
+Method System.Configuration.ExeConfigurationHost:GetStreamName (string) emitted at 0x1ac11b8 to 0x1ac12c2 (code length 266) [client.exe]
+converting method System.Configuration.SectionGroupInfo:.ctor ()
+Method System.Configuration.SectionGroupInfo:.ctor () emitted at 0x1ac12c8 to 0x1ac1300 (code length 56) [client.exe]
+converting method System.Configuration.SectionGroupInfo:.cctor ()
+Method System.Configuration.SectionGroupInfo:.cctor () emitted at 0x1ac1300 to 0x1ac1333 (code length 51) [client.exe]
+converting method System.Configuration.ConfigInfoCollection:.ctor ()
+Method System.Configuration.ConfigInfoCollection:.ctor () emitted at 0x1ac1340 to 0x1ac1365 (code length 37) [client.exe]
+converting method System.StringComparer/Predefined:.cctor ()
+Method System.StringComparer/Predefined:.cctor () emitted at 0x1ac1380 to 0x1ac143e (code length 190) [client.exe]
+converting method System.CultureAwareComparer:.ctor (System.Globalization.CultureInfo,bool)
+Method System.CultureAwareComparer:.ctor (System.Globalization.CultureInfo,bool) emitted at 0x1ac1450 to 0x1ac1499 (code length 73) [client.exe]
+converting method System.Globalization.CultureInfo:get_CompareInfo ()
+Method System.Globalization.CultureInfo:get_CompareInfo () emitted at 0x1ac14a0 to 0x1ac1558 (code length 184) [client.exe]
+converting method System.Globalization.CompareInfo:.ctor (System.Globalization.CultureInfo)
+converting method System.Globalization.CompareInfo:.cctor ()
+Method System.Globalization.CompareInfo:.cctor () emitted at 0x1ac1568 to 0x1ac15d5 (code length 109) [client.exe]
+converting method string:op_Inequality (string,string)
+Method string:op_Inequality (string,string) emitted at 0x1ac15f0 to 0x1ac1614 (code length 36) [client.exe]
+converting method Mono.Globalization.Unicode.MSCompatUnicodeTable:get_IsReady ()
+Method Mono.Globalization.Unicode.MSCompatUnicodeTable:get_IsReady () emitted at 0x1ac1618 to 0x1ac162d (code length 21) [client.exe]
+converting method Mono.Globalization.Unicode.MSCompatUnicodeTable:.cctor ()
+Method Mono.Globalization.Unicode.MSCompatUnicodeTable:.cctor () emitted at 0x1ac1640 to 0x1ac19b4 (code length 884) [client.exe]
+converting method Mono.Globalization.Unicode.MSCompatUnicodeTable:GetResource (string)
+Method Mono.Globalization.Unicode.MSCompatUnicodeTable:GetResource (string) emitted at 0x1ac19d8 to 0x1ac1a0d (code length 53) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.Assembly:GetExecutingAssembly ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Reflection.Assembly:GetExecutingAssembly () emitted at 0x1ac1a28 to 0x1ac1a96 (code length 110) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.Assembly:GetManifestResourceInternal (System.Reflection.Assembly,string,int&,System.Reflection.Module&)
+Restoring : local R13 <-
+Method (wrapper managed-to-native) System.Reflection.Assembly:GetManifestResourceInternal (System.Reflection.Assembly,string,int&,System.Reflection.Module&) emitted at 0x1ac1a98 to 0x1ac1b38 (code length 160) [client.exe]
+converting method Mono.Globalization.Unicode.MSCompatUnicodeTable:UInt32FromBytePtr (byte*,uint)
+Method Mono.Globalization.Unicode.MSCompatUnicodeTable:UInt32FromBytePtr (byte*,uint) emitted at 0x1ac1b38 to 0x1ac1b81 (code length 73) [client.exe]
+converting method Mono.Globalization.Unicode.TailoringInfo:.ctor (int,int,int,bool)
+Method Mono.Globalization.Unicode.TailoringInfo:.ctor (int,int,int,bool) emitted at 0x1ac1b88 to 0x1ac1bb4 (code length 44) [client.exe]
+Method System.Globalization.CompareInfo:.ctor (System.Globalization.CultureInfo) emitted at 0x1ac1bb8 to 0x1ac1d5d (code length 421) [client.exe]
+converting method System.Globalization.CultureInfo:get_Name ()
+Method System.Globalization.CultureInfo:get_Name () emitted at 0x1ac1da0 to 0x1ac1dae (code length 14) [client.exe]
+converting method System.Globalization.CompareInfo:get_UseManagedCollation ()
+Method System.Globalization.CompareInfo:get_UseManagedCollation () emitted at 0x1ac1db0 to 0x1ac1dbd (code length 13) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, Mono.Globalization.Unicode.SimpleCollator>:.ctor ()
+Method System.Collections.Generic.Dictionary`2<int, Mono.Globalization.Unicode.SimpleCollator>:.ctor () emitted at 0x1ac1dc0 to 0x1ac1ddd (code length 29) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, Mono.Globalization.Unicode.SimpleCollator>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>)
+Method System.Collections.Generic.Dictionary`2<int, Mono.Globalization.Unicode.SimpleCollator>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>) emitted at 0x1ac1df0 to 0x1ac1ec8 (code length 216) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, Mono.Globalization.Unicode.SimpleCollator>:InitArrays (int)
+Method System.Collections.Generic.Dictionary`2<int, Mono.Globalization.Unicode.SimpleCollator>:InitArrays (int) emitted at 0x1ac1ed8 to 0x1ac201f (code length 327) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, Mono.Globalization.Unicode.SimpleCollator>:TryGetValue (int,Mono.Globalization.Unicode.SimpleCollator&)
+Method System.Collections.Generic.Dictionary`2<int, Mono.Globalization.Unicode.SimpleCollator>:TryGetValue (int,Mono.Globalization.Unicode.SimpleCollator&) emitted at 0x1ac2020 to 0x1ac21c1 (code length 417) [client.exe]
+converting method Mono.Globalization.Unicode.SimpleCollator:.ctor (System.Globalization.CultureInfo)
+converting method Mono.Globalization.Unicode.SimpleCollator:.cctor ()
+Method Mono.Globalization.Unicode.SimpleCollator:.cctor () emitted at 0x1ac21c8 to 0x1ac2237 (code length 111) [client.exe]
+converting method Mono.Globalization.Unicode.SimpleCollator:.ctor (System.Globalization.CultureInfo)
+Method Mono.Globalization.Unicode.SimpleCollator:.ctor (System.Globalization.CultureInfo) emitted at 0x1ac2238 to 0x1ac2623 (code length 1003) [client.exe]
+converting method Mono.Globalization.Unicode.SimpleCollator:SetCJKTable (System.Globalization.CultureInfo,Mono.Globalization.Unicode.CodePointIndexer&,byte*&,byte*&,Mono.Globalization.Unicode.CodePointIndexer&,byte*&)
+Method Mono.Globalization.Unicode.SimpleCollator:SetCJKTable (System.Globalization.CultureInfo,Mono.Globalization.Unicode.CodePointIndexer&,byte*&,byte*&,Mono.Globalization.Unicode.CodePointIndexer&,byte*&) emitted at 0x1ac2648 to 0x1ac268d (code length 69) [client.exe]
+converting method Mono.Globalization.Unicode.SimpleCollator:GetNeutralCulture (System.Globalization.CultureInfo)
+Method Mono.Globalization.Unicode.SimpleCollator:GetNeutralCulture (System.Globalization.CultureInfo) emitted at 0x1ac26a8 to 0x1ac2703 (code length 91) [client.exe]
+converting method Mono.Globalization.Unicode.MSCompatUnicodeTable:FillCJK (string,Mono.Globalization.Unicode.CodePointIndexer&,byte*&,byte*&,Mono.Globalization.Unicode.CodePointIndexer&,byte*&)
+Method Mono.Globalization.Unicode.MSCompatUnicodeTable:FillCJK (string,Mono.Globalization.Unicode.CodePointIndexer&,byte*&,byte*&,Mono.Globalization.Unicode.CodePointIndexer&,byte*&) emitted at 0x1ac2708 to 0x1ac2782 (code length 122) [client.exe]
+converting method Mono.Globalization.Unicode.MSCompatUnicodeTable:FillCJKCore (string,Mono.Globalization.Unicode.CodePointIndexer&,byte*&,byte*&,Mono.Globalization.Unicode.CodePointIndexer&,byte*&)
+Method Mono.Globalization.Unicode.MSCompatUnicodeTable:FillCJKCore (string,Mono.Globalization.Unicode.CodePointIndexer&,byte*&,byte*&,Mono.Globalization.Unicode.CodePointIndexer&,byte*&) emitted at 0x1ac27a0 to 0x1ac2bb8 (code length 1048) [client.exe]
+converting method Mono.Globalization.Unicode.MSCompatUnicodeTable:SetCJKReferences (string,Mono.Globalization.Unicode.CodePointIndexer&,byte*&,byte*&,Mono.Globalization.Unicode.CodePointIndexer&,byte*&)
+Method Mono.Globalization.Unicode.MSCompatUnicodeTable:SetCJKReferences (string,Mono.Globalization.Unicode.CodePointIndexer&,byte*&,byte*&,Mono.Globalization.Unicode.CodePointIndexer&,byte*&) emitted at 0x1ac2bb8 to 0x1ac2e9c (code length 740) [client.exe]
+converting method Mono.Globalization.Unicode.MSCompatUnicodeTable:GetTailoringInfo (int)
+Method Mono.Globalization.Unicode.MSCompatUnicodeTable:GetTailoringInfo (int) emitted at 0x1ac2ea8 to 0x1ac2f15 (code length 109) [client.exe]
+converting method Mono.Globalization.Unicode.MSCompatUnicodeTable:BuildTailoringTables (System.Globalization.CultureInfo,Mono.Globalization.Unicode.TailoringInfo,Mono.Globalization.Unicode.Contraction[]&,Mono.Globalization.Unicode.Level2Map[]&)
+converting method Mono.Globalization.Unicode.ContractionComparer:.cctor ()
+Method Mono.Globalization.Unicode.ContractionComparer:.cctor () emitted at 0x1ac2f18 to 0x1ac2f4b (code length 51) [client.exe]
+converting method Mono.Globalization.Unicode.ContractionComparer:.ctor ()
+Method Mono.Globalization.Unicode.ContractionComparer:.ctor () emitted at 0x1ac2f58 to 0x1ac2f60 (code length 8) [client.exe]
+Method Mono.Globalization.Unicode.MSCompatUnicodeTable:BuildTailoringTables (System.Globalization.CultureInfo,Mono.Globalization.Unicode.TailoringInfo,Mono.Globalization.Unicode.Contraction[]&,Mono.Globalization.Unicode.Level2Map[]&) emitted at 0x1ac2f70 to 0x1ac34d7 (code length 1383) [client.exe]
+converting method System.Runtime.InteropServices.Marshal:Copy (intptr,char[],int,int)
+Method System.Runtime.InteropServices.Marshal:Copy (intptr,char[],int,int) emitted at 0x1ac35a8 to 0x1ac35c5 (code length 29) [client.exe]
+converting method System.Runtime.InteropServices.Marshal:.cctor ()
+Method System.Runtime.InteropServices.Marshal:.cctor () emitted at 0x1ac35d8 to 0x1ac35fb (code length 35) [client.exe]
+converting method (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:copy_from_unmanaged (intptr,int,System.Array,int)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:copy_from_unmanaged (intptr,int,System.Array,int) emitted at 0x1ac3600 to 0x1ac3672 (code length 114) [client.exe]
+converting method (wrapper managed-to-managed) string:.ctor (char*,int,int)
+Method (wrapper managed-to-managed) string:.ctor (char*,int,int) emitted at 0x1ac3678 to 0x1ac3695 (code length 29) [client.exe]
+converting method string:CreateString (char*,int,int)
+Method string:CreateString (char*,int,int) emitted at 0x1ac36a8 to 0x1ac37b4 (code length 268) [client.exe]
+converting method Mono.Globalization.Unicode.Contraction:.ctor (int,char[],string,byte[])
+Method Mono.Globalization.Unicode.Contraction:.ctor (int,char[],string,byte[]) emitted at 0x1ac37b8 to 0x1ac3840 (code length 136) [client.exe]
+converting gshared method System.Collections.Generic.List`1<Mono.Globalization.Unicode.Contraction>:Add (Mono.Globalization.Unicode.Contraction)
+Method System.Collections.Generic.List`1:Add (T) emitted at 0x1ac3840 to 0x1ac38a2 (code length 98) [client.exe]
+converting gshared method System.Collections.Generic.List`1<Mono.Globalization.Unicode.Contraction>:GrowIfNeeded (int)
+Method System.Collections.Generic.List`1:GrowIfNeeded (int) emitted at 0x1ac38b0 to 0x1ac3914 (code length 100) [client.exe]
+converting gshared method System.Collections.Generic.List`1<Mono.Globalization.Unicode.Contraction>:get_Capacity ()
+Method System.Collections.Generic.List`1:get_Capacity () emitted at 0x1ac3930 to 0x1ac3941 (code length 17) [client.exe]
+converting gshared method System.Collections.Generic.List`1<Mono.Globalization.Unicode.Contraction>:set_Capacity (int)
+Method System.Collections.Generic.List`1:set_Capacity (int) emitted at 0x1ac3948 to 0x1ac39bc (code length 116) [client.exe]
+converting gshared method System.Array:Resize<Mono.Globalization.Unicode.Contraction> (Mono.Globalization.Unicode.Contraction[]&,int)
+Method System.Array:Resize<T> (T[]&,int) emitted at 0x1ac39c8 to 0x1ac3b24 (code length 348) [client.exe]
+converting gshared method System.Collections.Generic.List`1<Mono.Globalization.Unicode.Contraction>:Sort (System.Collections.Generic.IComparer`1<Mono.Globalization.Unicode.Contraction>)
+Method System.Collections.Generic.List`1:Sort (System.Collections.Generic.IComparer`1<T>) emitted at 0x1ac3b30 to 0x1ac3b7f (code length 79) [client.exe]
+converting gshared method System.Array:QSortArrange<Mono.Globalization.Unicode.Contraction> (Mono.Globalization.Unicode.Contraction[],int,int,System.Collections.Generic.IComparer`1<Mono.Globalization.Unicode.Contraction>)
+Method System.Array:QSortArrange<K> (K[],int,int,System.Collections.Generic.IComparer`1<K>) emitted at 0x1ac3b90 to 0x1ac3e9f (code length 783) [client.exe]
+converting method Mono.Globalization.Unicode.ContractionComparer:Compare (Mono.Globalization.Unicode.Contraction,Mono.Globalization.Unicode.Contraction)
+Method Mono.Globalization.Unicode.ContractionComparer:Compare (Mono.Globalization.Unicode.Contraction,Mono.Globalization.Unicode.Contraction) emitted at 0x1ac3eb8 to 0x1ac3f8e (code length 214) [client.exe]
+converting method (wrapper castclass) object:__isinst_with_cache (object,intptr,intptr)
+Method (wrapper castclass) object:__isinst_with_cache (object,intptr,intptr) emitted at 0x1ac3f90 to 0x1ac4001 (code length 113) [client.exe]
+converting gshared method System.Collections.Generic.List`1<Mono.Globalization.Unicode.Level2Map>:Sort (System.Comparison`1<Mono.Globalization.Unicode.Level2Map>)
+Method System.Collections.Generic.List`1:Sort (System.Comparison`1<T>) emitted at 0x1ac4008 to 0x1ac408c (code length 132) [client.exe]
+converting gshared method System.Array:SortImpl<Mono.Globalization.Unicode.Level2Map> (Mono.Globalization.Unicode.Level2Map[],int,System.Comparison`1<Mono.Globalization.Unicode.Level2Map>)
+Method System.Array:SortImpl<T> (T[],int,System.Comparison`1<T>) emitted at 0x1ac4098 to 0x1ac4166 (code length 206) [client.exe]
+converting gshared method System.Collections.Generic.List`1<Mono.Globalization.Unicode.Contraction>:ToArray ()
+Method System.Collections.Generic.List`1:ToArray () emitted at 0x1ac4190 to 0x1ac41e8 (code length 88) [client.exe]
+Method Mono.Globalization.Unicode.SimpleCollator:.ctor (System.Globalization.CultureInfo) emitted at 0x1ac41e8 to 0x1ac45d3 (code length 1003) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, Mono.Globalization.Unicode.SimpleCollator>:set_Item (int,Mono.Globalization.Unicode.SimpleCollator)
+Method System.Collections.Generic.Dictionary`2<int, Mono.Globalization.Unicode.SimpleCollator>:set_Item (int,Mono.Globalization.Unicode.SimpleCollator) emitted at 0x1ac45d8 to 0x1ac489e (code length 710) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:.ctor (System.Collections.IEqualityComparer)
+Method System.Collections.Specialized.NameObjectCollectionBase:.ctor (System.Collections.IEqualityComparer) emitted at 0x1ac48b0 to 0x1ac48e1 (code length 49) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:.ctor (System.Collections.IEqualityComparer,System.Collections.IComparer,System.Collections.IHashCodeProvider)
+Method System.Collections.Specialized.NameObjectCollectionBase:.ctor (System.Collections.IEqualityComparer,System.Collections.IComparer,System.Collections.IHashCodeProvider) emitted at 0x1ac48f0 to 0x1ac498c (code length 156) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:Init ()
+Method System.Collections.Specialized.NameObjectCollectionBase:Init () emitted at 0x1ac4998 to 0x1ac4b25 (code length 397) [client.exe]
+converting method System.Collections.Hashtable:.ctor (int,System.Collections.IEqualityComparer)
+Method System.Collections.Hashtable:.ctor (int,System.Collections.IEqualityComparer) emitted at 0x1ac4b40 to 0x1ac4b61 (code length 33) [client.exe]
+converting method System.Collections.Hashtable:.ctor (int,single,System.Collections.IEqualityComparer)
+Method System.Collections.Hashtable:.ctor (int,single,System.Collections.IEqualityComparer) emitted at 0x1ac4b70 to 0x1ac4bbf (code length 79) [client.exe]
+converting method System.Configuration.Configuration:Load ()
+Method System.Configuration.Configuration:Load () emitted at 0x1ac4bc0 to 0x1ac4d05 (code length 325) [client.exe]
+converting method System.Configuration.InternalConfigurationHost:OpenStreamForRead (string)
+Method System.Configuration.InternalConfigurationHost:OpenStreamForRead (string) emitted at 0x1ac4d70 to 0x1ac4ed1 (code length 353) [client.exe]
+converting method string:CompareOrdinal (string,string)
+Method string:CompareOrdinal (string,string) emitted at 0x1ac4f20 to 0x1ac4f49 (code length 41) [client.exe]
+converting method (wrapper managed-to-native) System.Configuration.InternalConfigurationHost:get_bundled_machine_config ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Configuration.InternalConfigurationHost:get_bundled_machine_config () emitted at 0x1ac4f50 to 0x1ac4fbe (code length 110) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess)
+Method (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess) emitted at 0x1ac4fc0 to 0x1ac500e (code length 78) [client.exe]
+converting method System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess)
+Method System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess) emitted at 0x1ac5028 to 0x1ac505d (code length 53) [client.exe]
+converting method System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,bool,bool)
+Method System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,bool,bool) emitted at 0x1ac5070 to 0x1ac50a9 (code length 57) [client.exe]
+converting method System.IO.Path:IsDsc (char)
+Method System.IO.Path:IsDsc (char) emitted at 0x1ac50b0 to 0x1ac50e5 (code length 53) [client.exe]
+converting method System.IO.Path:CleanPath (string)
+Method System.IO.Path:CleanPath (string) emitted at 0x1ac50e8 to 0x1ac536e (code length 646) [client.exe]
+converting method System.IO.Path:GetFullPath (string)
+Method System.IO.Path:GetFullPath (string) emitted at 0x1ac5370 to 0x1ac53de (code length 110) [client.exe]
+converting method System.IO.Path:InsecureGetFullPath (string)
+Method System.IO.Path:InsecureGetFullPath (string) emitted at 0x1ac53f0 to 0x1ac5718 (code length 808) [client.exe]
+converting method System.IO.Path:CanonicalizePath (string)
+Method System.IO.Path:CanonicalizePath (string) emitted at 0x1ac5748 to 0x1ac5956 (code length 526) [client.exe]
+converting method string:Join (string,string[],int,int)
+Method string:Join (string,string[],int,int) emitted at 0x1ac5968 to 0x1ac5adc (code length 372) [client.exe]
+converting method string:JoinUnchecked (string,string[],int,int)
+Method string:JoinUnchecked (string,string[],int,int) emitted at 0x1ac5ae8 to 0x1ac5cc4 (code length 476) [client.exe]
+converting method ConfigXmlTextReader:.ctor (System.IO.Stream,string)
+Method ConfigXmlTextReader:.ctor (System.IO.Stream,string) emitted at 0x1ac5cc8 to 0x1ac5d44 (code length 124) [client.exe]
+converting method System.Xml.XmlTextReader:.ctor (System.IO.Stream)
+Method System.Xml.XmlTextReader:.ctor (System.IO.Stream) emitted at 0x1ac5d50 to 0x1ac5d91 (code length 65) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.Xml.XmlStreamReader:.ctor (System.IO.Stream)
+Method (wrapper remoting-invoke-with-check) System.Xml.XmlStreamReader:.ctor (System.IO.Stream) emitted at 0x1ac5db0 to 0x1ac5ded (code length 61) [client.exe]
+converting method System.Xml.XmlStreamReader:.ctor (System.IO.Stream)
+Method System.Xml.XmlStreamReader:.ctor (System.IO.Stream) emitted at 0x1ac5e08 to 0x1ac5e51 (code length 73) [client.exe]
+converting method System.Xml.XmlInputStream:.cctor ()
+Method System.Xml.XmlInputStream:.cctor () emitted at 0x1ac5e78 to 0x1ac5f6f (code length 247) [client.exe]
+converting method System.Xml.XmlException:.ctor (string)
+Method System.Xml.XmlException:.ctor (string) emitted at 0x1ac5f98 to 0x1ac603b (code length 163) [client.exe]
+converting method System.Text.EncoderFallback:get_ExceptionFallback ()
+Method System.Text.EncoderFallback:get_ExceptionFallback () emitted at 0x1ac6040 to 0x1ac604e (code length 14) [client.exe]
+converting method System.Text.DecoderFallback:get_ExceptionFallback ()
+Method System.Text.DecoderFallback:get_ExceptionFallback () emitted at 0x1ac6050 to 0x1ac605e (code length 14) [client.exe]
+converting method System.Text.UTF32Encoding:.ctor (bool,bool,bool)
+Method System.Text.UTF32Encoding:.ctor (bool,bool,bool) emitted at 0x1ac6060 to 0x1ac6298 (code length 568) [client.exe]
+converting method System.Text.UnicodeEncoding:.ctor (bool,bool,bool)
+Method System.Text.UnicodeEncoding:.ctor (bool,bool,bool) emitted at 0x1ac6298 to 0x1ac64b2 (code length 538) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.Xml.XmlInputStream:.ctor (System.IO.Stream)
+Method (wrapper remoting-invoke-with-check) System.Xml.XmlInputStream:.ctor (System.IO.Stream) emitted at 0x1ac64b8 to 0x1ac64f5 (code length 61) [client.exe]
+converting method System.Xml.XmlInputStream:.ctor (System.IO.Stream)
+Method System.Xml.XmlInputStream:.ctor (System.IO.Stream) emitted at 0x1ac6510 to 0x1ac653d (code length 45) [client.exe]
+converting method System.Xml.XmlInputStream:Initialize (System.IO.Stream)
+Method System.Xml.XmlInputStream:Initialize (System.IO.Stream) emitted at 0x1ac6550 to 0x1ac6d5d (code length 2061) [client.exe]
+converting method System.IO.FileStream:RefillBuffer ()
+Method System.IO.FileStream:RefillBuffer () emitted at 0x1ac6da8 to 0x1ac6deb (code length 67) [client.exe]
+converting method (wrapper managed-to-native) System.Buffer:BlockCopyInternal (System.Array,int,System.Array,int,int)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) System.Buffer:BlockCopyInternal (System.Array,int,System.Array,int,int) emitted at 0x1ac6df0 to 0x1ac6e76 (code length 134) [client.exe]
+converting method System.Xml.XmlInputStream:ReadByteSpecial ()
+Method System.Xml.XmlInputStream:ReadByteSpecial () emitted at 0x1ac6e78 to 0x1ac721f (code length 935) [client.exe]
+converting method System.Xml.XmlInputStream:GetStringFromBytes (int,int)
+Method System.Xml.XmlInputStream:GetStringFromBytes (int,int) emitted at 0x1ac7230 to 0x1ac729a (code length 106) [client.exe]
+converting method System.Text.Encoding:get_ASCII ()
+Method System.Text.Encoding:get_ASCII () emitted at 0x1ac72a8 to 0x1ac7330 (code length 136) [client.exe]
+converting method System.Text.ASCIIEncoding:.ctor ()
+Method System.Text.ASCIIEncoding:.ctor () emitted at 0x1ac7340 to 0x1ac7418 (code length 216) [client.exe]
+converting method System.Text.DecoderFallback:get_ReplacementFallback ()
+Method System.Text.DecoderFallback:get_ReplacementFallback () emitted at 0x1ac7418 to 0x1ac7426 (code length 14) [client.exe]
+converting method System.Text.EncoderFallback:get_ReplacementFallback ()
+Method System.Text.EncoderFallback:get_ReplacementFallback () emitted at 0x1ac7428 to 0x1ac7436 (code length 14) [client.exe]
+converting method System.Text.ASCIIEncoding:GetString (byte[],int,int)
+Method System.Text.ASCIIEncoding:GetString (byte[],int,int) emitted at 0x1ac7438 to 0x1ac75ff (code length 455) [client.exe]
+converting method System.Xml.XmlInputStream:SkipWhitespace ()
+Method System.Xml.XmlInputStream:SkipWhitespace () emitted at 0x1ac7600 to 0x1ac7652 (code length 82) [client.exe]
+converting method System.Buffer:BlockCopy (System.Array,int,System.Array,int,int)
+Method System.Buffer:BlockCopy (System.Array,int,System.Array,int,int) emitted at 0x1ac7688 to 0x1ac7888 (code length 512) [client.exe]
+converting method System.Text.StringBuilder:Append (char)
+Method System.Text.StringBuilder:Append (char) emitted at 0x1ac7898 to 0x1ac78e8 (code length 80) [client.exe]
+converting method System.Text.StringBuilder:InternalEnsureCapacity (int)
+Method System.Text.StringBuilder:InternalEnsureCapacity (int) emitted at 0x1ac78e8 to 0x1ac7a18 (code length 304) [client.exe]
+converting method System.Xml.XmlChar:IsValidIANAEncoding (string)
+Method System.Xml.XmlChar:IsValidIANAEncoding (string) emitted at 0x1ac7a18 to 0x1ac7aec (code length 212) [client.exe]
+converting method System.Xml.XmlChar:.cctor ()
+Method System.Xml.XmlChar:.cctor () emitted at 0x1ac7af0 to 0x1ac7c03 (code length 275) [client.exe]
+converting method System.Text.Encoding:GetEncoding (string)
+Method System.Text.Encoding:GetEncoding (string) emitted at 0x1ac7c08 to 0x1ac82b1 (code length 1705) [client.exe]
+converting method string:Replace (char,char)
+Method string:Replace (char,char) emitted at 0x1ac8338 to 0x1ac8464 (code length 300) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<string, int>:.ctor (int)
+Method System.Collections.Generic.Dictionary`2<string, int>:.ctor (int) emitted at 0x1ac8468 to 0x1ac8485 (code length 29) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<string, int>:Init (int,System.Collections.Generic.IEqualityComparer`1<string>)
+Method System.Collections.Generic.Dictionary`2<string, int>:Init (int,System.Collections.Generic.IEqualityComparer`1<string>) emitted at 0x1ac8498 to 0x1ac8570 (code length 216) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<string, int>:InitArrays (int)
+Method System.Collections.Generic.Dictionary`2<string, int>:InitArrays (int) emitted at 0x1ac8580 to 0x1ac86c7 (code length 327) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<string, int>:Add (string,int)
+Method System.Collections.Generic.Dictionary`2<string, int>:Add (string,int) emitted at 0x1ac86c8 to 0x1ac8926 (code length 606) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<string, int>:TryGetValue (string,int&)
+Method System.Collections.Generic.Dictionary`2<string, int>:TryGetValue (string,int&) emitted at 0x1ac8938 to 0x1ac8aa4 (code length 364) [client.exe]
+converting method System.Text.Encoding:GetEncoding (int)
+Method System.Text.Encoding:GetEncoding (int) emitted at 0x1ac8aa8 to 0x1ac8dc5 (code length 797) [client.exe]
+converting method System.Text.Encoding:get_UTF8 ()
+Method System.Text.Encoding:get_UTF8 () emitted at 0x1ac8de0 to 0x1ac8e6c (code length 140) [client.exe]
+converting method System.Text.UTF8Encoding:.ctor (bool)
+Method System.Text.UTF8Encoding:.ctor (bool) emitted at 0x1ac8e78 to 0x1ac8e95 (code length 29) [client.exe]
+converting method System.Xml.XmlStreamReader:.ctor (System.Xml.XmlInputStream)
+Method System.Xml.XmlStreamReader:.ctor (System.Xml.XmlInputStream) emitted at 0x1ac8e98 to 0x1ac8f1d (code length 133) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.Xml.XmlInputStream:get_ActualEncoding ()
+Method (wrapper remoting-invoke-with-check) System.Xml.XmlInputStream:get_ActualEncoding () emitted at 0x1ac8f38 to 0x1ac8f9c (code length 100) [client.exe]
+converting method System.Xml.XmlInputStream:get_ActualEncoding ()
+Method System.Xml.XmlInputStream:get_ActualEncoding () emitted at 0x1ac8fc0 to 0x1ac8fce (code length 14) [client.exe]
+converting method System.Xml.NonBlockingStreamReader:.ctor (System.IO.Stream,System.Text.Encoding)
+Method System.Xml.NonBlockingStreamReader:.ctor (System.IO.Stream,System.Text.Encoding) emitted at 0x1ac8fd0 to 0x1ac90ff (code length 303) [client.exe]
+converting method System.Xml.XmlTextReader:.ctor (System.IO.TextReader)
+Method System.Xml.XmlTextReader:.ctor (System.IO.TextReader) emitted at 0x1ac9100 to 0x1ac9141 (code length 65) [client.exe]
+converting method System.Xml.NameTable:.ctor ()
+Method System.Xml.NameTable:.ctor () emitted at 0x1ac9160 to 0x1ac91b2 (code length 82) [client.exe]
+converting method System.Xml.XmlTextReader:.ctor (System.IO.TextReader,System.Xml.XmlNameTable)
+Method System.Xml.XmlTextReader:.ctor (System.IO.TextReader,System.Xml.XmlNameTable) emitted at 0x1ac91b8 to 0x1ac91d9 (code length 33) [client.exe]
+converting method System.Xml.XmlTextReader:.ctor (string,System.IO.TextReader,System.Xml.XmlNameTable)
+Method System.Xml.XmlTextReader:.ctor (string,System.IO.TextReader,System.Xml.XmlNameTable) emitted at 0x1ac91e8 to 0x1ac9243 (code length 91) [client.exe]
+converting method Mono.Xml2.XmlTextReader:.ctor (string,System.IO.TextReader,System.Xml.XmlNameTable)
+Method Mono.Xml2.XmlTextReader:.ctor (string,System.IO.TextReader,System.Xml.XmlNameTable) emitted at 0x1ac9250 to 0x1ac9271 (code length 33) [client.exe]
+converting method Mono.Xml2.XmlTextReader:.ctor (string,System.IO.TextReader,System.Xml.XmlNodeType,System.Xml.XmlParserContext)
+Method Mono.Xml2.XmlTextReader:.ctor (string,System.IO.TextReader,System.Xml.XmlNodeType,System.Xml.XmlParserContext) emitted at 0x1ac9280 to 0x1ac93b0 (code length 304) [client.exe]
+converting method Mono.Xml2.XmlTextReader/DtdInputStateStack:.ctor ()
+Method Mono.Xml2.XmlTextReader/DtdInputStateStack:.ctor () emitted at 0x1ac93c8 to 0x1ac9429 (code length 97) [client.exe]
+converting method Mono.Xml2.XmlTextReader/DtdInputStateStack:Push (Mono.Xml2.XmlTextReader/DtdInputState)
+Method Mono.Xml2.XmlTextReader/DtdInputStateStack:Push (Mono.Xml2.XmlTextReader/DtdInputState) emitted at 0x1ac9438 to 0x1ac9471 (code length 57) [client.exe]
+converting method Mono.Xml2.XmlTextReader:InitializeContext (string,System.Xml.XmlParserContext,System.IO.TextReader,System.Xml.XmlNodeType)
+Method Mono.Xml2.XmlTextReader:InitializeContext (string,System.Xml.XmlParserContext,System.IO.TextReader,System.Xml.XmlNodeType) emitted at 0x1ac9478 to 0x1ac9944 (code length 1228) [client.exe]
+converting method System.Xml.XmlNamespaceManager:.ctor (System.Xml.XmlNameTable)
+Method System.Xml.XmlNamespaceManager:.ctor (System.Xml.XmlNameTable) emitted at 0x1ac99a8 to 0x1ac9a88 (code length 224) [client.exe]
+converting method System.Xml.NameTable:Add (string)
+Method System.Xml.NameTable:Add (string) emitted at 0x1ac9a98 to 0x1ac9bc2 (code length 298) [client.exe]
+converting method System.Xml.NameTable:AddEntry (string,int)
+Method System.Xml.NameTable:AddEntry (string,int) emitted at 0x1ac9bd0 to 0x1ac9d76 (code length 422) [client.exe]
+converting method System.Xml.NameTable/Entry:.ctor (string,int,System.Xml.NameTable/Entry)
+Method System.Xml.NameTable/Entry:.ctor (string,int,System.Xml.NameTable/Entry) emitted at 0x1ac9d88 to 0x1ac9ded (code length 101) [client.exe]
+converting method System.Xml.XmlNamespaceManager:InitData ()
+Method System.Xml.XmlNamespaceManager:InitData () emitted at 0x1ac9df0 to 0x1ac9e7c (code length 140) [client.exe]
+converting method System.Xml.XmlParserContext:.ctor (System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,string,System.Xml.XmlSpace)
+Method System.Xml.XmlParserContext:.ctor (System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,string,System.Xml.XmlSpace) emitted at 0x1ac9e80 to 0x1ac9eb1 (code length 49) [client.exe]
+converting method System.Xml.XmlParserContext:.ctor (System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,string,string,string,string,string,string,System.Xml.XmlSpace,System.Text.Encoding)
+Method System.Xml.XmlParserContext:.ctor (System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,string,string,string,string,string,string,System.Xml.XmlSpace,System.Text.Encoding) emitted at 0x1ac9ec0 to 0x1ac9f80 (code length 192) [client.exe]
+converting method System.Xml.XmlParserContext:.ctor (System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,Mono.Xml.DTDObjectModel,string,string,System.Xml.XmlSpace,System.Text.Encoding)
+Method System.Xml.XmlParserContext:.ctor (System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,Mono.Xml.DTDObjectModel,string,string,System.Xml.XmlSpace,System.Text.Encoding) emitted at 0x1ac9fa8 to 0x1aca244 (code length 668) [client.exe]
+converting method System.Xml.XmlParserContext:set_BaseURI (string)
+Method System.Xml.XmlParserContext:set_BaseURI (string) emitted at 0x1aca280 to 0x1aca2bf (code length 63) [client.exe]
+converting method System.Xml.XmlParserContext:set_XmlLang (string)
+Method System.Xml.XmlParserContext:set_XmlLang (string) emitted at 0x1aca2c0 to 0x1aca2ff (code length 63) [client.exe]
+converting method Mono.Xml2.XmlTextReader:Init ()
+Method Mono.Xml2.XmlTextReader:Init () emitted at 0x1aca310 to 0x1aca543 (code length 563) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_Settings ()
+Method Mono.Xml2.XmlTextReader:get_Settings () emitted at 0x1aca550 to 0x1aca55e (code length 14) [client.exe]
+converting method Mono.Xml2.XmlTextReader:Clear ()
+Method Mono.Xml2.XmlTextReader:Clear () emitted at 0x1aca560 to 0x1aca675 (code length 277) [client.exe]
+converting method Mono.Xml2.XmlTextReader/XmlTokenInfo:.ctor (Mono.Xml2.XmlTextReader)
+Method Mono.Xml2.XmlTextReader/XmlTokenInfo:.ctor (Mono.Xml2.XmlTextReader) emitted at 0x1aca688 to 0x1aca6cc (code length 68) [client.exe]
+converting method Mono.Xml2.XmlTextReader/XmlTokenInfo:Clear ()
+Method Mono.Xml2.XmlTextReader/XmlTokenInfo:Clear () emitted at 0x1aca6d0 to 0x1aca792 (code length 194) [client.exe]
+converting method System.Configuration.Configuration:ReadConfigFile (System.Xml.XmlReader,string)
+Method System.Configuration.Configuration:ReadConfigFile (System.Xml.XmlReader,string) emitted at 0x1aca798 to 0x1aca9a5 (code length 525) [client.exe]
+converting method System.Xml.XmlReader:MoveToContent ()
+Method System.Xml.XmlReader:MoveToContent () emitted at 0x1aca9c0 to 0x1acaa88 (code length 200) [client.exe]
+converting method System.Xml.XmlTextReader:get_ReadState ()
+Method System.Xml.XmlTextReader:get_ReadState () emitted at 0x1acaa98 to 0x1acaacf (code length 55) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_ReadState ()
+Method Mono.Xml2.XmlTextReader:get_ReadState () emitted at 0x1acaad0 to 0x1acaade (code length 14) [client.exe]
+converting method System.Xml.XmlTextReader:get_NodeType ()
+Method System.Xml.XmlTextReader:get_NodeType () emitted at 0x1acaae0 to 0x1acab73 (code length 147) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_NodeType ()
+Method Mono.Xml2.XmlTextReader:get_NodeType () emitted at 0x1acab78 to 0x1acab89 (code length 17) [client.exe]
+converting method System.Xml.XmlReader:IsContent (System.Xml.XmlNodeType)
+Method System.Xml.XmlReader:IsContent (System.Xml.XmlNodeType) emitted at 0x1acab90 to 0x1acabf2 (code length 98) [client.exe]
+converting method System.Xml.XmlTextReader:Read ()
+Method System.Xml.XmlTextReader:Read () emitted at 0x1acac28 to 0x1acad59 (code length 305) [client.exe]
+converting method Mono.Xml2.XmlTextReader:Read ()
+Method Mono.Xml2.XmlTextReader:Read () emitted at 0x1acad78 to 0x1acafcf (code length 599) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ClearValueBuffer ()
+Method Mono.Xml2.XmlTextReader:ClearValueBuffer () emitted at 0x1acb040 to 0x1acb061 (code length 33) [client.exe]
+converting method System.Text.StringBuilder:set_Length (int)
+Method System.Text.StringBuilder:set_Length (int) emitted at 0x1acb068 to 0x1acb0e0 (code length 120) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadContent ()
+Method Mono.Xml2.XmlTextReader:ReadContent () emitted at 0x1acb0f0 to 0x1acb354 (code length 612) [client.exe]
+converting method Mono.Xml2.XmlTextReader:PeekChar ()
+Method Mono.Xml2.XmlTextReader:PeekChar () emitted at 0x1acb408 to 0x1acb4b4 (code length 172) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadTextReader (int)
+Method Mono.Xml2.XmlTextReader:ReadTextReader (int) emitted at 0x1acb4d0 to 0x1acb789 (code length 697) [client.exe]
+converting method System.Xml.XmlStreamReader:Read (char[],int,int)
+Method System.Xml.XmlStreamReader:Read (char[],int,int) emitted at 0x1acb7a8 to 0x1acb83b (code length 147) [client.exe]
+converting method System.Xml.NonBlockingStreamReader:Read (char[],int,int)
+Method System.Xml.NonBlockingStreamReader:Read (char[],int,int) emitted at 0x1acb858 to 0x1acbb4e (code length 758) [client.exe]
+converting method System.Xml.NonBlockingStreamReader:ReadBuffer ()
+Method System.Xml.NonBlockingStreamReader:ReadBuffer () emitted at 0x1acbb60 to 0x1acbcdd (code length 381) [client.exe]
+converting method System.Xml.XmlInputStream:Read (byte[],int,int)
+Method System.Xml.XmlInputStream:Read (byte[],int,int) emitted at 0x1acbce0 to 0x1acbf4a (code length 618) [client.exe]
+converting method Mono.Xml2.XmlTextReader:Advance (int)
+Method Mono.Xml2.XmlTextReader:Advance (int) emitted at 0x1acbf50 to 0x1acbfb8 (code length 104) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadProcessingInstruction ()
+Method Mono.Xml2.XmlTextReader:ReadProcessingInstruction () emitted at 0x1acbfb8 to 0x1acc1d0 (code length 536) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadName ()
+Method Mono.Xml2.XmlTextReader:ReadName () emitted at 0x1acc218 to 0x1acc245 (code length 45) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadName (string&,string&)
+Method Mono.Xml2.XmlTextReader:ReadName (string&,string&) emitted at 0x1acc258 to 0x1acc54c (code length 756) [client.exe]
+converting method System.Xml.XmlChar:IsFirstNameChar (int)
+Method System.Xml.XmlChar:IsFirstNameChar (int) emitted at 0x1acc570 to 0x1acc639 (code length 201) [client.exe]
+converting method System.Xml.XmlChar:IsNameChar (int)
+Method System.Xml.XmlChar:IsNameChar (int) emitted at 0x1acc640 to 0x1acc709 (code length 201) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_NameTable ()
+Method Mono.Xml2.XmlTextReader:get_NameTable () emitted at 0x1acc710 to 0x1acc71e (code length 14) [client.exe]
+converting method System.Xml.NameTable:Add (char[],int,int)
+Method System.Xml.NameTable:Add (char[],int,int) emitted at 0x1acc720 to 0x1acc882 (code length 354) [client.exe]
+converting method System.Xml.NameTable:StrEqArray (string,char[],int)
+Method System.Xml.NameTable:StrEqArray (string,char[],int) emitted at 0x1acc890 to 0x1acc8fc (code length 108) [client.exe]
+converting method Mono.Xml2.XmlTextReader:SkipWhitespace ()
+Method Mono.Xml2.XmlTextReader:SkipWhitespace () emitted at 0x1acc900 to 0x1acc9ab (code length 171) [client.exe]
+converting method System.Xml.XmlChar:IsInvalid (int)
+Method System.Xml.XmlChar:IsInvalid (int) emitted at 0x1acc9b0 to 0x1acca2b (code length 123) [client.exe]
+converting method Mono.Xml2.XmlTextReader:AppendValueChar (int)
+Method Mono.Xml2.XmlTextReader:AppendValueChar (int) emitted at 0x1acca30 to 0x1acca71 (code length 65) [client.exe]
+converting method Mono.Xml2.XmlTextReader:VerifyXmlDeclaration ()
+Method Mono.Xml2.XmlTextReader:VerifyXmlDeclaration () emitted at 0x1acca80 to 0x1acd077 (code length 1527) [client.exe]
+converting method Mono.Xml2.XmlTextReader:CreateValueString ()
+Method Mono.Xml2.XmlTextReader:CreateValueString () emitted at 0x1acd0c0 to 0x1acd23c (code length 380) [client.exe]
+converting method System.Text.StringBuilder:get_Capacity ()
+Method System.Text.StringBuilder:get_Capacity () emitted at 0x1acd248 to 0x1acd278 (code length 48) [client.exe]
+converting method System.Text.StringBuilder:ToString (int,int)
+Method System.Text.StringBuilder:ToString (int,int) emitted at 0x1acd278 to 0x1acd2ec (code length 116) [client.exe]
+converting method string:InternalSetLength (int)
+Method string:InternalSetLength (int) emitted at 0x1acd2f0 to 0x1acd3a7 (code length 183) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ClearAttributes ()
+Method Mono.Xml2.XmlTextReader:ClearAttributes () emitted at 0x1acd3a8 to 0x1acd3c8 (code length 32) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ParseAttributeFromString (string,int&,string&,string&)
+Method Mono.Xml2.XmlTextReader:ParseAttributeFromString (string,int&,string&,string&) emitted at 0x1acd3c8 to 0x1acd6bb (code length 755) [client.exe]
+converting method System.Xml.XmlChar:IsWhitespace (int)
+Method System.Xml.XmlChar:IsWhitespace (int) emitted at 0x1acd6c8 to 0x1acd6fd (code length 53) [client.exe]
+converting method Mono.Xml2.XmlTextReader:SkipWhitespaceInString (string,int&)
+Method Mono.Xml2.XmlTextReader:SkipWhitespaceInString (string,int&) emitted at 0x1acd700 to 0x1acd771 (code length 113) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.Xml.NonBlockingStreamReader:get_Encoding ()
+Method (wrapper remoting-invoke-with-check) System.Xml.NonBlockingStreamReader:get_Encoding () emitted at 0x1acd778 to 0x1acd7dc (code length 100) [client.exe]
+converting method System.Xml.NonBlockingStreamReader:get_Encoding ()
+Method System.Xml.NonBlockingStreamReader:get_Encoding () emitted at 0x1acd800 to 0x1acd80e (code length 14) [client.exe]
+converting method Mono.Xml2.XmlTextReader:AddAttributeWithValue (string,string)
+Method Mono.Xml2.XmlTextReader:AddAttributeWithValue (string,string) emitted at 0x1acd810 to 0x1acd96c (code length 348) [client.exe]
+converting method Mono.Xml2.XmlTextReader:IncrementAttributeToken ()
+Method Mono.Xml2.XmlTextReader:IncrementAttributeToken () emitted at 0x1acd988 to 0x1acdac1 (code length 313) [client.exe]
+converting method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:.ctor (Mono.Xml2.XmlTextReader)
+Method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:.ctor (Mono.Xml2.XmlTextReader) emitted at 0x1acdae0 to 0x1acdb4f (code length 111) [client.exe]
+converting method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:Clear ()
+Method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:Clear () emitted at 0x1acdb50 to 0x1acdb8c (code length 60) [client.exe]
+converting method Mono.Xml2.XmlTextReader:IncrementAttributeValueToken ()
+Method Mono.Xml2.XmlTextReader:IncrementAttributeValueToken () emitted at 0x1acdb98 to 0x1acdcd1 (code length 313) [client.exe]
+converting method Mono.Xml2.XmlTextReader:SetTokenProperties (Mono.Xml2.XmlTextReader/XmlTokenInfo,System.Xml.XmlNodeType,string,string,string,bool,string,bool)
+Method Mono.Xml2.XmlTextReader:SetTokenProperties (Mono.Xml2.XmlTextReader/XmlTokenInfo,System.Xml.XmlNodeType,string,string,string,bool,string,bool) emitted at 0x1acdcd8 to 0x1acdd98 (code length 192) [client.exe]
+converting method Mono.Xml2.XmlTextReader/XmlTokenInfo:set_Value (string)
+Method Mono.Xml2.XmlTextReader/XmlTokenInfo:set_Value (string) emitted at 0x1acdd98 to 0x1acddca (code length 50) [client.exe]
+converting method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:set_Value (string)
+Method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:set_Value (string) emitted at 0x1acddd0 to 0x1acde02 (code length 50) [client.exe]
+converting method Mono.Xml2.XmlTextReader:SetProperties (System.Xml.XmlNodeType,string,string,string,bool,string,bool)
+Method Mono.Xml2.XmlTextReader:SetProperties (System.Xml.XmlNodeType,string,string,string,bool,string,bool) emitted at 0x1acde08 to 0x1acde5c (code length 84) [client.exe]
+converting method System.Xml.XmlTextReader:get_EntityHandling ()
+Method System.Xml.XmlTextReader:get_EntityHandling () emitted at 0x1acde60 to 0x1acde78 (code length 24) [client.exe]
+converting method System.Xml.XmlTextReader:get_EOF ()
+Method System.Xml.XmlTextReader:get_EOF () emitted at 0x1acde78 to 0x1acde98 (code length 32) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_EOF ()
+Method Mono.Xml2.XmlTextReader:get_EOF () emitted at 0x1acde98 to 0x1acdeb1 (code length 25) [client.exe]
+converting method string:CharCopy (string,int,string,int,int)
+Method string:CharCopy (string,int,string,int,int) emitted at 0x1acdeb8 to 0x1acdeed (code length 53) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadWhitespace ()
+Method Mono.Xml2.XmlTextReader:ReadWhitespace () emitted at 0x1acdef0 to 0x1ace0c1 (code length 465) [client.exe]
+converting method System.Text.StringBuilder:Append (char[],int,int)
+Method System.Text.StringBuilder:Append (char[],int,int) emitted at 0x1ace0c8 to 0x1ace1a4 (code length 220) [client.exe]
+converting method string:CharCopy (string,int,char[],int,int)
+Method string:CharCopy (string,int,char[],int,int) emitted at 0x1ace1b0 to 0x1ace233 (code length 131) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_XmlSpace ()
+Method Mono.Xml2.XmlTextReader:get_XmlSpace () emitted at 0x1ace238 to 0x1ace24d (code length 21) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadStartTag ()
+Method Mono.Xml2.XmlTextReader:ReadStartTag () emitted at 0x1ace250 to 0x1acecc7 (code length 2679) [client.exe]
+converting method System.Xml.XmlNamespaceManager:PushScope ()
+Method System.Xml.XmlNamespaceManager:PushScope () emitted at 0x1aced38 to 0x1acedd1 (code length 153) [client.exe]
+converting method Mono.Xml2.XmlTextReader:PushElementName (string,string,string)
+Method Mono.Xml2.XmlTextReader:PushElementName (string,string,string) emitted at 0x1acede0 to 0x1acef40 (code length 352) [client.exe]
+converting method Mono.Xml2.XmlTextReader/TagName:.ctor (string,string,string)
+Method Mono.Xml2.XmlTextReader/TagName:.ctor (string,string,string) emitted at 0x1acef50 to 0x1acefd0 (code length 128) [client.exe]
+converting method System.Xml.XmlParserContext:PushScope ()
+Method System.Xml.XmlParserContext:PushScope () emitted at 0x1acefd0 to 0x1acf0c1 (code length 241) [client.exe]
+converting method Mono.Xml2.XmlTextReader:Expect (int)
+Method Mono.Xml2.XmlTextReader:Expect (int) emitted at 0x1acf0c8 to 0x1acf22f (code length 359) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadChar ()
+Method Mono.Xml2.XmlTextReader:ReadChar () emitted at 0x1acf240 to 0x1acf2b7 (code length 119) [client.exe]
+converting method System.Xml.XmlNamespaceManager:get_DefaultNamespace ()
+Method System.Xml.XmlNamespaceManager:get_DefaultNamespace () emitted at 0x1acf2b8 to 0x1acf2df (code length 39) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_NamespaceURI ()
+Method Mono.Xml2.XmlTextReader:get_NamespaceURI () emitted at 0x1acf2e0 to 0x1acf2f1 (code length 17) [client.exe]
+converting method Mono.Xml2.XmlTextReader:MoveToElement ()
+Method Mono.Xml2.XmlTextReader:MoveToElement () emitted at 0x1acf2f8 to 0x1acf36a (code length 114) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_IsEmptyElement ()
+Method Mono.Xml2.XmlTextReader:get_IsEmptyElement () emitted at 0x1acf370 to 0x1acf382 (code length 18) [client.exe]
+converting method System.Xml.XmlTextReader:get_Name ()
+Method System.Xml.XmlTextReader:get_Name () emitted at 0x1acf388 to 0x1acf3b0 (code length 40) [client.exe]
+converting method System.Xml.XmlTextReader:get_Current ()
+Method System.Xml.XmlTextReader:get_Current () emitted at 0x1acf3c0 to 0x1acf3f9 (code length 57) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_Name ()
+Method Mono.Xml2.XmlTextReader:get_Name () emitted at 0x1acf400 to 0x1acf411 (code length 17) [client.exe]
+converting method System.Xml.XmlReader:get_HasAttributes ()
+Method System.Xml.XmlReader:get_HasAttributes () emitted at 0x1acf418 to 0x1acf43c (code length 36) [client.exe]
+converting method System.Xml.XmlTextReader:get_AttributeCount ()
+Method System.Xml.XmlTextReader:get_AttributeCount () emitted at 0x1acf440 to 0x1acf468 (code length 40) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_AttributeCount ()
+Method Mono.Xml2.XmlTextReader:get_AttributeCount () emitted at 0x1acf468 to 0x1acf476 (code length 14) [client.exe]
+converting method System.Xml.XmlTextReader:MoveToElement ()
+Method System.Xml.XmlTextReader:MoveToElement () emitted at 0x1acf478 to 0x1acf4d7 (code length 95) [client.exe]
+converting method System.Xml.XmlTextReader:get_IsEmptyElement ()
+Method System.Xml.XmlTextReader:get_IsEmptyElement () emitted at 0x1acf4d8 to 0x1acf503 (code length 43) [client.exe]
+converting method System.Xml.XmlReader:ReadStartElement ()
+Method System.Xml.XmlReader:ReadStartElement () emitted at 0x1acf508 to 0x1acf5c0 (code length 184) [client.exe]
+converting method System.Xml.XmlTextReader:get_LocalName ()
+Method System.Xml.XmlTextReader:get_LocalName () emitted at 0x1acf5d0 to 0x1acf5f8 (code length 40) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_LocalName ()
+Method Mono.Xml2.XmlTextReader:get_LocalName () emitted at 0x1acf5f8 to 0x1acf609 (code length 17) [client.exe]
+converting method System.Configuration.SectionGroupInfo:ReadConfig (System.Configuration.Configuration,string,System.Xml.XmlReader)
+Method System.Configuration.SectionGroupInfo:ReadConfig (System.Configuration.Configuration,string,System.Xml.XmlReader) emitted at 0x1acf610 to 0x1acfb57 (code length 1351) [client.exe]
+converting method System.Configuration.Configuration:get_ConfigHost ()
+Method System.Configuration.Configuration:get_ConfigHost () emitted at 0x1acfbc8 to 0x1acfbe7 (code length 31) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadAttributes (bool)
+Method Mono.Xml2.XmlTextReader:ReadAttributes (bool) emitted at 0x1acfbe8 to 0x1acfdd8 (code length 496) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ExpectAfterWhitespace (char)
+Method Mono.Xml2.XmlTextReader:ExpectAfterWhitespace (char) emitted at 0x1acfde8 to 0x1acff3f (code length 343) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadAttributeValueTokens (int)
+Method Mono.Xml2.XmlTextReader:ReadAttributeValueTokens (int) emitted at 0x1acff40 to 0x1ad0434 (code length 1268) [client.exe]
+converting method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:FillXmlns ()
+Method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:FillXmlns () emitted at 0x1ad0498 to 0x1ad0539 (code length 161) [client.exe]
+converting method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:FillNamespace ()
+Method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:FillNamespace () emitted at 0x1ad0540 to 0x1ad0618 (code length 216) [client.exe]
+converting method Mono.Xml2.XmlTextReader:MoveToAttribute (int)
+Method Mono.Xml2.XmlTextReader:MoveToAttribute (int) emitted at 0x1ad0618 to 0x1ad06b4 (code length 156) [client.exe]
+converting method Mono.Xml2.XmlTextReader:CheckCurrentStateUpdate ()
+Method Mono.Xml2.XmlTextReader:CheckCurrentStateUpdate () emitted at 0x1ad06b8 to 0x1ad0713 (code length 91) [client.exe]
+converting method System.Configuration.SectionInfo:.ctor ()
+Method System.Configuration.SectionInfo:.ctor () emitted at 0x1ad0718 to 0x1ad0741 (code length 41) [client.exe]
+converting method System.Configuration.SectionInfo:ReadConfig (System.Configuration.Configuration,string,System.Xml.XmlReader)
+Method System.Configuration.SectionInfo:ReadConfig (System.Configuration.Configuration,string,System.Xml.XmlReader) emitted at 0x1ad0748 to 0x1ad0d6e (code length 1574) [client.exe]
+converting method System.Xml.XmlTextReader:MoveToNextAttribute ()
+Method System.Xml.XmlTextReader:MoveToNextAttribute () emitted at 0x1ad0dc0 to 0x1ad0e3d (code length 125) [client.exe]
+converting method Mono.Xml2.XmlTextReader:MoveToNextAttribute ()
+Method Mono.Xml2.XmlTextReader:MoveToNextAttribute () emitted at 0x1ad0e40 to 0x1ad0ed1 (code length 145) [client.exe]
+converting method System.Xml.XmlTextReader:get_Value ()
+Method System.Xml.XmlTextReader:get_Value () emitted at 0x1ad0ed8 to 0x1ad0f00 (code length 40) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_Value ()
+Method Mono.Xml2.XmlTextReader:get_Value () emitted at 0x1ad0f00 to 0x1ad0f44 (code length 68) [client.exe]
+converting method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:get_Value ()
+Method Mono.Xml2.XmlTextReader/XmlAttributeTokenInfo:get_Value () emitted at 0x1ad2000 to 0x1ad21ef (code length 495) [client.exe]
+converting method Mono.Xml2.XmlTextReader/XmlTokenInfo:get_Value ()
+Method Mono.Xml2.XmlTextReader/XmlTokenInfo:get_Value () emitted at 0x1ad21f0 to 0x1ad22dd (code length 237) [client.exe]
+converting method System.Xml.XmlTextReader:Skip ()
+Method System.Xml.XmlTextReader:Skip () emitted at 0x1ad2310 to 0x1ad2329 (code length 25) [client.exe]
+converting method System.Xml.XmlReader:Skip ()
+Method System.Xml.XmlReader:Skip () emitted at 0x1ad2338 to 0x1ad2418 (code length 224) [client.exe]
+converting method System.Xml.XmlNamespaceManager:PopScope ()
+Method System.Xml.XmlNamespaceManager:PopScope () emitted at 0x1ad2418 to 0x1ad24b3 (code length 155) [client.exe]
+converting method System.Xml.XmlParserContext:PopScope ()
+Method System.Xml.XmlParserContext:PopScope () emitted at 0x1ad24b8 to 0x1ad25bf (code length 263) [client.exe]
+converting method System.Configuration.SectionGroupInfo:get_Groups ()
+Method System.Configuration.SectionGroupInfo:get_Groups () emitted at 0x1ad25c0 to 0x1ad25e0 (code length 32) [client.exe]
+converting method System.Configuration.ConfigInfoCollection:get_Item (string)
+Method System.Configuration.ConfigInfoCollection:get_Item (string) emitted at 0x1ad25e0 to 0x1ad262d (code length 77) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:BaseGet (string)
+Method System.Collections.Specialized.NameObjectCollectionBase:BaseGet (string) emitted at 0x1ad2640 to 0x1ad2671 (code length 49) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:FindFirstMatchedItem (string)
+Method System.Collections.Specialized.NameObjectCollectionBase:FindFirstMatchedItem (string) emitted at 0x1ad2680 to 0x1ad26de (code length 94) [client.exe]
+converting method System.StringComparer:GetHashCode (object)
+Method System.StringComparer:GetHashCode (object) emitted at 0x1ad26e0 to 0x1ad2780 (code length 160) [client.exe]
+converting method System.OrdinalComparer:GetHashCode (string)
+Method System.OrdinalComparer:GetHashCode (string) emitted at 0x1ad2780 to 0x1ad27ec (code length 108) [client.exe]
+converting method System.Configuration.SectionGroupInfo:get_Sections ()
+Method System.Configuration.SectionGroupInfo:get_Sections () emitted at 0x1ad27f8 to 0x1ad2818 (code length 32) [client.exe]
+converting method System.Configuration.SectionGroupInfo:AddChild (System.Configuration.ConfigInfo)
+Method System.Configuration.SectionGroupInfo:AddChild (System.Configuration.ConfigInfo) emitted at 0x1ad2818 to 0x1ad2955 (code length 317) [client.exe]
+converting method System.Configuration.ConfigInfoCollection:set_Item (string,System.Configuration.ConfigInfo)
+Method System.Configuration.ConfigInfoCollection:set_Item (string,System.Configuration.ConfigInfo) emitted at 0x1ad2968 to 0x1ad2985 (code length 29) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:BaseSet (string,object)
+Method System.Collections.Specialized.NameObjectCollectionBase:BaseSet (string,object) emitted at 0x1ad2998 to 0x1ad2a3c (code length 164) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:BaseAdd (string,object)
+Method System.Collections.Specialized.NameObjectCollectionBase:BaseAdd (string,object) emitted at 0x1ad2a48 to 0x1ad2b44 (code length 252) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase/_Item:.ctor (string,object)
+Method System.Collections.Specialized.NameObjectCollectionBase/_Item:.ctor (string,object) emitted at 0x1ad2b50 to 0x1ad2bad (code length 93) [client.exe]
+converting method System.Collections.Hashtable:Rehash ()
+Method System.Collections.Hashtable:Rehash () emitted at 0x1ad2bb0 to 0x1ad2dd4 (code length 548) [client.exe]
+converting method System.Enum:Parse (System.Type,string)
+Method System.Enum:Parse (System.Type,string) emitted at 0x1ad2dd8 to 0x1ad2df5 (code length 29) [client.exe]
+converting method System.Enum:Parse (System.Type,string,bool)
+Method System.Enum:Parse (System.Type,string,bool) emitted at 0x1ad2e08 to 0x1ad2fac (code length 420) [client.exe]
+converting method System.Type:get_IsEnum ()
+Method System.Type:get_IsEnum () emitted at 0x1ad2fb8 to 0x1ad2fdc (code length 36) [client.exe]
+converting method System.MonoType:IsSubclassOf (System.Type)
+Method System.MonoType:IsSubclassOf (System.Type) emitted at 0x1ad2fe0 to 0x1ad3034 (code length 84) [client.exe]
+converting method System.Type:IsSubclassOf (System.Type)
+Method System.Type:IsSubclassOf (System.Type) emitted at 0x1ad3040 to 0x1ad30ed (code length 173) [client.exe]
+converting method (wrapper managed-to-native) System.Type:type_is_subtype_of (System.Type,System.Type,bool)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.Type:type_is_subtype_of (System.Type,System.Type,bool) emitted at 0x1ad3100 to 0x1ad3182 (code length 130) [client.exe]
+converting gshared method System.Enum:Parse<object> (System.Type,string,bool,object&)
+Method System.Enum:Parse<TEnum> (System.Type,string,bool,TEnum&) emitted at 0x1ad3188 to 0x1ad3926 (code length 1950) [client.exe]
+converting method System.MonoEnumInfo:GetInfo (System.Type,System.MonoEnumInfo&)
+converting method System.MonoEnumInfo:.cctor ()
+Method System.MonoEnumInfo:.cctor () emitted at 0x1ad3a68 to 0x1ad3b26 (code length 190) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<System.Type, System.MonoEnumInfo>:.ctor ()
+Method System.Collections.Generic.Dictionary`2<System.Type, System.MonoEnumInfo>:.ctor () emitted at 0x1ad3b38 to 0x1ad3b55 (code length 29) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<System.Type, System.MonoEnumInfo>:Init (int,System.Collections.Generic.IEqualityComparer`1<System.Type>)
+Method System.Collections.Generic.Dictionary`2<System.Type, System.MonoEnumInfo>:Init (int,System.Collections.Generic.IEqualityComparer`1<System.Type>) emitted at 0x1ad3b68 to 0x1ad3c44 (code length 220) [client.exe]
+converting method (wrapper alloc) object:Alloc (intptr)
+Method (wrapper alloc) object:Alloc (intptr) emitted at 0x1ad3c70 to 0x1ad3cf5 (code length 133) [client.exe]
+converting gshared method System.Collections.Generic.EqualityComparer`1/DefaultComparer<System.Type>:.ctor ()
+Method System.Collections.Generic.EqualityComparer`1/DefaultComparer:.ctor () emitted at 0x1ad3cf8 to 0x1ad3d2d (code length 53) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<System.Type, System.MonoEnumInfo>:InitArrays (int)
+Method System.Collections.Generic.Dictionary`2<System.Type, System.MonoEnumInfo>:InitArrays (int) emitted at 0x1ad3d40 to 0x1ad3e87 (code length 327) [client.exe]
+Method System.MonoEnumInfo:GetInfo (System.Type,System.MonoEnumInfo&) emitted at 0x1ad3e88 to 0x1ad41c5 (code length 829) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<System.Type, System.MonoEnumInfo>:TryGetValue (System.Type,System.MonoEnumInfo&)
+Method System.Collections.Generic.Dictionary`2<System.Type, System.MonoEnumInfo>:TryGetValue (System.Type,System.MonoEnumInfo&) emitted at 0x1ad4210 to 0x1ad44eb (code length 731) [client.exe]
+converting gshared method System.Collections.Generic.EqualityComparer`1/DefaultComparer<System.Type>:GetHashCode (System.Type)
+Method System.Collections.Generic.EqualityComparer`1/DefaultComparer:GetHashCode (T) emitted at 0x1ad44f0 to 0x1ad4512 (code length 34) [client.exe]
+converting method System.Type:GetHashCode ()
+Method System.Type:GetHashCode () emitted at 0x1ad4518 to 0x1ad456a (code length 82) [client.exe]
+converting method (wrapper managed-to-native) System.MonoEnumInfo:get_enum_info (System.Type,System.MonoEnumInfo&)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoEnumInfo:get_enum_info (System.Type,System.MonoEnumInfo&) emitted at 0x1ad4570 to 0x1ad45de (code length 110) [client.exe]
+converting method System.Enum:GetUnderlyingType (System.Type)
+Method System.Enum:GetUnderlyingType (System.Type) emitted at 0x1ad45e0 to 0x1ad4694 (code length 180) [client.exe]
+converting method (wrapper managed-to-native) System.Enum:get_underlying_type (System.Type)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Enum:get_underlying_type (System.Type) emitted at 0x1ad46a0 to 0x1ad4716 (code length 118) [client.exe]
+converting method System.MonoEnumInfo:SortEnums (System.Type,System.Array,System.Array)
+Method System.MonoEnumInfo:SortEnums (System.Type,System.Array,System.Array) emitted at 0x1ad4718 to 0x1ad477d (code length 101) [client.exe]
+converting method System.Array:Sort (System.Array,System.Array,System.Collections.IComparer)
+Method System.Array:Sort (System.Array,System.Array,System.Collections.IComparer) emitted at 0x1ad4790 to 0x1ad48a4 (code length 276) [client.exe]
+converting method System.Array:SortImpl (System.Array,System.Array,int,int,System.Collections.IComparer)
+Method System.Array:SortImpl (System.Array,System.Array,int,int,System.Collections.IComparer) emitted at 0x1ad48c0 to 0x1ad52ab (code length 2539) [client.exe]
+converting method System.Array:qsort (System.Array,System.Array,int,int,System.Collections.IComparer)
+Method System.Array:qsort (System.Array,System.Array,int,int,System.Collections.IComparer) emitted at 0x1ad53d0 to 0x1ad5a31 (code length 1633) [client.exe]
+converting method System.MonoEnumInfo/IntComparer:Compare (object,object)
+Method System.MonoEnumInfo/IntComparer:Compare (object,object) emitted at 0x1ad5a50 to 0x1ad5ad4 (code length 132) [client.exe]
+converting method System.MonoEnumInfo:.ctor (System.MonoEnumInfo)
+Method System.MonoEnumInfo:.ctor (System.MonoEnumInfo) emitted at 0x1ad5ad8 to 0x1ad5b7d (code length 165) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<System.Type, System.MonoEnumInfo>:set_Item (System.Type,System.MonoEnumInfo)
+Method System.Collections.Generic.Dictionary`2<System.Type, System.MonoEnumInfo>:set_Item (System.Type,System.MonoEnumInfo) emitted at 0x1ad5b80 to 0x1ad5f0d (code length 909) [client.exe]
+converting method System.Enum:FindName (System.Collections.Generic.IDictionary`2<string, int>,string[],string,bool)
+Method System.Enum:FindName (System.Collections.Generic.IDictionary`2<string, int>,string[],string,bool) emitted at 0x1ad5f20 to 0x1ad601f (code length 255) [client.exe]
+converting method System.Array:GetValue (int)
+Method System.Array:GetValue (int) emitted at 0x1ad6030 to 0x1ad6134 (code length 260) [client.exe]
+converting method System.Array:GetUpperBound (int)
+Method System.Array:GetUpperBound (int) emitted at 0x1ad6140 to 0x1ad6175 (code length 53) [client.exe]
+converting method (wrapper managed-to-native) System.Array:GetLowerBound (System.Array,int)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Array:GetLowerBound (System.Array,int) emitted at 0x1ad6190 to 0x1ad6228 (code length 152) [client.exe]
+converting method (wrapper managed-to-native) System.Array:GetLength (System.Array,int)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Array:GetLength (System.Array,int) emitted at 0x1ad6228 to 0x1ad62c0 (code length 152) [client.exe]
+converting gshared method System.Collections.Generic.EqualityComparer`1/DefaultComparer<System.Type>:Equals (System.Type,System.Type)
+Method System.Collections.Generic.EqualityComparer`1/DefaultComparer:Equals (T,T) emitted at 0x1ad62c0 to 0x1ad62f0 (code length 48) [client.exe]
+converting method System.Type:Equals (object)
+Method System.Type:Equals (object) emitted at 0x1ad62f0 to 0x1ad6369 (code length 121) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadEndTag ()
+Method Mono.Xml2.XmlTextReader:ReadEndTag () emitted at 0x1ad6370 to 0x1ad6573 (code length 515) [client.exe]
+converting method Mono.Xml2.XmlTextReader:Expect (string)
+Method Mono.Xml2.XmlTextReader:Expect (string) emitted at 0x1ad6580 to 0x1ad665f (code length 223) [client.exe]
+converting method System.Xml.XmlReader:ReadEndElement ()
+Method System.Xml.XmlReader:ReadEndElement () emitted at 0x1ad6660 to 0x1ad6718 (code length 184) [client.exe]
+converting method System.Array:swap (System.Array,System.Array,int,int)
+Method System.Array:swap (System.Array,System.Array,int,int) emitted at 0x1ad6718 to 0x1ad67e2 (code length 202) [client.exe]
+converting method System.Configuration.SectionGroupInfo:ReadRootData (System.Xml.XmlReader,System.Configuration.Configuration,bool)
+Method System.Configuration.SectionGroupInfo:ReadRootData (System.Xml.XmlReader,System.Configuration.Configuration,bool) emitted at 0x1ad67e8 to 0x1ad6821 (code length 57) [client.exe]
+converting method System.Configuration.SectionGroupInfo:ReadContent (System.Xml.XmlReader,System.Configuration.Configuration,bool,bool)
+Method System.Configuration.SectionGroupInfo:ReadContent (System.Xml.XmlReader,System.Configuration.Configuration,bool,bool) emitted at 0x1ad6830 to 0x1ad6b61 (code length 817) [client.exe]
+converting method System.Configuration.SectionGroupInfo:GetConfigInfo (System.Xml.XmlReader,System.Configuration.SectionGroupInfo)
+Method System.Configuration.SectionGroupInfo:GetConfigInfo (System.Xml.XmlReader,System.Configuration.SectionGroupInfo) emitted at 0x1ad6bb0 to 0x1ad6e65 (code length 693) [client.exe]
+converting method System.StringComparer:Equals (object,object)
+Method System.StringComparer:Equals (object,object) emitted at 0x1ad6e78 to 0x1ad6f2e (code length 182) [client.exe]
+converting method System.OrdinalComparer:Equals (string,string)
+Method System.OrdinalComparer:Equals (string,string) emitted at 0x1ad6f30 to 0x1ad6f78 (code length 72) [client.exe]
+converting method System.Configuration.SectionInfo:ReadData (System.Configuration.Configuration,System.Xml.XmlReader,bool)
+Method System.Configuration.SectionInfo:ReadData (System.Configuration.Configuration,System.Xml.XmlReader,bool) emitted at 0x1ad6f78 to 0x1ad7244 (code length 716) [client.exe]
+converting method System.Configuration.InternalConfigurationHost:IsDefinitionAllowed (string,System.Configuration.ConfigurationAllowDefinition,System.Configuration.ConfigurationAllowExeDefinition)
+Method System.Configuration.InternalConfigurationHost:IsDefinitionAllowed (string,System.Configuration.ConfigurationAllowDefinition,System.Configuration.ConfigurationAllowExeDefinition) emitted at 0x1ad7268 to 0x1ad72e7 (code length 127) [client.exe]
+converting method System.Configuration.Configuration:GetSectionXml (System.Configuration.SectionInfo)
+Method System.Configuration.Configuration:GetSectionXml (System.Configuration.SectionInfo) emitted at 0x1ad72e8 to 0x1ad7329 (code length 65) [client.exe]
+converting method object:GetHashCode ()
+Method object:GetHashCode () emitted at 0x1ad7330 to 0x1ad7349 (code length 25) [client.exe]
+converting method (wrapper managed-to-native) object:InternalGetHashCode (object)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) object:InternalGetHashCode (object) emitted at 0x1ad7358 to 0x1ad73ce (code length 118) [client.exe]
+converting method System.Xml.XmlReader:ReadOuterXml ()
+Method System.Xml.XmlReader:ReadOuterXml () emitted at 0x1ad73d0 to 0x1ad74ca (code length 250) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.StringWriter:.ctor ()
+Method (wrapper remoting-invoke-with-check) System.IO.StringWriter:.ctor () emitted at 0x1ad74e8 to 0x1ad7524 (code length 60) [client.exe]
+converting method System.IO.StringWriter:.ctor ()
+Method System.IO.StringWriter:.ctor () emitted at 0x1ad7540 to 0x1ad757d (code length 61) [client.exe]
+converting method System.IO.StringWriter:.ctor (System.Text.StringBuilder)
+Method System.IO.StringWriter:.ctor (System.Text.StringBuilder) emitted at 0x1ad7590 to 0x1ad75ad (code length 29) [client.exe]
+converting method System.IO.StringWriter:.ctor (System.Text.StringBuilder,System.IFormatProvider)
+Method System.IO.StringWriter:.ctor (System.Text.StringBuilder,System.IFormatProvider) emitted at 0x1ad75c0 to 0x1ad765c (code length 156) [client.exe]
+converting method System.Xml.XmlTextWriter:.ctor (System.IO.TextWriter)
+Method System.Xml.XmlTextWriter:.ctor (System.IO.TextWriter) emitted at 0x1ad7660 to 0x1ad7804 (code length 420) [client.exe]
+converting method System.Xml.XmlTextWriter:.cctor ()
+Method System.Xml.XmlTextWriter:.cctor () emitted at 0x1ad7810 to 0x1ad7847 (code length 55) [client.exe]
+converting method System.IO.StringWriter:get_Encoding ()
+Method System.IO.StringWriter:get_Encoding () emitted at 0x1ad7848 to 0x1ad7856 (code length 14) [client.exe]
+converting method System.Text.Encoding:get_Unicode ()
+Method System.Text.Encoding:get_Unicode () emitted at 0x1ad7858 to 0x1ad78e4 (code length 140) [client.exe]
+converting method System.Text.UnicodeEncoding:.ctor (bool,bool)
+Method System.Text.UnicodeEncoding:.ctor (bool,bool) emitted at 0x1ad78f0 to 0x1ad7911 (code length 33) [client.exe]
+converting method System.Xml.XmlTextWriter:Initialize (System.IO.TextWriter)
+Method System.Xml.XmlTextWriter:Initialize (System.IO.TextWriter) emitted at 0x1ad7918 to 0x1ad7d5b (code length 1091) [client.exe]
+converting method System.IO.TextWriter:get_NewLine ()
+Method System.IO.TextWriter:get_NewLine () emitted at 0x1ad7d60 to 0x1ad7d7d (code length 29) [client.exe]
+converting method System.Xml.XmlWriter:WriteNode (System.Xml.XmlReader,bool)
+Method System.Xml.XmlWriter:WriteNode (System.Xml.XmlReader,bool) emitted at 0x1ad7d80 to 0x1ad8238 (code length 1208) [client.exe]
+converting method System.Xml.XmlTextReader:get_Prefix ()
+Method System.Xml.XmlTextReader:get_Prefix () emitted at 0x1ad82d8 to 0x1ad8300 (code length 40) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_Prefix ()
+Method Mono.Xml2.XmlTextReader:get_Prefix () emitted at 0x1ad8300 to 0x1ad8311 (code length 17) [client.exe]
+converting method System.Xml.XmlTextReader:get_NamespaceURI ()
+Method System.Xml.XmlTextReader:get_NamespaceURI () emitted at 0x1ad8318 to 0x1ad8340 (code length 40) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteStartElement (string,string,string)
+Method System.Xml.XmlTextWriter:WriteStartElement (string,string,string) emitted at 0x1ad8340 to 0x1ad890b (code length 1483) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteIndent ()
+Method System.Xml.XmlTextWriter:WriteIndent () emitted at 0x1ad8958 to 0x1ad8975 (code length 29) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteIndentCore (int,bool)
+Method System.Xml.XmlTextWriter:WriteIndentCore (int,bool) emitted at 0x1ad8988 to 0x1ad8a44 (code length 188) [client.exe]
+converting method System.IO.StringWriter:Write (string)
+Method System.IO.StringWriter:Write (string) emitted at 0x1ad8a48 to 0x1ad8abc (code length 116) [client.exe]
+converting method System.Xml.XmlTextWriter:get_XmlLang ()
+Method System.Xml.XmlTextWriter:get_XmlLang () emitted at 0x1ad8ac0 to 0x1ad8b05 (code length 69) [client.exe]
+converting method System.Xml.XmlTextWriter:get_XmlSpace ()
+Method System.Xml.XmlTextWriter:get_XmlSpace () emitted at 0x1ad8b08 to 0x1ad8b4d (code length 69) [client.exe]
+converting method System.Xml.XmlNamespaceManager:LookupNamespace (string,bool)
+Method System.Xml.XmlNamespaceManager:LookupNamespace (string,bool) emitted at 0x1ad8b50 to 0x1ad8b7d (code length 45) [client.exe]
+converting method System.Xml.XmlNamespaceManager:LookupNamespace (string)
+Method System.Xml.XmlNamespaceManager:LookupNamespace (string) emitted at 0x1ad8b80 to 0x1ad8cbc (code length 316) [client.exe]
+converting method System.Xml.XmlTextReader:get_Depth ()
+Method System.Xml.XmlTextReader:get_Depth () emitted at 0x1ad8cc8 to 0x1ad8d42 (code length 122) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_Depth ()
+Method Mono.Xml2.XmlTextReader:get_Depth () emitted at 0x1ad8d48 to 0x1ad8d98 (code length 80) [client.exe]
+converting method System.Text.StringBuilder:CopyTo (int,char[],int,int)
+Method System.Text.StringBuilder:CopyTo (int,char[],int,int) emitted at 0x1ad8d98 to 0x1ad8e8f (code length 247) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteWhitespace (string)
+Method System.Xml.XmlTextWriter:WriteWhitespace (string) emitted at 0x1ad8e90 to 0x1ad8f8c (code length 252) [client.exe]
+converting method System.Xml.XmlChar:IndexOfNonWhitespace (string)
+Method System.Xml.XmlChar:IndexOfNonWhitespace (string) emitted at 0x1ad8fa8 to 0x1ad9005 (code length 93) [client.exe]
+converting method System.Xml.XmlTextWriter:ShiftStateTopLevel (string,bool,bool,bool)
+Method System.Xml.XmlTextWriter:ShiftStateTopLevel (string,bool,bool,bool) emitted at 0x1ad9008 to 0x1ad90d9 (code length 209) [client.exe]
+converting method System.Xml.XmlTextWriter:CheckMixedContentState ()
+Method System.Xml.XmlTextWriter:CheckMixedContentState () emitted at 0x1ad9128 to 0x1ad9163 (code length 59) [client.exe]
+converting method System.Xml.XmlTextWriter:CloseStartElement ()
+Method System.Xml.XmlTextWriter:CloseStartElement () emitted at 0x1ad9168 to 0x1ad91ad (code length 69) [client.exe]
+converting method System.Xml.XmlTextWriter:CloseStartElementCore ()
+Method System.Xml.XmlTextWriter:CloseStartElementCore () emitted at 0x1ad91c0 to 0x1ad947b (code length 699) [client.exe]
+converting method System.IO.StringWriter:Write (char)
+Method System.IO.StringWriter:Write (char) emitted at 0x1ad9488 to 0x1ad94fc (code length 116) [client.exe]
+converting method System.Xml.XmlTextReader:MoveToAttribute (int)
+Method System.Xml.XmlTextReader:MoveToAttribute (int) emitted at 0x1ad9500 to 0x1ad9552 (code length 82) [client.exe]
+converting method System.Xml.XmlWriter:WriteAttribute (System.Xml.XmlReader,bool)
+Method System.Xml.XmlWriter:WriteAttribute (System.Xml.XmlReader,bool) emitted at 0x1ad9558 to 0x1ad9668 (code length 272) [client.exe]
+converting method System.Xml.XmlTextReader:get_IsDefault ()
+Method System.Xml.XmlTextReader:get_IsDefault () emitted at 0x1ad9668 to 0x1ad9693 (code length 43) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_IsDefault ()
+Method Mono.Xml2.XmlTextReader:get_IsDefault () emitted at 0x1ad9698 to 0x1ad96a2 (code length 10) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteStartAttribute (string,string,string)
+Method System.Xml.XmlTextWriter:WriteStartAttribute (string,string,string) emitted at 0x1ad96a8 to 0x1ad9b44 (code length 1180) [client.exe]
+converting method System.Xml.XmlTextReader:ReadAttributeValue ()
+Method System.Xml.XmlTextReader:ReadAttributeValue () emitted at 0x1ad9b60 to 0x1ad9bea (code length 138) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadAttributeValue ()
+Method Mono.Xml2.XmlTextReader:ReadAttributeValue () emitted at 0x1ad9bf0 to 0x1ad9cc1 (code length 209) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteString (string)
+Method System.Xml.XmlTextWriter:WriteString (string) emitted at 0x1ad9cc8 to 0x1ad9d2c (code length 100) [client.exe]
+converting method System.Xml.XmlTextWriter:ShiftStateContent (string,bool)
+Method System.Xml.XmlTextWriter:ShiftStateContent (string,bool) emitted at 0x1ad9d38 to 0x1ad9dfc (code length 196) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteEscapedString (string,bool)
+Method System.Xml.XmlTextWriter:WriteEscapedString (string,bool) emitted at 0x1ad9e40 to 0x1ad9ee9 (code length 169) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteCheckedString (string)
+Method System.Xml.XmlTextWriter:WriteCheckedString (string) emitted at 0x1ad9f10 to 0x1ad9f8e (code length 126) [client.exe]
+converting method System.Xml.XmlChar:IndexOfInvalid (string,bool)
+Method System.Xml.XmlChar:IndexOfInvalid (string,bool) emitted at 0x1ad9fa0 to 0x1ada0a1 (code length 257) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteEndAttribute ()
+Method System.Xml.XmlTextWriter:WriteEndAttribute () emitted at 0x1ada0a8 to 0x1ada50d (code length 1125) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteEndElement ()
+Method System.Xml.XmlTextWriter:WriteEndElement () emitted at 0x1ada510 to 0x1ada529 (code length 25) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteEndElementCore (bool)
+Method System.Xml.XmlTextWriter:WriteEndElementCore (bool) emitted at 0x1ada538 to 0x1ada71b (code length 483) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteFullEndElement ()
+Method System.Xml.XmlTextWriter:WriteFullEndElement () emitted at 0x1ada738 to 0x1ada751 (code length 25) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteIndentEndElement ()
+Method System.Xml.XmlTextWriter:WriteIndentEndElement () emitted at 0x1ada758 to 0x1ada775 (code length 29) [client.exe]
+converting method System.IO.StringWriter:ToString ()
+Method System.IO.StringWriter:ToString () emitted at 0x1ada778 to 0x1ada792 (code length 26) [client.exe]
+converting method System.Configuration.Configuration:SetSectionXml (System.Configuration.SectionInfo,string)
+Method System.Configuration.Configuration:SetSectionXml (System.Configuration.SectionInfo,string) emitted at 0x1ada798 to 0x1ada7bb (code length 35) [client.exe]
+converting method System.Configuration.SectionGroupInfo:ReadData (System.Configuration.Configuration,System.Xml.XmlReader,bool)
+Method System.Configuration.SectionGroupInfo:ReadData (System.Configuration.Configuration,System.Xml.XmlReader,bool) emitted at 0x1ada7c0 to 0x1ada853 (code length 147) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadDeclaration ()
+Method Mono.Xml2.XmlTextReader:ReadDeclaration () emitted at 0x1ada858 to 0x1ada938 (code length 224) [client.exe]
+converting method Mono.Xml2.XmlTextReader:ReadComment ()
+Method Mono.Xml2.XmlTextReader:ReadComment () emitted at 0x1ada960 to 0x1adaad4 (code length 372) [client.exe]
+converting method System.Xml.XmlTextWriter:WriteComment (string)
+Method System.Xml.XmlTextWriter:WriteComment (string) emitted at 0x1adaad8 to 0x1adac57 (code length 383) [client.exe]
+converting method System.Xml.XmlTextWriter/StringUtil:IndexOf (string,string)
+converting method System.Xml.XmlTextWriter/StringUtil:.cctor ()
+Method System.Xml.XmlTextWriter/StringUtil:.cctor () emitted at 0x1adac68 to 0x1adac98 (code length 48) [client.exe]
+Method System.Xml.XmlTextWriter/StringUtil:IndexOf (string,string) emitted at 0x1adac98 to 0x1adacbb (code length 35) [client.exe]
+converting method System.Globalization.CompareInfo:IndexOf (string,string)
+Method System.Globalization.CompareInfo:IndexOf (string,string) emitted at 0x1adacc0 to 0x1adace8 (code length 40) [client.exe]
+converting method System.Globalization.CompareInfo:IndexOf (string,string,int,int,System.Globalization.CompareOptions)
+Method System.Globalization.CompareInfo:IndexOf (string,string,int,int,System.Globalization.CompareOptions) emitted at 0x1adace8 to 0x1adae64 (code length 380) [client.exe]
+converting method System.Globalization.CompareInfo:internal_index_switch (string,int,int,string,System.Globalization.CompareOptions,bool)
+Method System.Globalization.CompareInfo:internal_index_switch (string,int,int,string,System.Globalization.CompareOptions,bool) emitted at 0x1adae70 to 0x1adaee8 (code length 120) [client.exe]
+converting method System.Globalization.CompareInfo:internal_index_managed (string,int,int,string,System.Globalization.CompareOptions,bool)
+Method System.Globalization.CompareInfo:internal_index_managed (string,int,int,string,System.Globalization.CompareOptions,bool) emitted at 0x1adaf00 to 0x1adaf68 (code length 104) [client.exe]
+converting method Mono.Globalization.Unicode.SimpleCollator:IndexOf (string,string,int,int,System.Globalization.CompareOptions)
+Method Mono.Globalization.Unicode.SimpleCollator:IndexOf (string,string,int,int,System.Globalization.CompareOptions) emitted at 0x1adaf80 to 0x1adb331 (code length 945) [client.exe]
+converting method Mono.Globalization.Unicode.SimpleCollator:QuickIndexOf (string,string,int,int,bool&)
+Method Mono.Globalization.Unicode.SimpleCollator:QuickIndexOf (string,string,int,int,bool&) emitted at 0x1adb380 to 0x1adb4f6 (code length 374) [client.exe]
+converting method System.Array:CopyTo (System.Array,int)
+Method System.Array:CopyTo (System.Array,int) emitted at 0x1adb4f8 to 0x1adb728 (code length 560) [client.exe]
+converting method System.Xml.XmlReader:System.IDisposable.Dispose ()
+Method System.Xml.XmlReader:System.IDisposable.Dispose () emitted at 0x1adb728 to 0x1adb746 (code length 30) [client.exe]
+converting method System.Xml.XmlReader:Dispose (bool)
+Method System.Xml.XmlReader:Dispose (bool) emitted at 0x1adb748 to 0x1adb780 (code length 56) [client.exe]
+converting method System.Xml.XmlTextReader:Close ()
+Method System.Xml.XmlTextReader:Close () emitted at 0x1adb780 to 0x1adb7bc (code length 60) [client.exe]
+converting method Mono.Xml2.XmlTextReader:Close ()
+Method Mono.Xml2.XmlTextReader:Close () emitted at 0x1adb7c0 to 0x1adb820 (code length 96) [client.exe]
+converting method System.Xml.XmlStreamReader:Close ()
+Method System.Xml.XmlStreamReader:Close () emitted at 0x1adb820 to 0x1adb83a (code length 26) [client.exe]
+converting method System.Xml.XmlInputStream:Close ()
+Method System.Xml.XmlInputStream:Close () emitted at 0x1adb840 to 0x1adb85a (code length 26) [client.exe]
+converting method System.Configuration.Configuration:ResetModified ()
+Method System.Configuration.Configuration:ResetModified () emitted at 0x1adb860 to 0x1adba31 (code length 465) [client.exe]
+converting method System.Configuration.Configuration:get_Locations ()
+Method System.Configuration.Configuration:get_Locations () emitted at 0x1adba40 to 0x1adbb03 (code length 195) [client.exe]
+converting method System.Collections.ReadOnlyCollectionBase:GetEnumerator ()
+Method System.Collections.ReadOnlyCollectionBase:GetEnumerator () emitted at 0x1adbb08 to 0x1adbb25 (code length 29) [client.exe]
+converting method System.Configuration.SectionGroupInfo:ResetModified (System.Configuration.Configuration)
+Method System.Configuration.SectionGroupInfo:ResetModified (System.Configuration.Configuration) emitted at 0x1adbb28 to 0x1adbdb7 (code length 655) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:GetEnumerator ()
+Method System.Collections.Specialized.NameObjectCollectionBase:GetEnumerator () emitted at 0x1adbdb8 to 0x1adbde8 (code length 48) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase/_KeysEnumerator:.ctor (System.Collections.Specialized.NameObjectCollectionBase)
+Method System.Collections.Specialized.NameObjectCollectionBase/_KeysEnumerator:.ctor (System.Collections.Specialized.NameObjectCollectionBase) emitted at 0x1adbdf8 to 0x1adbe31 (code length 57) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase/_KeysEnumerator:MoveNext ()
+Method System.Collections.Specialized.NameObjectCollectionBase/_KeysEnumerator:MoveNext () emitted at 0x1adbe38 to 0x1adbe69 (code length 49) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:get_Count ()
+Method System.Collections.Specialized.NameObjectCollectionBase:get_Count () emitted at 0x1adbe70 to 0x1adbe8d (code length 29) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase/_KeysEnumerator:get_Current ()
+Method System.Collections.Specialized.NameObjectCollectionBase/_KeysEnumerator:get_Current () emitted at 0x1adbe90 to 0x1adbefd (code length 109) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:BaseGetKey (int)
+Method System.Collections.Specialized.NameObjectCollectionBase:BaseGetKey (int) emitted at 0x1adbf10 to 0x1adbf63 (code length 83) [client.exe]
+converting method System.Configuration.SectionInfo:ResetModified (System.Configuration.Configuration)
+Method System.Configuration.SectionInfo:ResetModified (System.Configuration.Configuration) emitted at 0x1adbf68 to 0x1adbfa2 (code length 58) [client.exe]
+converting method System.Configuration.Configuration:GetSectionInstance (System.Configuration.SectionInfo,bool)
+Method System.Configuration.Configuration:GetSectionInstance (System.Configuration.SectionInfo,bool) emitted at 0x1adbfb0 to 0x1adc41e (code length 1134) [client.exe]
+converting method System.Configuration.Configuration:FindLocationConfiguration (string,System.Configuration.Configuration)
+Method System.Configuration.Configuration:FindLocationConfiguration (string,System.Configuration.Configuration) emitted at 0x1adc480 to 0x1adc5da (code length 346) [client.exe]
+converting method string:Substring (int)
+Method string:Substring (int) emitted at 0x1adc610 to 0x1adc67c (code length 108) [client.exe]
+converting method string:StartsWith (string,System.StringComparison)
+Method string:StartsWith (string,System.StringComparison) emitted at 0x1adc680 to 0x1adc864 (code length 484) [client.exe]
+converting method string:StartsWithOrdinalUnchecked (string)
+Method string:StartsWithOrdinalUnchecked (string) emitted at 0x1adc8b0 to 0x1adc8f9 (code length 73) [client.exe]
+converting method System.Configuration.ConfigurationLocationCollection:FindBest (string)
+Method System.Configuration.ConfigurationLocationCollection:FindBest (string) emitted at 0x1adc900 to 0x1adcba1 (code length 673) [client.exe]
+converting method (wrapper managed-to-native) System.Configuration.InternalConfigurationHost:get_bundled_app_config ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Configuration.InternalConfigurationHost:get_bundled_app_config () emitted at 0x1adcbb0 to 0x1adcc1e (code length 110) [client.exe]
+converting method System.Array:Resize<int> (int[]&,int)
+Method System.Array:Resize<int> (int[]&,int) emitted at 0x1adcc20 to 0x1adcd48 (code length 296) [client.exe]
+converting method System.Text.DecoderExceptionFallback:get_MaxCharCount ()
+Method System.Text.DecoderExceptionFallback:get_MaxCharCount () emitted at 0x1adcd48 to 0x1adcd52 (code length 10) [client.exe]
+converting method System.Configuration.Configuration:GetSection (string)
+Method System.Configuration.Configuration:GetSection (string) emitted at 0x1adcd58 to 0x1adcecd (code length 373) [client.exe]
+converting method System.Configuration.Configuration:get_Sections ()
+Method System.Configuration.Configuration:get_Sections () emitted at 0x1adcf18 to 0x1adcf41 (code length 41) [client.exe]
+converting method System.Configuration.Configuration:get_RootSectionGroup ()
+Method System.Configuration.Configuration:get_RootSectionGroup () emitted at 0x1adcf50 to 0x1adcfbf (code length 111) [client.exe]
+converting method System.Configuration.ConfigurationSectionGroup:Initialize (System.Configuration.Configuration,System.Configuration.SectionGroupInfo)
+Method System.Configuration.ConfigurationSectionGroup:Initialize (System.Configuration.Configuration,System.Configuration.SectionGroupInfo) emitted at 0x1adcfd0 to 0x1add084 (code length 180) [client.exe]
+converting method System.Configuration.ConfigurationSectionGroup:get_Sections ()
+Method System.Configuration.ConfigurationSectionGroup:get_Sections () emitted at 0x1add088 to 0x1add110 (code length 136) [client.exe]
+converting method System.Configuration.ConfigurationSectionGroup:get_Config ()
+Method System.Configuration.ConfigurationSectionGroup:get_Config () emitted at 0x1add128 to 0x1add174 (code length 76) [client.exe]
+converting method System.Configuration.ConfigurationSectionCollection:.ctor (System.Configuration.Configuration,System.Configuration.SectionGroupInfo)
+Method System.Configuration.ConfigurationSectionCollection:.ctor (System.Configuration.Configuration,System.Configuration.SectionGroupInfo) emitted at 0x1add178 to 0x1add1ea (code length 114) [client.exe]
+converting method System.Configuration.ConfigurationSectionCollection:get_Item (string)
+Method System.Configuration.ConfigurationSectionCollection:get_Item (string) emitted at 0x1add1f0 to 0x1add2df (code length 239) [client.exe]
+converting method System.Configuration.SectionInfo:CreateInstance ()
+Method System.Configuration.SectionInfo:CreateInstance () emitted at 0x1add2e0 to 0x1add3ea (code length 266) [client.exe]
+converting method System.Configuration.ConfigInfo:CreateInstance ()
+Method System.Configuration.ConfigInfo:CreateInstance () emitted at 0x1add3f8 to 0x1add468 (code length 112) [client.exe]
+converting method System.Configuration.InternalConfigurationHost:GetConfigType (string,bool)
+Method System.Configuration.InternalConfigurationHost:GetConfigType (string,bool) emitted at 0x1add490 to 0x1add53c (code length 172) [client.exe]
+converting method System.Diagnostics.DiagnosticsConfigurationHandler:.ctor ()
+Method System.Diagnostics.DiagnosticsConfigurationHandler:.ctor () emitted at 0x1add558 to 0x1add833 (code length 731) [client.exe]
+converting method System.Configuration.DefaultSection:.cctor ()
+Method System.Configuration.DefaultSection:.cctor () emitted at 0x1add838 to 0x1add8d9 (code length 161) [client.exe]
+converting method System.Configuration.DefaultSection:.ctor ()
+Method System.Configuration.DefaultSection:.ctor () emitted at 0x1add8f8 to 0x1add900 (code length 8) [client.exe]
+converting method System.Configuration.ConfigurationSection:get_SectionInformation ()
+Method System.Configuration.ConfigurationSection:get_SectionInformation () emitted at 0x1add900 to 0x1add968 (code length 104) [client.exe]
+converting method System.Configuration.SectionInformation:.ctor ()
+Method System.Configuration.SectionInformation:.ctor () emitted at 0x1add978 to 0x1add9d8 (code length 96) [client.exe]
+converting method System.Configuration.Configuration:get_FilePath ()
+Method System.Configuration.Configuration:get_FilePath () emitted at 0x1add9d8 to 0x1adda11 (code length 57) [client.exe]
+converting method System.Configuration.InternalConfigurationHost:CreateDeprecatedConfigContext (string)
+Method System.Configuration.InternalConfigurationHost:CreateDeprecatedConfigContext (string) emitted at 0x1adda18 to 0x1adda22 (code length 10) [client.exe]
+converting method System.Configuration.ConfigurationElement:set_RawXml (string)
+Method System.Configuration.ConfigurationElement:set_RawXml (string) emitted at 0x1adda28 to 0x1adda6a (code length 66) [client.exe]
+converting method System.Configuration.DefaultSection:Reset (System.Configuration.ConfigurationElement)
+Method System.Configuration.DefaultSection:Reset (System.Configuration.ConfigurationElement) emitted at 0x1adda70 to 0x1adda89 (code length 25) [client.exe]
+converting method System.Configuration.ConfigurationElement:Reset (System.Configuration.ConfigurationElement)
+Method System.Configuration.ConfigurationElement:Reset (System.Configuration.ConfigurationElement) emitted at 0x1adda98 to 0x1addafb (code length 99) [client.exe]
+converting method System.Configuration.ConfigurationElement:InitializeDefault ()
+Method System.Configuration.ConfigurationElement:InitializeDefault () emitted at 0x1addb18 to 0x1addb20 (code length 8) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.IO.StringReader:.ctor (string)
+Method (wrapper remoting-invoke-with-check) System.IO.StringReader:.ctor (string) emitted at 0x1addb20 to 0x1addb5d (code length 61) [client.exe]
+converting method System.IO.StringReader:.ctor (string)
+Method System.IO.StringReader:.ctor (string) emitted at 0x1addb78 to 0x1addbf4 (code length 124) [client.exe]
+converting method ConfigXmlTextReader:.ctor (System.IO.TextReader,string)
+Method ConfigXmlTextReader:.ctor (System.IO.TextReader,string) emitted at 0x1addbf8 to 0x1addc74 (code length 124) [client.exe]
+converting method System.Configuration.DefaultSection:DeserializeSection (System.Xml.XmlReader)
+Method System.Configuration.DefaultSection:DeserializeSection (System.Xml.XmlReader) emitted at 0x1addc78 to 0x1addcc2 (code length 74) [client.exe]
+converting method System.IO.StringReader:Close ()
+Method System.IO.StringReader:Close () emitted at 0x1addcc8 to 0x1addce3 (code length 27) [client.exe]
+converting method System.IO.StringReader:Dispose (bool)
+Method System.IO.StringReader:Dispose (bool) emitted at 0x1addce8 to 0x1addd0d (code length 37) [client.exe]
+converting method object:Equals (object)
+Method object:Equals (object) emitted at 0x1addd10 to 0x1addd24 (code length 20) [client.exe]
+converting method System.Configuration.ConfigurationElement:get_ElementInformation ()
+Method System.Configuration.ConfigurationElement:get_ElementInformation () emitted at 0x1addd28 to 0x1addd94 (code length 108) [client.exe]
+converting method System.Configuration.ElementInformation:.ctor (System.Configuration.ConfigurationElement,System.Configuration.PropertyInformation)
+Method System.Configuration.ElementInformation:.ctor (System.Configuration.ConfigurationElement,System.Configuration.PropertyInformation) emitted at 0x1addda0 to 0x1addff7 (code length 599) [client.exe]
+converting method System.Configuration.PropertyInformationCollection:.ctor ()
+Method System.Configuration.PropertyInformationCollection:.ctor () emitted at 0x1ade028 to 0x1ade045 (code length 29) [client.exe]
+converting method System.Configuration.DefaultSection:get_Properties ()
+Method System.Configuration.DefaultSection:get_Properties () emitted at 0x1ade048 to 0x1ade056 (code length 14) [client.exe]
+converting method System.Configuration.ConfigurationPropertyCollection:GetEnumerator ()
+Method System.Configuration.ConfigurationPropertyCollection:GetEnumerator () emitted at 0x1ade058 to 0x1ade0e5 (code length 141) [client.exe]
+converting gshared method System.Collections.Generic.List`1<System.Configuration.ConfigurationProperty>:GetEnumerator ()
+Method System.Collections.Generic.List`1:GetEnumerator () emitted at 0x1ade0f8 to 0x1ade1bd (code length 197) [client.exe]
+converting gshared method System.Collections.Generic.List`1/Enumerator<System.Configuration.ConfigurationProperty>:.ctor (System.Collections.Generic.List`1<System.Configuration.ConfigurationProperty>)
+Method System.Collections.Generic.List`1/Enumerator:.ctor (System.Collections.Generic.List`1<T>) emitted at 0x1ade1d0 to 0x1ade226 (code length 86) [client.exe]
+converting gshared method System.Collections.Generic.List`1/Enumerator<System.Configuration.ConfigurationProperty>:MoveNext ()
+Method System.Collections.Generic.List`1/Enumerator:MoveNext () emitted at 0x1ade228 to 0x1ade2f7 (code length 207) [client.exe]
+converting gshared method System.Collections.Generic.List`1/Enumerator<System.Configuration.ConfigurationProperty>:Dispose ()
+Method System.Collections.Generic.List`1/Enumerator:Dispose () emitted at 0x1ade318 to 0x1ade323 (code length 11) [client.exe]
+converting method System.Configuration.ElementInformation:Reset (System.Configuration.ElementInformation)
+Method System.Configuration.ElementInformation:Reset (System.Configuration.ElementInformation) emitted at 0x1ade348 to 0x1ade50b (code length 451) [client.exe]
+converting method System.Configuration.PropertyInformationCollection:GetEnumerator ()
+Method System.Configuration.PropertyInformationCollection:GetEnumerator () emitted at 0x1ade530 to 0x1ade560 (code length 48) [client.exe]
+converting method System.Configuration.PropertyInformationCollection/PropertyInformationEnumerator:.ctor (System.Configuration.PropertyInformationCollection)
+Method System.Configuration.PropertyInformationCollection/PropertyInformationEnumerator:.ctor (System.Configuration.PropertyInformationCollection) emitted at 0x1ade570 to 0x1ade5a9 (code length 57) [client.exe]
+converting method System.Configuration.PropertyInformationCollection/PropertyInformationEnumerator:MoveNext ()
+Method System.Configuration.PropertyInformationCollection/PropertyInformationEnumerator:MoveNext () emitted at 0x1ade5b0 to 0x1ade5ef (code length 63) [client.exe]
+converting method System.Configuration.ConfigurationSection:GetRuntimeObject ()
+Method System.Configuration.ConfigurationSection:GetRuntimeObject () emitted at 0x1ade5f0 to 0x1ade8f8 (code length 776) [client.exe]
+converting method System.Configuration.ConfigurationSection:DoDeserializeSection (System.Xml.XmlReader)
+Method System.Configuration.ConfigurationSection:DoDeserializeSection (System.Xml.XmlReader) emitted at 0x1ade928 to 0x1adeb7d (code length 597) [client.exe]
+converting method System.IO.StringReader:Read (char[],int,int)
+Method System.IO.StringReader:Read (char[],int,int) emitted at 0x1adebb0 to 0x1aded8e (code length 478) [client.exe]
+converting method string:CopyTo (int,char[],int,int)
+Method string:CopyTo (int,char[],int,int) emitted at 0x1adeda8 to 0x1adf003 (code length 603) [client.exe]
+converting method System.Configuration.ConfigurationXmlDocument:.ctor ()
+Method System.Configuration.ConfigurationXmlDocument:.ctor () emitted at 0x1adf008 to 0x1adf021 (code length 25) [client.exe]
+converting method System.Xml.XmlDocument:.ctor ()
+Method System.Xml.XmlDocument:.ctor () emitted at 0x1adf030 to 0x1adf04d (code length 29) [client.exe]
+converting method System.Xml.XmlDocument:.cctor ()
+Method System.Xml.XmlDocument:.cctor () emitted at 0x1adf060 to 0x1adf0d9 (code length 121) [client.exe]
+converting method System.Xml.XmlDocument:.ctor (System.Xml.XmlImplementation,System.Xml.XmlNameTable)
+Method System.Xml.XmlDocument:.ctor (System.Xml.XmlImplementation,System.Xml.XmlNameTable) emitted at 0x1adf0e0 to 0x1adf32f (code length 591) [client.exe]
+converting method System.Xml.XmlNode:.ctor (System.Xml.XmlDocument)
+Method System.Xml.XmlNode:.ctor (System.Xml.XmlDocument) emitted at 0x1adf370 to 0x1adf3a2 (code length 50) [client.exe]
+converting method System.Xml.XmlNode:.cctor ()
+Method System.Xml.XmlNode:.cctor () emitted at 0x1adf3a8 to 0x1adf3db (code length 51) [client.exe]
+converting method System.Xml.XmlNode/EmptyNodeList:.ctor ()
+Method System.Xml.XmlNode/EmptyNodeList:.ctor () emitted at 0x1adf3e8 to 0x1adf3f0 (code length 8) [client.exe]
+converting method System.Xml.XmlNode/EmptyNodeList:.cctor ()
+Method System.Xml.XmlNode/EmptyNodeList:.cctor () emitted at 0x1adf3f0 to 0x1adf422 (code length 50) [client.exe]
+converting method System.Array:GetEnumerator ()
+Method System.Array:GetEnumerator () emitted at 0x1adf430 to 0x1adf460 (code length 48) [client.exe]
+converting method System.Array/SimpleEnumerator:.ctor (System.Array)
+Method System.Array/SimpleEnumerator:.ctor (System.Array) emitted at 0x1adf470 to 0x1adf4ae (code length 62) [client.exe]
+converting method System.Xml.XmlImplementation:.ctor ()
+Method System.Xml.XmlImplementation:.ctor () emitted at 0x1adf4b0 to 0x1adf503 (code length 83) [client.exe]
+converting method System.Xml.XmlNameEntryCache:.ctor (System.Xml.XmlNameTable)
+Method System.Xml.XmlNameEntryCache:.ctor (System.Xml.XmlNameTable) emitted at 0x1adf508 to 0x1adf5f6 (code length 238) [client.exe]
+converting method System.Xml.XmlNameEntry:.ctor (string,string,string)
+Method System.Xml.XmlNameEntry:.ctor (string,string,string) emitted at 0x1adf608 to 0x1adf625 (code length 29) [client.exe]
+converting method System.Xml.XmlNameEntry:Update (string,string,string)
+Method System.Xml.XmlNameEntry:Update (string,string,string) emitted at 0x1adf638 to 0x1adf6ec (code length 180) [client.exe]
+converting method System.Xml.XmlDocument:AddDefaultNameTableKeys ()
+Method System.Xml.XmlDocument:AddDefaultNameTableKeys () emitted at 0x1adf6f0 to 0x1adf81b (code length 299) [client.exe]
+converting method System.Type:GetMethod (string,System.Type[])
+Method System.Type:GetMethod (string,System.Type[]) emitted at 0x1adf820 to 0x1adf845 (code length 37) [client.exe]
+converting method System.Type:GetMethod (string,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])
+Method System.Type:GetMethod (string,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) emitted at 0x1adf858 to 0x1adf967 (code length 271) [client.exe]
+converting method System.Reflection.Binder/Default:SelectMethod (System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[])
+Method System.Reflection.Binder/Default:SelectMethod (System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]) emitted at 0x1adf968 to 0x1adf9a1 (code length 57) [client.exe]
+converting method System.Reflection.Binder/Default:SelectMethod (System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[],bool,object[]&)
+Method System.Reflection.Binder/Default:SelectMethod (System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[],bool,object[]&) emitted at 0x1adf9b0 to 0x1ae006f (code length 1727) [client.exe]
+converting method System.Reflection.MonoMethod:GetParametersCount ()
+Method System.Reflection.MonoMethod:GetParametersCount () emitted at 0x1ae00e8 to 0x1ae0108 (code length 32) [client.exe]
+converting method System.Xml.XmlDocument:LoadXml (string)
+Method System.Xml.XmlDocument:LoadXml (string) emitted at 0x1ae0108 to 0x1ae01f9 (code length 241) [client.exe]
+converting method System.Xml.XmlTextReader:.ctor (string,System.Xml.XmlNodeType,System.Xml.XmlParserContext)
+Method System.Xml.XmlTextReader:.ctor (string,System.Xml.XmlNodeType,System.Xml.XmlParserContext) emitted at 0x1ae0218 to 0x1ae0273 (code length 91) [client.exe]
+converting method Mono.Xml2.XmlTextReader:.ctor (string,System.Xml.XmlNodeType,System.Xml.XmlParserContext)
+Method Mono.Xml2.XmlTextReader:.ctor (string,System.Xml.XmlNodeType,System.Xml.XmlParserContext) emitted at 0x1ae0280 to 0x1ae02f7 (code length 119) [client.exe]
+converting method System.Xml.XmlTextReader:set_XmlResolver (System.Xml.XmlResolver)
+Method System.Xml.XmlTextReader:set_XmlResolver (System.Xml.XmlResolver) emitted at 0x1ae02f8 to 0x1ae0352 (code length 90) [client.exe]
+converting method System.Xml.XmlDocument:Load (System.Xml.XmlReader)
+Method System.Xml.XmlDocument:Load (System.Xml.XmlReader) emitted at 0x1ae0358 to 0x1ae04a9 (code length 337) [client.exe]
+converting method System.Xml.XmlNode:RemoveAll ()
+Method System.Xml.XmlNode:RemoveAll () emitted at 0x1ae04c8 to 0x1ae054f (code length 135) [client.exe]
+converting method System.Xml.XmlNode:get_Attributes ()
+Method System.Xml.XmlNode:get_Attributes () emitted at 0x1ae0560 to 0x1ae056a (code length 10) [client.exe]
+converting method System.Xml.XmlNode:get_FirstChild ()
+Method System.Xml.XmlNode:get_FirstChild () emitted at 0x1ae0570 to 0x1ae063c (code length 204) [client.exe]
+converting method System.Xml.XmlDocument:System.Xml.IHasXmlChildNode.get_LastLinkedChild ()
+Method System.Xml.XmlDocument:System.Xml.IHasXmlChildNode.get_LastLinkedChild () emitted at 0x1ae0648 to 0x1ae0656 (code length 14) [client.exe]
+converting method System.Xml.XmlTextReader:get_BaseURI ()
+Method System.Xml.XmlTextReader:get_BaseURI () emitted at 0x1ae0658 to 0x1ae0680 (code length 40) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_BaseURI ()
+Method Mono.Xml2.XmlTextReader:get_BaseURI () emitted at 0x1ae0680 to 0x1ae0695 (code length 21) [client.exe]
+converting method System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader)
+Method System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader) emitted at 0x1ae0698 to 0x1ae0786 (code length 238) [client.exe]
+converting method System.Xml.XmlTextReader:get_WhitespaceHandling ()
+Method System.Xml.XmlTextReader:get_WhitespaceHandling () emitted at 0x1ae07b0 to 0x1ae07c8 (code length 24) [client.exe]
+converting method System.Xml.XmlTextReader:set_WhitespaceHandling (System.Xml.WhitespaceHandling)
+Method System.Xml.XmlTextReader:set_WhitespaceHandling (System.Xml.WhitespaceHandling) emitted at 0x1ae07c8 to 0x1ae0802 (code length 58) [client.exe]
+converting method System.Xml.XmlDocument:ReadNodeCore (System.Xml.XmlReader)
+Method System.Xml.XmlDocument:ReadNodeCore (System.Xml.XmlReader) emitted at 0x1ae0808 to 0x1ae0fa4 (code length 1948) [client.exe]
+converting method System.Xml.XmlReader:get_SchemaInfo ()
+Method System.Xml.XmlReader:get_SchemaInfo () emitted at 0x1ae1080 to 0x1ae108a (code length 10) [client.exe]
+converting method System.Xml.XmlTextReader:get_NameTable ()
+Method System.Xml.XmlTextReader:get_NameTable () emitted at 0x1ae1090 to 0x1ae10b8 (code length 40) [client.exe]
+converting method System.Xml.XmlDocument:CreateElement (string,string,string,bool)
+Method System.Xml.XmlDocument:CreateElement (string,string,string,bool) emitted at 0x1ae10b8 to 0x1ae11b0 (code length 248) [client.exe]
+converting method System.Configuration.ConfigurationXmlDocument:CreateElement (string,string,string)
+Method System.Configuration.ConfigurationXmlDocument:CreateElement (string,string,string) emitted at 0x1ae11c0 to 0x1ae1219 (code length 89) [client.exe]
+converting method System.Xml.XmlDocument:CreateElement (string,string,string)
+Method System.Xml.XmlDocument:CreateElement (string,string,string) emitted at 0x1ae1228 to 0x1ae1294 (code length 108) [client.exe]
+converting method System.Xml.XmlElement:.ctor (string,string,string,System.Xml.XmlDocument,bool)
+Method System.Xml.XmlElement:.ctor (string,string,string,System.Xml.XmlDocument,bool) emitted at 0x1ae1298 to 0x1ae14b5 (code length 541) [client.exe]
+converting method System.Xml.XmlConvert:VerifyName (string)
+Method System.Xml.XmlConvert:VerifyName (string) emitted at 0x1ae1500 to 0x1ae15e0 (code length 224) [client.exe]
+converting method System.Xml.XmlConvert:.cctor ()
+Method System.Xml.XmlConvert:.cctor () emitted at 0x1ae15f0 to 0x1ae1d97 (code length 1959) [client.exe]
+converting method System.Xml.XmlChar:IsName (string)
+Method System.Xml.XmlChar:IsName (string) emitted at 0x1ae1d98 to 0x1ae1e31 (code length 153) [client.exe]
+converting method System.Xml.XmlNameEntryCache:Add (string,string,string,bool)
+Method System.Xml.XmlNameEntryCache:Add (string,string,string,bool) emitted at 0x1ae1e38 to 0x1ae1f00 (code length 200) [client.exe]
+converting method System.Xml.XmlNameEntryCache:GetInternal (string,string,string,bool)
+Method System.Xml.XmlNameEntryCache:GetInternal (string,string,string,bool) emitted at 0x1ae1f10 to 0x1ae1fcb (code length 187) [client.exe]
+converting method System.Xml.XmlNameEntry:GetHashCode ()
+Method System.Xml.XmlNameEntry:GetHashCode () emitted at 0x1ae1fd0 to 0x1ae1fde (code length 14) [client.exe]
+converting method System.Xml.XmlDocument:get_DocumentType ()
+Method System.Xml.XmlDocument:get_DocumentType () emitted at 0x1ad0f48 to 0x1ad0fe4 (code length 156) [client.exe]
+converting method System.Xml.XmlElement:set_IsEmpty (bool)
+Method System.Xml.XmlElement:set_IsEmpty (bool) emitted at 0x15d8f68 to 0x15d8fc0 (code length 88) [client.exe]
+converting method System.Xml.XmlElement:System.Xml.IHasXmlChildNode.get_LastLinkedChild ()
+Method System.Xml.XmlElement:System.Xml.IHasXmlChildNode.get_LastLinkedChild () emitted at 0x1ae1fe0 to 0x1ae1fee (code length 14) [client.exe]
+converting method System.Xml.XmlDocument:ReadAttributeNode (System.Xml.XmlReader)
+Method System.Xml.XmlDocument:ReadAttributeNode (System.Xml.XmlReader) emitted at 0x1ae3000 to 0x1ae314c (code length 332) [client.exe]
+converting method System.Xml.XmlDocument:CreateAttribute (string,string,string)
+Method System.Xml.XmlDocument:CreateAttribute (string,string,string) emitted at 0x1ae3168 to 0x1ae3200 (code length 152) [client.exe]
+converting method System.Xml.XmlAttribute:.ctor (string,string,string,System.Xml.XmlDocument,bool,bool)
+Method System.Xml.XmlAttribute:.ctor (string,string,string,System.Xml.XmlDocument,bool,bool) emitted at 0x1ae3210 to 0x1ae34cc (code length 700) [client.exe]
+converting method System.Xml.XmlDocument:ReadAttributeNodeValue (System.Xml.XmlReader,System.Xml.XmlAttribute)
+Method System.Xml.XmlDocument:ReadAttributeNodeValue (System.Xml.XmlReader,System.Xml.XmlAttribute) emitted at 0x1ae34d0 to 0x1ae3588 (code length 184) [client.exe]
+converting method System.Xml.XmlDocument:CreateTextNode (string)
+Method System.Xml.XmlDocument:CreateTextNode (string) emitted at 0x1ae3588 to 0x1ae35bc (code length 52) [client.exe]
+converting method System.Xml.XmlText:.ctor (string,System.Xml.XmlDocument)
+Method System.Xml.XmlText:.ctor (string,System.Xml.XmlDocument) emitted at 0x1ae35c8 to 0x1ae35e5 (code length 29) [client.exe]
+converting method System.Xml.XmlCharacterData:.ctor (string,System.Xml.XmlDocument)
+Method System.Xml.XmlCharacterData:.ctor (string,System.Xml.XmlDocument) emitted at 0x1ae35f8 to 0x1ae365b (code length 99) [client.exe]
+converting method System.Xml.XmlNode:AppendChild (System.Xml.XmlNode,bool)
+Method System.Xml.XmlNode:AppendChild (System.Xml.XmlNode,bool) emitted at 0x1ae3660 to 0x1ae3685 (code length 37) [client.exe]
+converting method System.Xml.XmlNode:InsertBefore (System.Xml.XmlNode,System.Xml.XmlNode,bool,bool)
+Method System.Xml.XmlNode:InsertBefore (System.Xml.XmlNode,System.Xml.XmlNode,bool,bool) emitted at 0x1ae3688 to 0x1ae3bca (code length 1346) [client.exe]
+converting method System.Xml.XmlAttribute:get_NodeType ()
+Method System.Xml.XmlAttribute:get_NodeType () emitted at 0x1ae3c08 to 0x1ae3c15 (code length 13) [client.exe]
+converting method System.Xml.XmlAttribute:get_OwnerDocument ()
+Method System.Xml.XmlAttribute:get_OwnerDocument () emitted at 0x1ae3c18 to 0x1ae3c26 (code length 14) [client.exe]
+converting method System.Xml.XmlDocument:onNodeInserting (System.Xml.XmlNode,System.Xml.XmlNode)
+Method System.Xml.XmlDocument:onNodeInserting (System.Xml.XmlNode,System.Xml.XmlNode) emitted at 0x1ae3c28 to 0x1ae3c93 (code length 107) [client.exe]
+converting method System.Xml.XmlText:get_ParentNode ()
+Method System.Xml.XmlText:get_ParentNode () emitted at 0x1ae3ca0 to 0x1ae3cae (code length 14) [client.exe]
+converting method System.Xml.XmlText:get_NodeType ()
+Method System.Xml.XmlText:get_NodeType () emitted at 0x1ae3cb0 to 0x1ae3cbd (code length 13) [client.exe]
+converting method System.Xml.XmlAttribute:System.Xml.IHasXmlChildNode.get_LastLinkedChild ()
+Method System.Xml.XmlAttribute:System.Xml.IHasXmlChildNode.get_LastLinkedChild () emitted at 0x1ae3cc0 to 0x1ae3cce (code length 14) [client.exe]
+converting method System.Xml.XmlAttribute:System.Xml.IHasXmlChildNode.set_LastLinkedChild (System.Xml.XmlLinkedNode)
+Method System.Xml.XmlAttribute:System.Xml.IHasXmlChildNode.set_LastLinkedChild (System.Xml.XmlLinkedNode) emitted at 0x1ae3cd0 to 0x1ae3d02 (code length 50) [client.exe]
+converting method System.Xml.XmlDocument:onNodeInserted (System.Xml.XmlNode,System.Xml.XmlNode)
+Method System.Xml.XmlDocument:onNodeInserted (System.Xml.XmlNode,System.Xml.XmlNode) emitted at 0x1ae3d08 to 0x1ae3d73 (code length 107) [client.exe]
+converting method System.Xml.XmlElement:SetAttributeNode (System.Xml.XmlAttribute)
+Method System.Xml.XmlElement:SetAttributeNode (System.Xml.XmlAttribute) emitted at 0x1ae3d78 to 0x1ae3e24 (code length 172) [client.exe]
+converting method System.Xml.XmlAttribute:get_OwnerElement ()
+Method System.Xml.XmlAttribute:get_OwnerElement () emitted at 0x1ae3e28 to 0x1ae3e67 (code length 63) [client.exe]
+converting method System.Xml.XmlElement:get_Attributes ()
+Method System.Xml.XmlElement:get_Attributes () emitted at 0x1ae3e68 to 0x1ae3ed0 (code length 104) [client.exe]
+converting method System.Xml.XmlAttributeCollection:.ctor (System.Xml.XmlNode)
+Method System.Xml.XmlAttributeCollection:.ctor (System.Xml.XmlNode) emitted at 0x1ae3ee0 to 0x1ae3fd0 (code length 240) [client.exe]
+converting method System.Xml.XmlNamedNodeMap:.ctor (System.Xml.XmlNode)
+Method System.Xml.XmlNamedNodeMap:.ctor (System.Xml.XmlNode) emitted at 0x1ae3fe0 to 0x1ae4012 (code length 50) [client.exe]
+converting method System.Xml.XmlNamedNodeMap:.cctor ()
+Method System.Xml.XmlNamedNodeMap:.cctor () emitted at 0x1ae4018 to 0x1ae404a (code length 50) [client.exe]
+converting method System.Xml.XmlElement:get_OwnerDocument ()
+Method System.Xml.XmlElement:get_OwnerDocument () emitted at 0x1ae4050 to 0x1ae405e (code length 14) [client.exe]
+converting method System.Xml.XmlAttributeCollection:SetNamedItem (System.Xml.XmlNode)
+Method System.Xml.XmlAttributeCollection:SetNamedItem (System.Xml.XmlNode) emitted at 0x1ae4060 to 0x1ae424c (code length 492) [client.exe]
+converting method System.Xml.XmlAttributeCollection:get_IsReadOnly ()
+Method System.Xml.XmlAttributeCollection:get_IsReadOnly () emitted at 0x1ae4270 to 0x1ae4290 (code length 32) [client.exe]
+converting method System.Xml.XmlNode:get_IsReadOnly ()
+Method System.Xml.XmlNode:get_IsReadOnly () emitted at 0x1ae4290 to 0x1ae432c (code length 156) [client.exe]
+converting method System.Xml.XmlElement:get_NodeType ()
+Method System.Xml.XmlElement:get_NodeType () emitted at 0x1ae4360 to 0x1ae436d (code length 13) [client.exe]
+converting method System.Xml.XmlElement:get_ParentNode ()
+Method System.Xml.XmlElement:get_ParentNode () emitted at 0x1ae4370 to 0x1ae437e (code length 14) [client.exe]
+converting method System.Xml.XmlNamedNodeMap:SetNamedItem (System.Xml.XmlNode,int,bool)
+Method System.Xml.XmlNamedNodeMap:SetNamedItem (System.Xml.XmlNode,int,bool) emitted at 0x1ae4380 to 0x1ae463b (code length 699) [client.exe]
+converting method System.Xml.XmlNamedNodeMap:get_NodeList ()
+Method System.Xml.XmlNamedNodeMap:get_NodeList () emitted at 0x1ae4648 to 0x1ae46c9 (code length 129) [client.exe]
+converting method System.Xml.XmlAttributeCollection:AdjustIdenticalAttributes (System.Xml.XmlAttribute,System.Xml.XmlNode)
+Method System.Xml.XmlAttributeCollection:AdjustIdenticalAttributes (System.Xml.XmlAttribute,System.Xml.XmlNode) emitted at 0x1ae46d0 to 0x1ae47e6 (code length 278) [client.exe]
+converting method System.Xml.XmlAttribute:get_LocalName ()
+Method System.Xml.XmlAttribute:get_LocalName () emitted at 0x1ae4810 to 0x1ae4821 (code length 17) [client.exe]
+converting method System.Xml.XmlElement:System.Xml.IHasXmlChildNode.set_LastLinkedChild (System.Xml.XmlLinkedNode)
+Method System.Xml.XmlElement:System.Xml.IHasXmlChildNode.set_LastLinkedChild (System.Xml.XmlLinkedNode) emitted at 0x1ae4828 to 0x1ae485a (code length 50) [client.exe]
+converting method System.Xml.XmlDocument:get_NodeType ()
+Method System.Xml.XmlDocument:get_NodeType () emitted at 0x1ae4860 to 0x1ae486d (code length 13) [client.exe]
+converting method System.Xml.XmlDocument:System.Xml.IHasXmlChildNode.set_LastLinkedChild (System.Xml.XmlLinkedNode)
+Method System.Xml.XmlDocument:System.Xml.IHasXmlChildNode.set_LastLinkedChild (System.Xml.XmlLinkedNode) emitted at 0x1ae4870 to 0x1ae48a2 (code length 50) [client.exe]
+converting method System.Xml.XmlTextReader:get_Settings ()
+Method System.Xml.XmlTextReader:get_Settings () emitted at 0x1ae48a8 to 0x1ae48b6 (code length 14) [client.exe]
+converting method System.Xml.XmlDocument:get_DocumentElement ()
+Method System.Xml.XmlDocument:get_DocumentElement () emitted at 0x1ae48b8 to 0x1ae4949 (code length 145) [client.exe]
+converting method System.Diagnostics.DiagnosticsConfigurationHandler:Create (object,object,System.Xml.XmlNode)
+Method System.Diagnostics.DiagnosticsConfigurationHandler:Create (object,object,System.Xml.XmlNode) emitted at 0x1ae4950 to 0x1ae510c (code length 1980) [client.exe]
+converting method System.Collections.CaseInsensitiveHashCodeProvider:get_Default ()
+converting method System.Collections.CaseInsensitiveHashCodeProvider:.cctor ()
+Method System.Collections.CaseInsensitiveHashCodeProvider:.cctor () emitted at 0x1ae5170 to 0x1ae51ca (code length 90) [client.exe]
+converting method System.Collections.CaseInsensitiveHashCodeProvider:.ctor (System.Globalization.CultureInfo)
+Method System.Collections.CaseInsensitiveHashCodeProvider:.ctor (System.Globalization.CultureInfo) emitted at 0x1ae51d8 to 0x1ae5274 (code length 156) [client.exe]
+converting method System.Collections.CaseInsensitiveHashCodeProvider:AreEqual (System.Globalization.CultureInfo,System.Globalization.CultureInfo)
+Method System.Collections.CaseInsensitiveHashCodeProvider:AreEqual (System.Globalization.CultureInfo,System.Globalization.CultureInfo) emitted at 0x1ae5280 to 0x1ae52c0 (code length 64) [client.exe]
+Method System.Collections.CaseInsensitiveHashCodeProvider:get_Default () emitted at 0x1ae52c0 to 0x1ae53f9 (code length 313) [client.exe]
+converting method System.Collections.CaseInsensitiveHashCodeProvider:.ctor ()
+Method System.Collections.CaseInsensitiveHashCodeProvider:.ctor () emitted at 0x1ae5418 to 0x1ae547b (code length 99) [client.exe]
+converting method System.Collections.CaseInsensitiveComparer:get_Default ()
+converting method System.Collections.CaseInsensitiveComparer:.cctor ()
+Method System.Collections.CaseInsensitiveComparer:.cctor () emitted at 0x1ae5480 to 0x1ae54e3 (code length 99) [client.exe]
+converting method System.Collections.CaseInsensitiveComparer:.ctor ()
+Method System.Collections.CaseInsensitiveComparer:.ctor () emitted at 0x1ae5500 to 0x1ae5537 (code length 55) [client.exe]
+converting method System.Collections.CaseInsensitiveComparer:.ctor (bool)
+Method System.Collections.CaseInsensitiveComparer:.ctor (bool) emitted at 0x1ae5538 to 0x1ae5540 (code length 8) [client.exe]
+Method System.Collections.CaseInsensitiveComparer:get_Default () emitted at 0x1ae5540 to 0x1ae554e (code length 14) [client.exe]
+converting method System.Collections.Hashtable:.ctor (System.Collections.IHashCodeProvider,System.Collections.IComparer)
+Method System.Collections.Hashtable:.ctor (System.Collections.IHashCodeProvider,System.Collections.IComparer) emitted at 0x1ae5550 to 0x1ae5579 (code length 41) [client.exe]
+converting method System.Collections.CaseInsensitiveHashCodeProvider:GetHashCode (object)
+Method System.Collections.CaseInsensitiveHashCodeProvider:GetHashCode (object) emitted at 0x1ae5580 to 0x1ae5702 (code length 386) [client.exe]
+converting method System.Collections.CaseInsensitiveHashCodeProvider:AreEqual (System.Globalization.TextInfo,System.Globalization.CultureInfo)
+Method System.Collections.CaseInsensitiveHashCodeProvider:AreEqual (System.Globalization.TextInfo,System.Globalization.CultureInfo) emitted at 0x1ae5710 to 0x1ae5744 (code length 52) [client.exe]
+converting method System.Globalization.TextInfo:ToLower (string)
+Method System.Globalization.TextInfo:ToLower (string) emitted at 0x1ae5748 to 0x1ae582c (code length 228) [client.exe]
+converting method System.Globalization.TextInfo:ToLower (char)
+Method System.Globalization.TextInfo:ToLower (char) emitted at 0x1ae5830 to 0x1ae5975 (code length 325) [client.exe]
+converting method System.Diagnostics.TraceImplSettings:.ctor ()
+Method System.Diagnostics.TraceImplSettings:.ctor () emitted at 0x1ae59b8 to 0x1ae5a68 (code length 176) [client.exe]
+converting method System.Diagnostics.TraceListenerCollection:.ctor (bool)
+Method System.Diagnostics.TraceListenerCollection:.ctor (bool) emitted at 0x1ae5a98 to 0x1ae5b49 (code length 177) [client.exe]
+converting method System.Collections.ArrayList:.ctor (int)
+Method System.Collections.ArrayList:.ctor (int) emitted at 0x1ae5b58 to 0x1ae5be1 (code length 137) [client.exe]
+converting method System.Collections.ArrayList:Synchronized (System.Collections.ArrayList)
+Method System.Collections.ArrayList:Synchronized (System.Collections.ArrayList) emitted at 0x1ae5be8 to 0x1ae5c6c (code length 132) [client.exe]
+converting method System.Collections.ArrayList:get_IsSynchronized ()
+Method System.Collections.ArrayList:get_IsSynchronized () emitted at 0x1ae5c78 to 0x1ae5c82 (code length 10) [client.exe]
+converting method System.Collections.ArrayList/SynchronizedArrayListWrapper:.ctor (System.Collections.ArrayList)
+Method System.Collections.ArrayList/SynchronizedArrayListWrapper:.ctor (System.Collections.ArrayList) emitted at 0x1ae5c88 to 0x1ae5d17 (code length 143) [client.exe]
+converting method System.Collections.ArrayList:get_SyncRoot ()
+Method System.Collections.ArrayList:get_SyncRoot () emitted at 0x1ae5d18 to 0x1ae5d23 (code length 11) [client.exe]
+converting method System.Diagnostics.DefaultTraceListener:.cctor ()
+Method System.Diagnostics.DefaultTraceListener:.cctor () emitted at 0x1ae5d28 to 0x1ae5dfc (code length 212) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.Diagnostics.DefaultTraceListener:.ctor ()
+Method (wrapper remoting-invoke-with-check) System.Diagnostics.DefaultTraceListener:.ctor () emitted at 0x1ae5e18 to 0x1ae5e54 (code length 60) [client.exe]
+converting method System.Diagnostics.DefaultTraceListener:.ctor ()
+Method System.Diagnostics.DefaultTraceListener:.ctor () emitted at 0x1ae5e70 to 0x1ae5e8d (code length 29) [client.exe]
+converting method System.Diagnostics.TraceListenerCollection:Add (System.Diagnostics.TraceListener,System.Diagnostics.TraceImplSettings)
+Method System.Diagnostics.TraceListenerCollection:Add (System.Diagnostics.TraceListener,System.Diagnostics.TraceImplSettings) emitted at 0x1ae5e90 to 0x1ae5ece (code length 62) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.Diagnostics.TraceListener:set_IndentSize (int)
+Method (wrapper remoting-invoke-with-check) System.Diagnostics.TraceListener:set_IndentSize (int) emitted at 0x1ae5ee0 to 0x1ae5f49 (code length 105) [client.exe]
+converting method System.Diagnostics.TraceListener:set_IndentSize (int)
+Method System.Diagnostics.TraceListener:set_IndentSize (int) emitted at 0x1ae5f70 to 0x1ae5f81 (code length 17) [client.exe]
+converting method System.Collections.ArrayList/SynchronizedArrayListWrapper:Add (object)
+Method System.Collections.ArrayList/SynchronizedArrayListWrapper:Add (object) emitted at 0x1ae5f88 to 0x1ae5fe1 (code length 89) [client.exe]
+converting method System.Xml.XmlNode:get_ChildNodes ()
+Method System.Xml.XmlNode:get_ChildNodes () emitted at 0x1ae6010 to 0x1ae6121 (code length 273) [client.exe]
+converting method System.Xml.XmlNodeListChildren:GetEnumerator ()
+Method System.Xml.XmlNodeListChildren:GetEnumerator () emitted at 0x1ae6128 to 0x1ae6160 (code length 56) [client.exe]
+converting method System.Xml.XmlNodeListChildren/Enumerator:.ctor (System.Xml.IHasXmlChildNode)
+Method System.Xml.XmlNodeListChildren/Enumerator:.ctor (System.Xml.IHasXmlChildNode) emitted at 0x1ae6170 to 0x1ae61b3 (code length 67) [client.exe]
+converting method System.Xml.XmlNodeListChildren/Enumerator:MoveNext ()
+Method System.Xml.XmlNodeListChildren/Enumerator:MoveNext () emitted at 0x1ae61b8 to 0x1ae629f (code length 231) [client.exe]
+converting method System.Xml.XmlNodeListChildren/Enumerator:get_Current ()
+Method System.Xml.XmlNodeListChildren/Enumerator:get_Current () emitted at 0x1ae62a0 to 0x1ae62f8 (code length 88) [client.exe]
+converting method System.Xml.XmlElement:get_LocalName ()
+Method System.Xml.XmlElement:get_LocalName () emitted at 0x1ae62f8 to 0x1ae6309 (code length 17) [client.exe]
+converting method System.Xml.XmlElement:get_Name ()
+Method System.Xml.XmlElement:get_Name () emitted at 0x1ae6310 to 0x1ae634d (code length 61) [client.exe]
+converting method System.Xml.XmlNameEntry:GetPrefixedName (System.Xml.XmlNameEntryCache)
+Method System.Xml.XmlNameEntry:GetPrefixedName (System.Xml.XmlNameEntryCache) emitted at 0x1ae6360 to 0x1ae63c3 (code length 99) [client.exe]
+converting method System.Xml.XmlNameEntryCache:GetAtomizedPrefixedName (string,string)
+Method System.Xml.XmlNameEntryCache:GetAtomizedPrefixedName (string,string) emitted at 0x1ae63d0 to 0x1ae6528 (code length 344) [client.exe]
+converting method string:Equals (object)
+Method string:Equals (object) emitted at 0x1ae6528 to 0x1ae6573 (code length 75) [client.exe]
+converting method System.Diagnostics.DiagnosticsConfigurationHandler:AddTraceNode (System.Collections.IDictionary,System.Xml.XmlNode)
+Method System.Diagnostics.DiagnosticsConfigurationHandler:AddTraceNode (System.Collections.IDictionary,System.Xml.XmlNode) emitted at 0x1ae6578 to 0x1ae67d6 (code length 606) [client.exe]
+converting method System.Diagnostics.DiagnosticsConfigurationHandler:AddTraceAttributes (System.Collections.IDictionary,System.Xml.XmlNode)
+Method System.Diagnostics.DiagnosticsConfigurationHandler:AddTraceAttributes (System.Collections.IDictionary,System.Xml.XmlNode) emitted at 0x1ae6800 to 0x1ae6a24 (code length 548) [client.exe]
+converting method System.Diagnostics.DiagnosticsConfigurationHandler:GetAttribute (System.Xml.XmlAttributeCollection,string,bool,System.Xml.XmlNode)
+Method System.Diagnostics.DiagnosticsConfigurationHandler:GetAttribute (System.Xml.XmlAttributeCollection,string,bool,System.Xml.XmlNode) emitted at 0x1ae6a40 to 0x1ae6ad0 (code length 144) [client.exe]
+converting method System.Xml.XmlAttributeCollection:get_ItemOf (string)
+Method System.Xml.XmlAttributeCollection:get_ItemOf (string) emitted at 0x1ae6af8 to 0x1ae6b43 (code length 75) [client.exe]
+converting method System.Xml.XmlNamedNodeMap:GetNamedItem (string)
+Method System.Xml.XmlNamedNodeMap:GetNamedItem (string) emitted at 0x1ae6b48 to 0x1ae6bfb (code length 179) [client.exe]
+converting method System.Xml.XmlAttribute:get_Name ()
+Method System.Xml.XmlAttribute:get_Name () emitted at 0x1ae6c00 to 0x1ae6c3d (code length 61) [client.exe]
+converting method System.Xml.XmlAttribute:get_Value ()
+Method System.Xml.XmlAttribute:get_Value () emitted at 0x1ae6c40 to 0x1ae6c5c (code length 28) [client.exe]
+converting method System.Xml.XmlNode:get_InnerText ()
+Method System.Xml.XmlNode:get_InnerText () emitted at 0x1ae6c60 to 0x1ae6d8f (code length 303) [client.exe]
+converting method System.Xml.XmlNode:get_LastChild ()
+Method System.Xml.XmlNode:get_LastChild () emitted at 0x1ae6da0 to 0x1ae6e55 (code length 181) [client.exe]
+converting method System.Xml.XmlCharacterData:get_InnerText ()
+Method System.Xml.XmlCharacterData:get_InnerText () emitted at 0x1ae6e58 to 0x1ae6e66 (code length 14) [client.exe]
+converting method System.Xml.XmlAttributeCollection:Remove (System.Xml.XmlAttribute)
+Method System.Xml.XmlAttributeCollection:Remove (System.Xml.XmlAttribute) emitted at 0x1ae6e68 to 0x1ae71a3 (code length 827) [client.exe]
+converting method System.Xml.XmlDocument:get_ParentNode ()
+Method System.Xml.XmlDocument:get_ParentNode () emitted at 0x1ae71f0 to 0x1ae71fa (code length 10) [client.exe]
+converting method System.Xml.XmlNamedNodeMap:get_Count ()
+Method System.Xml.XmlNamedNodeMap:get_Count () emitted at 0x1ae7200 to 0x1ae7234 (code length 52) [client.exe]
+converting method System.Xml.XmlNamedNodeMap:get_Nodes ()
+Method System.Xml.XmlNamedNodeMap:get_Nodes () emitted at 0x1ae7238 to 0x1ae7251 (code length 25) [client.exe]
+converting method System.Xml.XmlDocument:onNodeRemoving (System.Xml.XmlNode,System.Xml.XmlNode)
+Method System.Xml.XmlDocument:onNodeRemoving (System.Xml.XmlNode,System.Xml.XmlNode) emitted at 0x1ae7258 to 0x1ae72c3 (code length 107) [client.exe]
+converting method System.Xml.XmlAttribute:get_NamespaceURI ()
+Method System.Xml.XmlAttribute:get_NamespaceURI () emitted at 0x1ae72c8 to 0x1ae72d9 (code length 17) [client.exe]
+converting method System.Xml.XmlNamedNodeMap:RemoveNamedItem (string,string)
+Method System.Xml.XmlNamedNodeMap:RemoveNamedItem (string,string) emitted at 0x1ae72e0 to 0x1ae73e2 (code length 258) [client.exe]
+converting method System.Collections.ArrayList:Remove (object)
+Method System.Collections.ArrayList:Remove (object) emitted at 0x1ae73e8 to 0x1ae742d (code length 69) [client.exe]
+converting method System.Collections.ArrayList:IndexOf (object)
+Method System.Collections.ArrayList:IndexOf (object) emitted at 0x1ae7430 to 0x1ae7451 (code length 33) [client.exe]
+converting method System.Collections.ArrayList:IndexOf (object,int)
+Method System.Collections.ArrayList:IndexOf (object,int) emitted at 0x1ae7458 to 0x1ae747c (code length 36) [client.exe]
+converting method System.Collections.ArrayList:IndexOf (object,int,int)
+Method System.Collections.ArrayList:IndexOf (object,int,int) emitted at 0x1ae7480 to 0x1ae7574 (code length 244) [client.exe]
+converting gshared method System.Array:IndexOf<object> (object[],object,int,int)
+Method System.Array:IndexOf<T> (T[],T,int,int) emitted at 0x1ae7580 to 0x1ae76fb (code length 379) [client.exe]
+converting method System.Collections.ArrayList:RemoveAt (int)
+Method System.Collections.ArrayList:RemoveAt (int) emitted at 0x1ae7728 to 0x1ae7793 (code length 107) [client.exe]
+converting method System.Collections.ArrayList:Shift (int,int)
+Method System.Collections.ArrayList:Shift (int,int) emitted at 0x1ae77a0 to 0x1ae78fa (code length 346) [client.exe]
+converting method System.Xml.XmlAttributeCollection:RemoveIdenticalAttribute (System.Xml.XmlNode)
+Method System.Xml.XmlAttributeCollection:RemoveIdenticalAttribute (System.Xml.XmlNode) emitted at 0x1ae7900 to 0x1ae798a (code length 138) [client.exe]
+converting method System.Xml.XmlDocument:GetIdenticalAttribute (string)
+Method System.Xml.XmlDocument:GetIdenticalAttribute (string) emitted at 0x1ae79a8 to 0x1ae7a3b (code length 147) [client.exe]
+converting method System.Xml.XmlDocument:onNodeRemoved (System.Xml.XmlNode,System.Xml.XmlNode)
+Method System.Xml.XmlDocument:onNodeRemoved (System.Xml.XmlNode,System.Xml.XmlNode) emitted at 0x1ae7a48 to 0x1ae7ab3 (code length 107) [client.exe]
+converting method System.Xml.XmlAttribute:GetAttributeDefinition ()
+Method System.Xml.XmlAttribute:GetAttributeDefinition () emitted at 0x1ae7ab8 to 0x1ae7ba6 (code length 238) [client.exe]
+converting method System.Diagnostics.DiagnosticsConfigurationHandler:ValidateInvalidAttributes (System.Xml.XmlAttributeCollection,System.Xml.XmlNode)
+Method System.Diagnostics.DiagnosticsConfigurationHandler:ValidateInvalidAttributes (System.Xml.XmlAttributeCollection,System.Xml.XmlNode) emitted at 0x1ae7bb8 to 0x1ae7c10 (code length 88) [client.exe]
+converting method bool:Parse (string)
+converting method bool:.cctor ()
+Method bool:.cctor () emitted at 0x1ae7c28 to 0x1ae7c46 (code length 30) [client.exe]
+Method bool:Parse (string) emitted at 0x1ae7c48 to 0x1ae7d0c (code length 196) [client.exe]
+converting method string:CompareOrdinalCaseInsensitiveUnchecked (string,string)
+Method string:CompareOrdinalCaseInsensitiveUnchecked (string,string) emitted at 0x1ae7d18 to 0x1ae7d41 (code length 41) [client.exe]
+converting method string:CompareOrdinalCaseInsensitiveUnchecked (string,int,int,string,int,int)
+Method string:CompareOrdinalCaseInsensitiveUnchecked (string,int,int,string,int,int) emitted at 0x1ae7d50 to 0x1ae7e78 (code length 296) [client.exe]
+converting method char:ToUpperInvariant (char)
+Method char:ToUpperInvariant (char) emitted at 0x1ae7e78 to 0x1ae7ebd (code length 69) [client.exe]
+converting method System.Diagnostics.TraceListenerCollection:Contains (System.Diagnostics.TraceListener)
+Method System.Diagnostics.TraceListenerCollection:Contains (System.Diagnostics.TraceListener) emitted at 0x1ae7ee8 to 0x1ae7f0b (code length 35) [client.exe]
+converting method System.Collections.ArrayList/SynchronizedArrayListWrapper:Contains (object)
+Method System.Collections.ArrayList/SynchronizedArrayListWrapper:Contains (object) emitted at 0x1ae7f10 to 0x1ae7f6e (code length 94) [client.exe]
+converting method System.Collections.ArrayList:Contains (object)
+Method System.Collections.ArrayList:Contains (object) emitted at 0x1ae7f70 to 0x1ae7f9b (code length 43) [client.exe]
+converting method System.Diagnostics.TraceListenerCollection:Add (System.Diagnostics.TraceListener)
+Method System.Diagnostics.TraceListenerCollection:Add (System.Diagnostics.TraceListener) emitted at 0x1ae7fa0 to 0x1ae7fd1 (code length 49) [client.exe]
+converting method System.Diagnostics.TraceListenerCollection:InitializeListener (System.Diagnostics.TraceListener)
+Method System.Diagnostics.TraceListenerCollection:InitializeListener (System.Diagnostics.TraceListener) emitted at 0x1ae7fe0 to 0x1ae801c (code length 60) [client.exe]
+converting method System.Diagnostics.TraceImpl:get_IndentLevel ()
+Method System.Diagnostics.TraceImpl:get_IndentLevel () emitted at 0x1ae8040 to 0x1ae805d (code length 29) [client.exe]
+converting method (wrapper remoting-invoke-with-check) System.Diagnostics.TraceListener:set_IndentLevel (int)
+Method (wrapper remoting-invoke-with-check) System.Diagnostics.TraceListener:set_IndentLevel (int) emitted at 0x1ae8060 to 0x1ae80c9 (code length 105) [client.exe]
+converting method System.Diagnostics.TraceListener:set_IndentLevel (int)
+Method System.Diagnostics.TraceListener:set_IndentLevel (int) emitted at 0x1ae80f0 to 0x1ae8101 (code length 17) [client.exe]
+converting method System.Diagnostics.TraceImpl:get_IndentSize ()
+Method System.Diagnostics.TraceImpl:get_IndentSize () emitted at 0x1ae8108 to 0x1ae8125 (code length 29) [client.exe]
+converting method IceInternal.TraceLevels:.ctor (Ice.Properties)
+Method IceInternal.TraceLevels:.ctor (Ice.Properties) emitted at 0x1ae8128 to 0x1ae834a (code length 546) [client.exe]
+converting method int:Parse (string,System.IFormatProvider)
+Method int:Parse (string,System.IFormatProvider) emitted at 0x1ae8350 to 0x1ae836d (code length 29) [client.exe]
+converting method int:Parse (string,System.Globalization.NumberStyles,System.IFormatProvider)
+Method int:Parse (string,System.Globalization.NumberStyles,System.IFormatProvider) emitted at 0x1ae8380 to 0x1ae83cc (code length 76) [client.exe]
+converting method int:Parse (string,System.Globalization.NumberStyles,System.IFormatProvider,bool,int&,System.Exception&)
+Restoring : local R27 <-
+Restoring : local R30 <-
+Restoring : local R29 <-
+Restoring : local R31 <-
+Restoring : local R39 <-
+Method int:Parse (string,System.Globalization.NumberStyles,System.IFormatProvider,bool,int&,System.Exception&) emitted at 0x1ae83d8 to 0x1ae92e4 (code length 3852) [client.exe]
+converting method System.Globalization.CultureInfo:GetFormat (System.Type)
+Method System.Globalization.CultureInfo:GetFormat (System.Type) emitted at 0x1ae9348 to 0x1ae938e (code length 70) [client.exe]
+converting method int:CheckStyle (System.Globalization.NumberStyles,bool,System.Exception&)
+Method int:CheckStyle (System.Globalization.NumberStyles,bool,System.Exception&) emitted at 0x1ae9390 to 0x1ae94a5 (code length 277) [client.exe]
+converting method int:JumpOverWhite (int&,string,bool,bool,System.Exception&)
+Method int:JumpOverWhite (int&,string,bool,bool,System.Exception&) emitted at 0x1ae94b8 to 0x1ae9565 (code length 173) [client.exe]
+converting method int:FindSign (int&,string,System.Globalization.NumberFormatInfo,bool&,bool&)
+Method int:FindSign (int&,string,System.Globalization.NumberFormatInfo,bool&,bool&) emitted at 0x1ae9568 to 0x1ae9661 (code length 249) [client.exe]
+converting method string:IndexOfOrdinalUnchecked (string,int,int)
+Method string:IndexOfOrdinalUnchecked (string,int,int) emitted at 0x1ae9670 to 0x1ae97a0 (code length 304) [client.exe]
+converting method int:ValidDigit (char,bool)
+Method int:ValidDigit (char,bool) emitted at 0x1ae97a0 to 0x1ae9816 (code length 118) [client.exe]
+converting method IceInternal.DefaultsAndOverrides:.ctor (Ice.Properties)
+Method IceInternal.DefaultsAndOverrides:.ctor (Ice.Properties) emitted at 0x1ae9818 to 0x1ae9cf9 (code length 1249) [client.exe]
+converting method IceInternal.BasicStream:compressible ()
+Method IceInternal.BasicStream:compressible () emitted at 0x1ae9d38 to 0x1ae9d4d (code length 21) [client.exe]
+converting method IceInternal.BasicStream:.cctor ()
+Method IceInternal.BasicStream:.cctor () emitted at 0x1ae9d60 to 0x1ae9f64 (code length 516) [client.exe]
+converting method (wrapper managed-to-native) IceInternal.NativeMethods:BZ2_bzlibVersion ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) IceInternal.NativeMethods:BZ2_bzlibVersion () emitted at 0x1ae9f80 to 0x1aea01b (code length 155) [client.exe]
+converting method System.DllNotFoundException:.ctor ()
+Method System.DllNotFoundException:.ctor () emitted at 0x1aea020 to 0x1aea047 (code length 39) [client.exe]
+converting method System.TypeLoadException:.ctor (string)
+Method System.TypeLoadException:.ctor (string) emitted at 0x1aea058 to 0x1aea07b (code length 35) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_string_new_wrapper (intptr)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_string_new_wrapper (intptr) emitted at 0x1aea080 to 0x1aea0f6 (code length 118) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_thread_get_undeniable_exception ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_thread_get_undeniable_exception () emitted at 0x1aea0f8 to 0x1aea162 (code length 106) [client.exe]
+converting method Ice.Util:encodingVersionToString (Ice.EncodingVersion)
+Method Ice.Util:encodingVersionToString (Ice.EncodingVersion) emitted at 0x1aea168 to 0x1aea185 (code length 29) [client.exe]
+converting method Ice.Util:majorMinorToString (byte,byte)
+Method Ice.Util:majorMinorToString (byte,byte) emitted at 0x1aea198 to 0x1aea23e (code length 166) [client.exe]
+converting method System.Text.StringBuilder:Append (int)
+Method System.Text.StringBuilder:Append (int) emitted at 0x1aea250 to 0x1aea279 (code length 41) [client.exe]
+converting method int:ToString ()
+Method int:ToString () emitted at 0x1aea280 to 0x1aea29d (code length 29) [client.exe]
+converting method System.NumberFormatter:NumberToString (int,System.IFormatProvider)
+Method System.NumberFormatter:NumberToString (int,System.IFormatProvider) emitted at 0x1aea2b0 to 0x1aea320 (code length 112) [client.exe]
+converting method System.NumberFormatter:.cctor ()
+Method System.NumberFormatter:.cctor () emitted at 0x1aea350 to 0x1aea381 (code length 49) [client.exe]
+converting method (wrapper managed-to-native) System.NumberFormatter:GetFormatterTables (ulong*&,int*&,char*&,char*&,long*&,int*&)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) System.NumberFormatter:GetFormatterTables (ulong*&,int*&,char*&,char*&,long*&,int*&) emitted at 0x1aea390 to 0x1aea40a (code length 122) [client.exe]
+converting method System.NumberFormatter:GetInstance ()
+Method System.NumberFormatter:GetInstance () emitted at 0x1aea410 to 0x1aea4a6 (code length 150) [client.exe]
+converting method System.NumberFormatter:.ctor (System.Threading.Thread)
+converting method System.EmptyArray`1<char>:.cctor ()
+Method System.EmptyArray`1<char>:.cctor () emitted at 0x1aea4c0 to 0x1aea4e6 (code length 38) [client.exe]
+Method System.NumberFormatter:.ctor (System.Threading.Thread) emitted at 0x1aea4e8 to 0x1aea54c (code length 100) [client.exe]
+converting method System.NumberFormatter:set_CurrentCulture (System.Globalization.CultureInfo)
+Method System.NumberFormatter:set_CurrentCulture (System.Globalization.CultureInfo) emitted at 0x1aea550 to 0x1aea5b6 (code length 102) [client.exe]
+converting method System.NumberFormatter:FastIntegerToString (int,System.IFormatProvider)
+Method System.NumberFormatter:FastIntegerToString (int,System.IFormatProvider) emitted at 0x1aea5b8 to 0x1aea695 (code length 221) [client.exe]
+converting method System.NumberFormatter:ResetCharBuf (int)
+Method System.NumberFormatter:ResetCharBuf (int) emitted at 0x1aea6c8 to 0x1aea728 (code length 96) [client.exe]
+converting method System.NumberFormatter:FastAppendDigits (int,bool)
+Method System.NumberFormatter:FastAppendDigits (int,bool) emitted at 0x1aea728 to 0x1aea84f (code length 295) [client.exe]
+converting method System.NumberFormatter:Release ()
+Method System.NumberFormatter:Release () emitted at 0x1aea850 to 0x1aea86e (code length 30) [client.exe]
+converting method Ice.Util:stringToEncodingVersion (string)
+Method Ice.Util:stringToEncodingVersion (string) emitted at 0x1aea870 to 0x1aea8cd (code length 93) [client.exe]
+converting method Ice.Util:stringToMajorMinor (string,byte&,byte&)
+Method Ice.Util:stringToMajorMinor (string,byte&,byte&) emitted at 0x1aea8e0 to 0x1aeab44 (code length 612) [client.exe]
+converting method IceInternal.Protocol:checkSupportedEncoding (Ice.EncodingVersion)
+Method IceInternal.Protocol:checkSupportedEncoding (Ice.EncodingVersion) emitted at 0x1aeab50 to 0x1aeabdc (code length 140) [client.exe]
+converting method IceInternal.Protocol:.cctor ()
+Method IceInternal.Protocol:.cctor () emitted at 0x1aeabe8 to 0x1aeaf37 (code length 847) [client.exe]
+converting method Ice.ImplicitContextI:create (string)
+Method Ice.ImplicitContextI:create (string) emitted at 0x1aeaf38 to 0x1aeb07c (code length 324) [client.exe]
+converting method IceInternal.RouterManager:.ctor ()
+Method IceInternal.RouterManager:.ctor () emitted at 0x1aeb098 to 0x1aeb0eb (code length 83) [client.exe]
+converting method IceInternal.LocatorManager:.ctor (Ice.Properties)
+Method IceInternal.LocatorManager:.ctor (Ice.Properties) emitted at 0x1aeb108 to 0x1aeb1cf (code length 199) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<IceInternal.LocatorManager/LocatorKey, IceInternal.LocatorTable>:.ctor ()
+Method System.Collections.Generic.Dictionary`2<IceInternal.LocatorManager/LocatorKey, IceInternal.LocatorTable>:.ctor () emitted at 0x1aeb1f8 to 0x1aeb215 (code length 29) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<IceInternal.LocatorManager/LocatorKey, IceInternal.LocatorTable>:Init (int,System.Collections.Generic.IEqualityComparer`1<IceInternal.LocatorManager/LocatorKey>)
+Method System.Collections.Generic.Dictionary`2<IceInternal.LocatorManager/LocatorKey, IceInternal.LocatorTable>:Init (int,System.Collections.Generic.IEqualityComparer`1<IceInternal.LocatorManager/LocatorKey>) emitted at 0x1aeb228 to 0x1aeb300 (code length 216) [client.exe]
+converting method System.Collections.Generic.EqualityComparer`1<IceInternal.LocatorManager/LocatorKey>:get_Default ()
+Method System.Collections.Generic.EqualityComparer`1<IceInternal.LocatorManager/LocatorKey>:get_Default () emitted at 0x1aeb318 to 0x1aeb32c (code length 20) [client.exe]
+converting method System.Collections.Generic.EqualityComparer`1<IceInternal.LocatorManager/LocatorKey>:.cctor ()
+Method System.Collections.Generic.EqualityComparer`1<IceInternal.LocatorManager/LocatorKey>:.cctor () emitted at 0x1aeb338 to 0x1aeb42a (code length 242) [client.exe]
+converting method System.Collections.Generic.EqualityComparer`1/DefaultComparer<IceInternal.LocatorManager/LocatorKey>:.ctor ()
+Method System.Collections.Generic.EqualityComparer`1/DefaultComparer<IceInternal.LocatorManager/LocatorKey>:.ctor () emitted at 0x1aeb438 to 0x1aeb451 (code length 25) [client.exe]
+converting method System.Collections.Generic.EqualityComparer`1<IceInternal.LocatorManager/LocatorKey>:.ctor ()
+Method System.Collections.Generic.EqualityComparer`1<IceInternal.LocatorManager/LocatorKey>:.ctor () emitted at 0x1aeb460 to 0x1aeb468 (code length 8) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<IceInternal.LocatorManager/LocatorKey, IceInternal.LocatorTable>:InitArrays (int)
+Method System.Collections.Generic.Dictionary`2<IceInternal.LocatorManager/LocatorKey, IceInternal.LocatorTable>:InitArrays (int) emitted at 0x1aeb468 to 0x1aeb5af (code length 327) [client.exe]
+converting method IceInternal.ReferenceFactory:.ctor (IceInternal.Instance,Ice.Communicator)
+Method IceInternal.ReferenceFactory:.ctor (IceInternal.Instance,Ice.Communicator) emitted at 0x1aeb5b0 to 0x1aeb60d (code length 93) [client.exe]
+converting method IceInternal.ReferenceFactory:.cctor ()
+Method IceInternal.ReferenceFactory:.cctor () emitted at 0x1aeb610 to 0x1aeb710 (code length 256) [client.exe]
+converting method IceInternal.ProxyFactory:.ctor (IceInternal.Instance)
+Method IceInternal.ProxyFactory:.ctor (IceInternal.Instance) emitted at 0x1aeb710 to 0x1aeb987 (code length 631) [client.exe]
+converting method Ice.PropertiesI:getPropertyAsList (string)
+Method Ice.PropertiesI:getPropertyAsList (string) emitted at 0x1aeb988 to 0x1aeb9a5 (code length 29) [client.exe]
+converting method Ice.PropertiesI:getPropertyAsListWithDefault (string,string[])
+Method Ice.PropertiesI:getPropertyAsListWithDefault (string,string[]) emitted at 0x1aeb9b8 to 0x1aebac8 (code length 272) [client.exe]
+converting method IceInternal.EndpointFactoryManager:.ctor (IceInternal.Instance)
+Method IceInternal.EndpointFactoryManager:.ctor (IceInternal.Instance) emitted at 0x1aebad8 to 0x1aebb7d (code length 165) [client.exe]
+converting method IceInternal.EndpointFactoryManager:add (IceInternal.EndpointFactory)
+Method IceInternal.EndpointFactoryManager:add (IceInternal.EndpointFactory) emitted at 0x1aebba0 to 0x1aebcbf (code length 287) [client.exe]
+converting method (wrapper stelemref) object:virt_stelemref_interface (intptr,object)
+Method (wrapper stelemref) object:virt_stelemref_interface (intptr,object) emitted at 0x1aebcd0 to 0x1aebd95 (code length 197) [client.exe]
+converting method IceInternal.TcpEndpointFactory:type ()
+Method IceInternal.TcpEndpointFactory:type () emitted at 0x1aebd98 to 0x1aebda5 (code length 13) [client.exe]
+converting method IceInternal.UdpEndpointFactory:type ()
+Method IceInternal.UdpEndpointFactory:type () emitted at 0x1aebda8 to 0x1aebdb5 (code length 13) [client.exe]
+converting method Ice.PluginManagerI:.ctor (Ice.Communicator)
+Method Ice.PluginManagerI:.ctor (Ice.Communicator) emitted at 0x1aebdb8 to 0x1aebe52 (code length 154) [client.exe]
+converting method Ice.PluginManagerI:.cctor ()
+Method Ice.PluginManagerI:.cctor () emitted at 0x1aebe58 to 0x1aebe73 (code length 27) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:.ctor (Ice.Communicator,IceInternal.Instance)
+Method IceInternal.OutgoingConnectionFactory:.ctor (Ice.Communicator,IceInternal.Instance) emitted at 0x1aebe78 to 0x1aec0a1 (code length 553) [client.exe]
+converting gshared method IceInternal.MultiDictionary`2<IceInternal.Connector, Ice.ConnectionI>:.ctor ()
+Method IceInternal.MultiDictionary`2:.ctor () emitted at 0x1aec0e8 to 0x1aec101 (code length 25) [client.exe]
+converting method IceInternal.ObjectFactoryManager:.ctor ()
+Method IceInternal.ObjectFactoryManager:.ctor () emitted at 0x1aec130 to 0x1aec183 (code length 83) [client.exe]
+converting method IceInternal.ObjectAdapterFactory:.ctor (IceInternal.Instance,Ice.Communicator)
+Method IceInternal.ObjectAdapterFactory:.ctor (IceInternal.Instance,Ice.Communicator) emitted at 0x1aec190 to 0x1aec2d9 (code length 329) [client.exe]
+converting method IceInternal.RetryQueue:.ctor (IceInternal.Instance)
+Method IceInternal.RetryQueue:.ctor (IceInternal.Instance) emitted at 0x1aec2f8 to 0x1aec376 (code length 126) [client.exe]
+converting method IceInternal.ProcessI:.ctor (Ice.Communicator)
+Method IceInternal.ProcessI:.ctor (Ice.Communicator) emitted at 0x1aec398 to 0x1aec3db (code length 67) [client.exe]
+converting method Ice.ProcessDisp_:.ctor ()
+Method Ice.ProcessDisp_:.ctor () emitted at 0x1aec3e8 to 0x1aec401 (code length 25) [client.exe]
+converting method Ice.ProcessDisp_:.cctor ()
+Method Ice.ProcessDisp_:.cctor () emitted at 0x1aec410 to 0x1aec52e (code length 286) [client.exe]
+converting method Ice.ObjectImpl:.ctor ()
+Method Ice.ObjectImpl:.ctor () emitted at 0x1aec530 to 0x1aec538 (code length 8) [client.exe]
+converting method Ice.ObjectImpl:.cctor ()
+Method Ice.ObjectImpl:.cctor () emitted at 0x1aec538 to 0x1aec622 (code length 234) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, Ice.Object>:Add (string,Ice.Object)
+Method System.Collections.Generic.Dictionary`2:Add (TKey,TValue) emitted at 0x1aec628 to 0x1aec8f3 (code length 715) [client.exe]
+converting method IceInternal.MetricsAdminI:.ctor (Ice.Properties,Ice.Logger)
+Method IceInternal.MetricsAdminI:.ctor (Ice.Properties,Ice.Logger) emitted at 0x1aec8f8 to 0x1aeca60 (code length 360) [client.exe]
+converting method IceInternal.MetricsAdminI:.cctor ()
+Method IceInternal.MetricsAdminI:.cctor () emitted at 0x1aeca90 to 0x1aecb5a (code length 202) [client.exe]
+converting method IceMX.MetricsAdminDisp_:.ctor ()
+Method IceMX.MetricsAdminDisp_:.ctor () emitted at 0x1aecb60 to 0x1aecb68 (code length 8) [client.exe]
+converting method IceMX.MetricsAdminDisp_:.cctor ()
+Method IceMX.MetricsAdminDisp_:.cctor () emitted at 0x1aecb68 to 0x1aeccf2 (code length 394) [client.exe]
+converting method IceInternal.MetricsAdminI:updateViews ()
+Method IceInternal.MetricsAdminI:updateViews () emitted at 0x1aeccf8 to 0x1aed48f (code length 1943) [client.exe]
+converting method Ice.PropertiesI:getPropertiesForPrefix (string)
+Method Ice.PropertiesI:getPropertiesForPrefix (string) emitted at 0x1aed590 to 0x1aed6fe (code length 366) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, Ice.PropertiesI/PropertyValue>:get_Keys ()
+Method System.Collections.Generic.Dictionary`2:get_Keys () emitted at 0x1aed748 to 0x1aed788 (code length 64) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/KeyCollection<string, Ice.PropertiesI/PropertyValue>:.ctor (System.Collections.Generic.Dictionary`2<string, Ice.PropertiesI/PropertyValue>)
+Method System.Collections.Generic.Dictionary`2/KeyCollection:.ctor (System.Collections.Generic.Dictionary`2<TKey, TValue>) emitted at 0x1aed798 to 0x1aed800 (code length 104) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/KeyCollection<string, Ice.PropertiesI/PropertyValue>:GetEnumerator ()
+Method System.Collections.Generic.Dictionary`2/KeyCollection:GetEnumerator () emitted at 0x1aed800 to 0x1aed8f7 (code length 247) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/KeyCollection/Enumerator<string, Ice.PropertiesI/PropertyValue>:.ctor (System.Collections.Generic.Dictionary`2<string, Ice.PropertiesI/PropertyValue>)
+Method System.Collections.Generic.Dictionary`2/KeyCollection/Enumerator:.ctor (System.Collections.Generic.Dictionary`2<TKey, TValue>) emitted at 0x1aed908 to 0x1aed9a7 (code length 159) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/KeyCollection/Enumerator<string, Ice.PropertiesI/PropertyValue>:MoveNext ()
+Method System.Collections.Generic.Dictionary`2/KeyCollection/Enumerator:MoveNext () emitted at 0x1aed9b8 to 0x1aed9e8 (code length 48) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, Ice.PropertiesI/PropertyValue>:get_Item (string)
+Method System.Collections.Generic.Dictionary`2:get_Item (TKey) emitted at 0x1aed9f8 to 0x1aedba0 (code length 424) [client.exe]
+converting gshared method System.Collections.Generic.List`1<string>:Clear ()
+Method System.Collections.Generic.List`1:Clear () emitted at 0x1aedba0 to 0x1aedbdd (code length 61) [client.exe]
+converting gshared method System.Collections.Generic.List`1<string>:Contains (string)
+Method System.Collections.Generic.List`1:Contains (T) emitted at 0x1aedbe0 to 0x1aedc38 (code length 88) [client.exe]
+converting method string:Concat (string,string,string)
+Method string:Concat (string,string,string) emitted at 0x1aedc48 to 0x1aeddcb (code length 387) [client.exe]
+converting method IceInternal.MetricsAdminI:validateProperties (string,Ice.Properties)
+Method IceInternal.MetricsAdminI:validateProperties (string,Ice.Properties) emitted at 0x1aeddd0 to 0x1aee11b (code length 843) [client.exe]
+converting method IceUtilInternal.StringUtil:match (string,string,bool)
+Method IceUtilInternal.StringUtil:match (string,string,bool) emitted at 0x1aee168 to 0x1aee2ed (code length 389) [client.exe]
+converting method IceUtilInternal.StringUtil:.cctor ()
+Method IceUtilInternal.StringUtil:.cctor () emitted at 0x1aee2f0 to 0x1aee312 (code length 34) [client.exe]
+converting method IceInternal.MetricsViewI:.ctor (string)
+Method IceInternal.MetricsViewI:.ctor (string) emitted at 0x1aee318 to 0x1aee396 (code length 126) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1<IceInternal.IMetricsMapFactory>:GetEnumerator ()
+Method System.Collections.Generic.HashSet`1:GetEnumerator () emitted at 0x1aee3a8 to 0x1aee46d (code length 197) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1/Enumerator<IceInternal.IMetricsMapFactory>:.ctor (System.Collections.Generic.HashSet`1<IceInternal.IMetricsMapFactory>)
+Method System.Collections.Generic.HashSet`1/Enumerator:.ctor (System.Collections.Generic.HashSet`1<T>) emitted at 0x1aee480 to 0x1aee4d6 (code length 86) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1/Enumerator<IceInternal.IMetricsMapFactory>:MoveNext ()
+Method System.Collections.Generic.HashSet`1/Enumerator:MoveNext () emitted at 0x1aee4d8 to 0x1aee5b0 (code length 216) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1/Enumerator<IceInternal.IMetricsMapFactory>:CheckState ()
+Method System.Collections.Generic.HashSet`1/Enumerator:CheckState () emitted at 0x1aee5c8 to 0x1aee63c (code length 116) [client.exe]
+converting method IceInternal.PropertiesAdminI:.ctor (string,Ice.Properties,Ice.Logger)
+Method IceInternal.PropertiesAdminI:.ctor (string,Ice.Properties,Ice.Logger) emitted at 0x1aee640 to 0x1aee73f (code length 255) [client.exe]
+converting method Ice.PropertiesAdminDisp_:.ctor ()
+Method Ice.PropertiesAdminDisp_:.ctor () emitted at 0x1aee768 to 0x1aee770 (code length 8) [client.exe]
+converting method Ice.PropertiesAdminDisp_:.cctor ()
+Method Ice.PropertiesAdminDisp_:.cctor () emitted at 0x1aee770 to 0x1aee8a9 (code length 313) [client.exe]
+converting method Ice.CommunicatorI:finishSetup (string[]&)
+Method Ice.CommunicatorI:finishSetup (string[]&) emitted at 0x1aee8b0 to 0x1aee8fa (code length 74) [client.exe]
+converting method IceInternal.Instance:finishSetup (string[]&)
+Method IceInternal.Instance:finishSetup (string[]&) emitted at 0x1aee908 to 0x1aeef5d (code length 1621) [client.exe]
+converting method Ice.PluginManagerI:loadPlugins (string[]&)
+Method Ice.PluginManagerI:loadPlugins (string[]&) emitted at 0x1aef038 to 0x1aef6f0 (code length 1720) [client.exe]
+converting method Ice.CommunicatorI:getProperties ()
+Method Ice.CommunicatorI:getProperties () emitted at 0x1aef760 to 0x1aef778 (code length 24) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/Enumerator<string, string>:get_Current ()
+Method System.Collections.Generic.Dictionary`2/Enumerator:get_Current () emitted at 0x1aef798 to 0x1aef7fe (code length 102) [client.exe]
+converting method string:LastIndexOf (char)
+Method string:LastIndexOf (char) emitted at 0x1aef820 to 0x1aef858 (code length 56) [client.exe]
+converting method string:LastIndexOfUnchecked (char,int,int)
+Method string:LastIndexOfUnchecked (char,int,int) emitted at 0x1aef858 to 0x1aefa60 (code length 520) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, string>:Remove (string)
+Method System.Collections.Generic.Dictionary`2:Remove (TKey) emitted at 0x1aefa60 to 0x1aefd06 (code length 678) [client.exe]
+converting method Ice.PluginManagerI:loadPlugin (string,string,string[]&)
+Method Ice.PluginManagerI:loadPlugin (string,string,string[]&) emitted at 0x1aefd08 to 0x1af0dc5 (code length 4285) [client.exe]
+converting method IceUtilInternal.Options:split (string)
+Method IceUtilInternal.Options:split (string) emitted at 0x1af0e10 to 0x1af1be1 (code length 3537) [client.exe]
+converting method System.Reflection.Assembly:GetType (string,bool)
+Method System.Reflection.Assembly:GetType (string,bool) emitted at 0x1af1d70 to 0x1af1d8d (code length 29) [client.exe]
+converting method IceInternal.AssemblyUtil:createInstance (System.Type)
+Method IceInternal.AssemblyUtil:createInstance (System.Type) emitted at 0x1af1d90 to 0x1af1ddf (code length 79) [client.exe]
+converting method IceDiscovery.PluginFactory:.ctor ()
+Method IceDiscovery.PluginFactory:.ctor () emitted at 0x1af1de0 to 0x1af1de8 (code length 8) [client.exe]
+converting method IceDiscovery.PluginFactory:create (Ice.Communicator,string,string[])
+Method IceDiscovery.PluginFactory:create (Ice.Communicator,string,string[]) emitted at 0x1af1de8 to 0x1af1e18 (code length 48) [client.exe]
+converting method IceDiscovery.PluginI:.ctor (Ice.Communicator)
+Method IceDiscovery.PluginI:.ctor (Ice.Communicator) emitted at 0x1af1e28 to 0x1af1feb (code length 451) [client.exe]
+converting method Ice.PropertiesI:ice_clone_ ()
+Method Ice.PropertiesI:ice_clone_ () emitted at 0x1af1ff8 to 0x1af2061 (code length 105) [client.exe]
+converting method Ice.PropertiesI:.ctor (Ice.PropertiesI)
+Method Ice.PropertiesI:.ctor (Ice.PropertiesI) emitted at 0x1af2070 to 0x1af21c4 (code length 340) [client.exe]
+converting method Ice.Util:initialize (Ice.InitializationData)
+Method Ice.Util:initialize (Ice.InitializationData) emitted at 0x1af21c8 to 0x1af2292 (code length 202) [client.exe]
+converting method IceInternal.Timer:.ctor (IceInternal.Instance)
+Method IceInternal.Timer:.ctor (IceInternal.Instance) emitted at 0x1af2298 to 0x1af2394 (code length 252) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2<IceInternal.Timer/Token, object>:.ctor ()
+Method System.Collections.Generic.SortedDictionary`2:.ctor () emitted at 0x1af23b8 to 0x1af23d1 (code length 25) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2<IceInternal.Timer/Token, object>:.ctor (System.Collections.Generic.IComparer`1<IceInternal.Timer/Token>)
+Method System.Collections.Generic.SortedDictionary`2:.ctor (System.Collections.Generic.IComparer`1<TKey>) emitted at 0x1af23e0 to 0x1af24af (code length 207) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2/NodeHelper<IceInternal.Timer/Token, object>:.cctor ()
+Method System.Collections.Generic.SortedDictionary`2/NodeHelper:.cctor () emitted at 0x1af24c8 to 0x1af2566 (code length 158) [client.exe]
+converting gshared method System.Collections.Generic.Comparer`1<IceInternal.Timer/Token>:.cctor ()
+Method System.Collections.Generic.Comparer`1:.cctor () emitted at 0x1af2590 to 0x1af26de (code length 334) [client.exe]
+converting gshared method System.Collections.Generic.Comparer`1/DefaultComparer<IceInternal.Timer/Token>:.ctor ()
+Method System.Collections.Generic.Comparer`1/DefaultComparer:.ctor () emitted at 0x1af2700 to 0x1af2735 (code length 53) [client.exe]
+converting gshared method System.Collections.Generic.Comparer`1<IceInternal.Timer/Token>:.ctor ()
+Method System.Collections.Generic.Comparer`1:.ctor () emitted at 0x1af2748 to 0x1af2750 (code length 8) [client.exe]
+converting gshared method System.Collections.Generic.Comparer`1<IceInternal.Timer/Token>:get_Default ()
+Method System.Collections.Generic.Comparer`1:get_Default () emitted at 0x1af2750 to 0x1af2787 (code length 55) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2/NodeHelper<IceInternal.Timer/Token, object>:.ctor (System.Collections.Generic.IComparer`1<IceInternal.Timer/Token>)
+Method System.Collections.Generic.SortedDictionary`2/NodeHelper:.ctor (System.Collections.Generic.IComparer`1<TKey>) emitted at 0x1af2788 to 0x1af27ba (code length 50) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2/NodeHelper<IceInternal.Timer/Token, object>:GetHelper (System.Collections.Generic.IComparer`1<IceInternal.Timer/Token>)
+Method System.Collections.Generic.SortedDictionary`2/NodeHelper:GetHelper (System.Collections.Generic.IComparer`1<TKey>) emitted at 0x1af27c0 to 0x1af2868 (code length 168) [client.exe]
+converting method System.Collections.Generic.RBTree:.ctor (object)
+Method System.Collections.Generic.RBTree:.ctor (object) emitted at 0x1af2868 to 0x1af289a (code length 50) [client.exe]
+converting method IceInternal.Timer:init (IceInternal.Instance,System.Threading.ThreadPriority,bool)
+Method IceInternal.Timer:init (IceInternal.Instance,System.Threading.ThreadPriority,bool) emitted at 0x1af28b0 to 0x1af2a58 (code length 424) [client.exe]
+converting method IceInternal.Timer:Run ()
+converting method IceInternal.EndpointHostResolver:.ctor (IceInternal.Instance)
+Method IceInternal.EndpointHostResolver:.ctor (IceInternal.Instance) emitted at 0x1af2a58 to 0x1af2bf1 (code length 409) [client.exe]
+converting method IceInternal.EndpointHostResolver/HelperThread:.ctor (IceInternal.EndpointHostResolver)
+Method IceInternal.EndpointHostResolver/HelperThread:.ctor (IceInternal.EndpointHostResolver) emitted at 0x1af2c18 to 0x1af2d20 (code length 264) [client.exe]
+converting method IceInternal.EndpointHostResolver:updateObserver ()
+Method IceInternal.EndpointHostResolver:updateObserver () emitted at 0x1af2d20 to 0x1af2e0f (code length 239) [client.exe]
+converting method IceInternal.EndpointHostResolver/HelperThread:Start (System.Threading.ThreadPriority)
+Method IceInternal.EndpointHostResolver/HelperThread:Start (System.Threading.ThreadPriority) emitted at 0x1b05520 to 0x1b0564b (code length 299) [client.exe]
+Method IceInternal.Timer:Run () emitted at 0x1b05000 to 0x1b0551f (code length 1311) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2<IceInternal.Timer/Token, object>:get_Count ()
+converting method IceInternal.EndpointHostResolver/HelperThread:Run ()
+Method System.Collections.Generic.SortedDictionary`2:get_Count () emitted at 0x1b05680 to 0x1b0569d (code length 29) [client.exe]
+converting method IceInternal.ThreadPool:.ctor (IceInternal.Instance,string,int)
+converting method System.Collections.Generic.RBTree:get_Count ()
+Method System.Collections.Generic.RBTree:get_Count () emitted at 0x1b056b0 to 0x1b056de (code length 46) [client.exe]
+converting method IceUtilInternal.Monitor:Wait ()
+Method IceInternal.EndpointHostResolver/HelperThread:Run () emitted at 0x1b056e0 to 0x1b05824 (code length 324) [client.exe]
+Method IceUtilInternal.Monitor:Wait () emitted at 0x1b05830 to 0x1b05849 (code length 25) [client.exe]
+converting method System.Threading.Monitor:Wait (object)
+Method System.Threading.Monitor:Wait (object) emitted at 0x1b05858 to 0x1b05874 (code length 28) [client.exe]
+converting method System.Threading.Monitor:Wait (object,int)
+converting method IceInternal.EndpointHostResolver:run ()
+Method System.Threading.Monitor:Wait (object,int) emitted at 0x1b05880 to 0x1b05970 (code length 240) [client.exe]
+converting method (wrapper managed-to-native) System.Threading.Monitor:Monitor_test_synchronised (object)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Threading.Monitor:Monitor_test_synchronised (object) emitted at 0x1b05988 to 0x1b05a02 (code length 122) [client.exe]
+converting method (wrapper managed-to-native) System.Threading.Monitor:Monitor_wait (object,int)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Threading.Monitor:Monitor_wait (object,int) emitted at 0x1b05a08 to 0x1b05a86 (code length 126) [client.exe]
+Method IceInternal.EndpointHostResolver:run () emitted at 0x1b05a88 to 0x1b05f4a (code length 1218) [client.exe]
+Method IceInternal.ThreadPool:.ctor (IceInternal.Instance,string,int) emitted at 0x1b05f70 to 0x1b06dbb (code length 3659) [client.exe]
+converting method IceInternal.Util:stringToThreadPriority (string)
+Method IceInternal.Util:stringToThreadPriority (string) emitted at 0x1b06e50 to 0x1b06f8d (code length 317) [client.exe]
+converting method IceInternal.Instance:traceLevels ()
+Method IceInternal.Instance:traceLevels () emitted at 0x1b06f90 to 0x1b06fc3 (code length 51) [client.exe]
+converting method string:Concat (object,object,object)
+Method string:Concat (object,object,object) emitted at 0x1b06fd8 to 0x1b07065 (code length 141) [client.exe]
+converting method IceInternal.ThreadPool/WorkerThread:.ctor (IceInternal.ThreadPool,string)
+Method IceInternal.ThreadPool/WorkerThread:.ctor (IceInternal.ThreadPool,string) emitted at 0x1b07078 to 0x1b070e8 (code length 112) [client.exe]
+converting method IceInternal.ThreadPool/WorkerThread:updateObserver ()
+Method IceInternal.ThreadPool/WorkerThread:updateObserver () emitted at 0x1b070f8 to 0x1b0718d (code length 149) [client.exe]
+converting method IceInternal.ThreadPool/WorkerThread:start (System.Threading.ThreadPriority)
+Method IceInternal.ThreadPool/WorkerThread:start (System.Threading.ThreadPriority) emitted at 0x1b07190 to 0x1b073aa (code length 538) [client.exe]
+converting method IceInternal.ProxyFactory:propertyToProxy (string)
+converting method IceInternal.ThreadPool/WorkerThread:Run ()
+Method IceInternal.ProxyFactory:propertyToProxy (string) emitted at 0x1b073b8 to 0x1b07425 (code length 109) [client.exe]
+converting method IceInternal.Instance:referenceFactory ()
+Method IceInternal.Instance:referenceFactory () emitted at 0x1b07450 to 0x1b074f4 (code length 164) [client.exe]
+converting method IceInternal.ReferenceFactory:create (string,string)
+Method IceInternal.ThreadPool/WorkerThread:Run () emitted at 0x1b074f8 to 0x1b07bac (code length 1716) [client.exe]
+converting method IceInternal.ThreadPool:run (IceInternal.ThreadPool/WorkerThread)
+Method IceInternal.ThreadPool:run (IceInternal.ThreadPool/WorkerThread) emitted at 0x1b07bd0 to 0x1b086f9 (code length 2857) [client.exe]
+converting method IceUtilInternal.Monitor:TimedWait (int)
+Method IceUtilInternal.Monitor:TimedWait (int) emitted at 0x1b08748 to 0x1b08764 (code length 28) [client.exe]
+Method IceInternal.ReferenceFactory:create (string,string) emitted at 0x1b08768 to 0x1b0b497 (code length 11567) [client.exe]
+converting method IceInternal.ProxyFactory:referenceToProxy (IceInternal.Reference)
+Method IceInternal.ProxyFactory:referenceToProxy (IceInternal.Reference) emitted at 0x1b0b5b8 to 0x1b0b611 (code length 89) [client.exe]
+converting method Ice.RouterPrxHelper:uncheckedCast (Ice.ObjectPrx)
+Method Ice.RouterPrxHelper:uncheckedCast (Ice.ObjectPrx) emitted at 0x1b0b630 to 0x1b0b719 (code length 233) [client.exe]
+converting method Ice.RouterPrxHelper:.cctor ()
+Method Ice.RouterPrxHelper:.cctor () emitted at 0x1b0b740 to 0x1b0b79e (code length 94) [client.exe]
+converting method Ice.LocatorPrxHelper:uncheckedCast (Ice.ObjectPrx)
+Method Ice.LocatorPrxHelper:uncheckedCast (Ice.ObjectPrx) emitted at 0x1b0b7a0 to 0x1b0b889 (code length 233) [client.exe]
+converting method Ice.LocatorPrxHelper:.cctor ()
+Method Ice.LocatorPrxHelper:.cctor () emitted at 0x1b0b8a8 to 0x1b0b906 (code length 94) [client.exe]
+converting method IceInternal.ConnectionMonitor:.ctor (IceInternal.Instance,int)
+Method IceInternal.ConnectionMonitor:.ctor (IceInternal.Instance,int) emitted at 0x1b0b908 to 0x1b0b995 (code length 141) [client.exe]
+converting method IceInternal.ConnectionMonitor:checkIntervalForACM (int)
+Method IceInternal.ConnectionMonitor:checkIntervalForACM (int) emitted at 0x1b0b9b8 to 0x1b0baba (code length 258) [client.exe]
+converting method IceInternal.Instance:timer ()
+Method IceInternal.Instance:timer () emitted at 0x1b0bae0 to 0x1b0bb84 (code length 164) [client.exe]
+converting method IceInternal.Timer:cancel (IceInternal.TimerTask)
+Method IceInternal.Timer:cancel (IceInternal.TimerTask) emitted at 0x1b0bb88 to 0x1b0bc67 (code length 223) [client.exe]
+converting method IceInternal.Timer:scheduleRepeated (IceInternal.TimerTask,long)
+Method IceInternal.Timer:scheduleRepeated (IceInternal.TimerTask,long) emitted at 0x1b0bc90 to 0x1b0be3e (code length 430) [client.exe]
+converting method IceInternal.Time:currentMonotonicTimeMillis ()
+Method IceInternal.Time:currentMonotonicTimeMillis () emitted at 0x1b0be58 to 0x1b0be92 (code length 58) [client.exe]
+converting method IceInternal.Time:.cctor ()
+Method IceInternal.Time:.cctor () emitted at 0x1b0beb0 to 0x1b0bef9 (code length 73) [client.exe]
+converting method System.Diagnostics.Stopwatch:.ctor ()
+Method System.Diagnostics.Stopwatch:.ctor () emitted at 0x1b0bf18 to 0x1b0bf20 (code length 8) [client.exe]
+converting method System.Diagnostics.Stopwatch:.cctor ()
+Method System.Diagnostics.Stopwatch:.cctor () emitted at 0x1b0bf20 to 0x1b0bf42 (code length 34) [client.exe]
+converting method System.Diagnostics.Stopwatch:Start ()
+Method System.Diagnostics.Stopwatch:Start () emitted at 0x1b0bf48 to 0x1b0bf7f (code length 55) [client.exe]
+converting method (wrapper managed-to-native) System.Diagnostics.Stopwatch:GetTimestamp ()
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Diagnostics.Stopwatch:GetTimestamp () emitted at 0x1b0bf90 to 0x1b0c00a (code length 122) [client.exe]
+converting method System.Diagnostics.Stopwatch:get_ElapsedMilliseconds ()
+Method System.Diagnostics.Stopwatch:get_ElapsedMilliseconds () emitted at 0x1b0c018 to 0x1b0c086 (code length 110) [client.exe]
+converting method System.Diagnostics.Stopwatch:get_ElapsedTicks ()
+Method System.Diagnostics.Stopwatch:get_ElapsedTicks () emitted at 0x1b0c098 to 0x1b0c0f9 (code length 97) [client.exe]
+converting method IceInternal.Timer/Token:.ctor (long,int,long,IceInternal.TimerTask)
+Method IceInternal.Timer/Token:.ctor (long,int,long,IceInternal.TimerTask) emitted at 0x1b0c100 to 0x1b0c156 (code length 86) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2<IceInternal.Timer/Token, object>:Add (IceInternal.Timer/Token,object)
+Method System.Collections.Generic.SortedDictionary`2:Add (TKey,TValue) emitted at 0x1b0c188 to 0x1b0c298 (code length 272) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2/Node<IceInternal.Timer/Token, object>:.ctor (IceInternal.Timer/Token,object)
+Method System.Collections.Generic.SortedDictionary`2/Node:.ctor (TKey,TValue) emitted at 0x1b0c2b0 to 0x1b0c31d (code length 109) [client.exe]
+converting method System.Collections.Generic.RBTree/Node:.ctor ()
+Method System.Collections.Generic.RBTree/Node:.ctor () emitted at 0x1b0c330 to 0x1b0c342 (code length 18) [client.exe]
+converting gshared method System.Collections.Generic.RBTree:Intern<IceInternal.Timer/Token> (IceInternal.Timer/Token,System.Collections.Generic.RBTree/Node)
+Method System.Collections.Generic.RBTree:Intern<T> (T,System.Collections.Generic.RBTree/Node) emitted at 0x1b0c348 to 0x1b0c4ed (code length 421) [client.exe]
+converting method System.Collections.Generic.RBTree/Node:set_IsBlack (bool)
+Method System.Collections.Generic.RBTree/Node:set_IsBlack (bool) emitted at 0x1b0c548 to 0x1b0c583 (code length 59) [client.exe]
+converting method IceUtilInternal.Monitor:Notify ()
+Method IceUtilInternal.Monitor:Notify () emitted at 0x1b0c588 to 0x1b0c5a1 (code length 25) [client.exe]
+converting method System.Threading.Monitor:Pulse (object)
+Method System.Threading.Monitor:Pulse (object) emitted at 0x1b0c5b0 to 0x1b0c644 (code length 148) [client.exe]
+converting method (wrapper managed-to-native) System.Threading.Monitor:Monitor_pulse (object)
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Threading.Monitor:Monitor_pulse (object) emitted at 0x1b0c650 to 0x1b0c6be (code length 110) [client.exe]
+converting method Ice.PluginManagerI:initializePlugins ()
+converting gshared method System.Collections.Generic.SortedDictionary`2<IceInternal.Timer/Token, object>:System.Collections.Generic.IDictionary<TKey,TValue>.get_Keys ()
+Method System.Collections.Generic.SortedDictionary`2:System.Collections.Generic.IDictionary<TKey,TValue>.get_Keys () emitted at 0x1b0c6c0 to 0x1b0c700 (code length 64) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2/KeyCollection<IceInternal.Timer/Token, object>:.ctor (System.Collections.Generic.SortedDictionary`2<IceInternal.Timer/Token, object>)
+Method System.Collections.Generic.SortedDictionary`2/KeyCollection:.ctor (System.Collections.Generic.SortedDictionary`2<TKey, TValue>) emitted at 0x1b0c710 to 0x1b0c742 (code length 50) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2/KeyCollection<IceInternal.Timer/Token, object>:System.Collections.Generic.IEnumerable<TKey>.GetEnumerator ()
+Method System.Collections.Generic.SortedDictionary`2/KeyCollection:System.Collections.Generic.IEnumerable<TKey>.GetEnumerator () emitted at 0x1b0c760 to 0x1b0c82f (code length 207) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2/KeyCollection<IceInternal.Timer/Token, object>:GetEnumerator ()
+Method Ice.PluginManagerI:initializePlugins () emitted at 0x1b0c840 to 0x1b0ce31 (code length 1521) [client.exe]
+Method System.Collections.Generic.SortedDictionary`2/KeyCollection:GetEnumerator () emitted at 0x1b0ce50 to 0x1b0cf5d (code length 269) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2/KeyCollection/Enumerator<IceInternal.Timer/Token, object>:.ctor (System.Collections.Generic.SortedDictionary`2<IceInternal.Timer/Token, object>)
+converting method IceInternal.Instance:getAdmin ()
+Method System.Collections.Generic.SortedDictionary`2/KeyCollection/Enumerator:.ctor (System.Collections.Generic.SortedDictionary`2<TKey, TValue>) emitted at 0x1b0cf70 to 0x1b0d031 (code length 193) [client.exe]
+converting method System.Collections.Generic.RBTree:GetEnumerator ()
+Method System.Collections.Generic.RBTree:GetEnumerator () emitted at 0x1b0d040 to 0x1b0d103 (code length 195) [client.exe]
+converting method System.Collections.Generic.RBTree/NodeEnumerator:.ctor (System.Collections.Generic.RBTree)
+Method System.Collections.Generic.RBTree/NodeEnumerator:.ctor (System.Collections.Generic.RBTree) emitted at 0x1b0d110 to 0x1b0d160 (code length 80) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2/KeyCollection/Enumerator<IceInternal.Timer/Token, object>:MoveNext ()
+Method System.Collections.Generic.SortedDictionary`2/KeyCollection/Enumerator:MoveNext () emitted at 0x1b0d160 to 0x1b0d1f6 (code length 150) [client.exe]
+converting method System.Collections.Generic.RBTree/NodeEnumerator:MoveNext ()
+Method System.Collections.Generic.RBTree/NodeEnumerator:MoveNext () emitted at 0x1b0d230 to 0x1b0d366 (code length 310) [client.exe]
+converting method System.Collections.Generic.RBTree/NodeEnumerator:check_version ()
+Method System.Collections.Generic.RBTree/NodeEnumerator:check_version () emitted at 0x1b0d390 to 0x1b0d418 (code length 136) [client.exe]
+converting gshared method System.Collections.Generic.Stack`1<System.Collections.Generic.RBTree/Node>:Push (System.Collections.Generic.RBTree/Node)
+Method System.Collections.Generic.Stack`1:Push (T) emitted at 0x1b0d418 to 0x1b0d4e0 (code length 200) [client.exe]
+Method IceInternal.Instance:getAdmin () emitted at 0x1b0d4f0 to 0x1b0df54 (code length 2660) [client.exe]
+converting method System.Collections.Generic.RBTree/NodeEnumerator:get_Current ()
+Method System.Collections.Generic.RBTree/NodeEnumerator:get_Current () emitted at 0x1b0dfb8 to 0x1b0dfd5 (code length 29) [client.exe]
+converting gshared method System.Collections.Generic.Stack`1<System.Collections.Generic.RBTree/Node>:Peek ()
+Method System.Collections.Generic.Stack`1:Peek () emitted at 0x1b0dfe8 to 0x1b0e03c (code length 84) [client.exe]
+converting method System.AppDomain:DoAssemblyResolve (string,bool)
+converting gshared method System.Collections.Generic.SortedDictionary`2/KeyCollection/Enumerator<IceInternal.Timer/Token, object>:get_Current ()
+Method System.Collections.Generic.SortedDictionary`2/KeyCollection/Enumerator:get_Current () emitted at 0x1b0e040 to 0x1b0e051 (code length 17) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2/KeyCollection/Enumerator<IceInternal.Timer/Token, object>:Dispose ()
+Method System.Collections.Generic.SortedDictionary`2/KeyCollection/Enumerator:Dispose () emitted at 0x1b0e078 to 0x1b0e091 (code length 25) [client.exe]
+converting method System.Collections.Generic.RBTree/NodeEnumerator:Dispose ()
+Method System.Collections.Generic.RBTree/NodeEnumerator:Dispose () emitted at 0x1b0e0c0 to 0x1b0e0d8 (code length 24) [client.exe]
+Method System.AppDomain:DoAssemblyResolve (string,bool) emitted at 0x1b0e0d8 to 0x1b0e30b (code length 563) [client.exe]
+converting method (wrapper runtime-invoke) <Module>:runtime_invoke_object__this___object_byte (object,intptr,intptr,intptr)
+Method (wrapper runtime-invoke) <Module>:runtime_invoke_object__this___object_byte (object,intptr,intptr,intptr) emitted at 0x1b0e348 to 0x1b0e40a (code length 194) [client.exe]
+converting method System.IO.FileNotFoundException:.ctor (string,string)
+Method System.IO.FileNotFoundException:.ctor (string,string) emitted at 0x1b0e410 to 0x1b0e460 (code length 80) [client.exe]
+converting method (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object_object (object,intptr,intptr,intptr)
+Method (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) emitted at 0x1b0e470 to 0x1b0e52a (code length 186) [client.exe]
+converting method System.IO.IOException:.ctor (string)
+Method System.IO.IOException:.ctor (string) emitted at 0x1b0e530 to 0x1b0e549 (code length 25) [client.exe]
+converting method System.Reflection.Assembly:LoadFrom (string)
+Method System.Reflection.Assembly:LoadFrom (string) emitted at 0x1b0e550 to 0x1b0e569 (code length 25) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool) emitted at 0x1b0e578 to 0x1b0e5f2 (code length 122) [client.exe]
+converting method Ice.CommunicatorI:getLogger ()
+Method Ice.CommunicatorI:getLogger () emitted at 0x1b0e5f8 to 0x1b0e610 (code length 24) [client.exe]
+converting method Ice.LoggerI:warning (string)
+Method Ice.LoggerI:warning (string) emitted at 0x1b0e610 to 0x1b0e7c6 (code length 438) [client.exe]
+converting method System.DateTime:get_Now ()
+Method System.DateTime:get_Now () emitted at 0x1b0e7e0 to 0x1b0e9a7 (code length 455) [client.exe]
+converting method System.Math:Abs (long)
+Method System.Math:Abs (long) emitted at 0x1b0e9c0 to 0x1b0ea6c (code length 172) [client.exe]
+converting method System.TimeZone:GetLocalTimeDiff (System.DateTime)
+Method System.TimeZone:GetLocalTimeDiff (System.DateTime) emitted at 0x1b0ea70 to 0x1b0eadd (code length 109) [client.exe]
+converting method System.TimeZone:IsDaylightSavingTime (System.DateTime)
+Method System.TimeZone:IsDaylightSavingTime (System.DateTime) emitted at 0x1b0eaf0 to 0x1b0eb48 (code length 88) [client.exe]
+converting method System.CurrentSystemTimeZone:GetDaylightChanges (int)
+Method System.CurrentSystemTimeZone:GetDaylightChanges (int) emitted at 0x1b0eb58 to 0x1b0ed28 (code length 464) [client.exe]
+converting method System.TimeZone:IsDaylightSavingTime (System.DateTime,System.Globalization.DaylightTime)
+Method System.TimeZone:IsDaylightSavingTime (System.DateTime,System.Globalization.DaylightTime) emitted at 0x1b0ed38 to 0x1b0f0f4 (code length 956) [client.exe]
+converting method System.CurrentSystemTimeZone:IsAmbiguousTime (System.DateTime)
+Method System.CurrentSystemTimeZone:IsAmbiguousTime (System.DateTime) emitted at 0x1b0f0f8 to 0x1b0f23a (code length 322) [client.exe]
+converting method System.DateTime:op_LessThan (System.DateTime,System.DateTime)
+Method System.DateTime:op_LessThan (System.DateTime,System.DateTime) emitted at 0x1b0f260 to 0x1b0f2b5 (code length 85) [client.exe]
+converting method System.DateTime:op_Subtraction (System.DateTime,System.TimeSpan)
+Method System.DateTime:op_Subtraction (System.DateTime,System.TimeSpan) emitted at 0x1b0f2b8 to 0x1b0f3fc (code length 324) [client.exe]
+converting method System.DateTime:op_GreaterThanOrEqual (System.DateTime,System.DateTime)
+Method System.DateTime:op_GreaterThanOrEqual (System.DateTime,System.DateTime) emitted at 0x1b0f400 to 0x1b0f45b (code length 91) [client.exe]
+converting method System.TimeZone:GetLocalTimeDiff (System.DateTime,System.TimeSpan)
+Method System.TimeZone:GetLocalTimeDiff (System.DateTime,System.TimeSpan) emitted at 0x1b0f460 to 0x1b0f78d (code length 813) [client.exe]
+converting method System.DateTime:Add (System.TimeSpan)
+Method System.DateTime:Add (System.TimeSpan) emitted at 0x1b0f7d0 to 0x1b0f805 (code length 53) [client.exe]
+converting method System.DateTime:AddTicks (long)
+Method System.DateTime:AddTicks (long) emitted at 0x1b0f818 to 0x1b0f928 (code length 272) [client.exe]
+converting method System.DateTime:Subtract (System.TimeSpan)
+Method System.DateTime:Subtract (System.TimeSpan) emitted at 0x1b0f928 to 0x1b0fa48 (code length 288) [client.exe]
+converting method System.DateTime:op_LessThanOrEqual (System.DateTime,System.DateTime)
+Method System.DateTime:op_LessThanOrEqual (System.DateTime,System.DateTime) emitted at 0x1b0fa48 to 0x1b0faa3 (code length 91) [client.exe]
+converting method System.DateTime:op_GreaterThan (System.DateTime,System.DateTime)
+Method System.DateTime:op_GreaterThan (System.DateTime,System.DateTime) emitted at 0x1b0faa8 to 0x1b0fafd (code length 85) [client.exe]
+converting method System.DateTime:op_Addition (System.DateTime,System.TimeSpan)
+Method System.DateTime:op_Addition (System.DateTime,System.TimeSpan) emitted at 0x1b0fb00 to 0x1b0fc44 (code length 324) [client.exe]
+converting method System.DateTime:ToString (string,System.IFormatProvider)
+Method System.DateTime:ToString (string,System.IFormatProvider) emitted at 0x1b0fc48 to 0x1b0fd93 (code length 331) [client.exe]
+converting method System.Globalization.DateTimeFormatInfo:GetInstance (System.IFormatProvider)
+Method System.Globalization.DateTimeFormatInfo:GetInstance (System.IFormatProvider) emitted at 0x1b0fdd0 to 0x1b0fe31 (code length 97) [client.exe]
+converting method System.Globalization.DateTimeFormatInfo:.cctor ()
+Method System.Globalization.DateTimeFormatInfo:.cctor () emitted at 0x1b0fe40 to 0x1b10441 (code length 1537) [client.exe]
+converting method System.Globalization.CultureInfo:get_DateTimeFormat ()
+Method System.Globalization.CultureInfo:get_DateTimeFormat () emitted at 0x1b10448 to 0x1b10574 (code length 300) [client.exe]
+converting method System.Globalization.DateTimeFormatInfo:.ctor (System.Globalization.CultureInfo,bool)
+Method System.Globalization.DateTimeFormatInfo:.ctor (System.Globalization.CultureInfo,bool) emitted at 0x1b10590 to 0x1b108d4 (code length 836) [client.exe]
+converting method (wrapper managed-to-native) System.Globalization.CultureInfo:construct_datetime_format (System.Globalization.CultureInfo)
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Globalization.CultureInfo:construct_datetime_format (System.Globalization.CultureInfo) emitted at 0x1b108d8 to 0x1b10968 (code length 144) [client.exe]
+converting method System.DateTimeUtils:GetStandardPattern (char,System.Globalization.DateTimeFormatInfo,bool&,bool&)
+Method System.DateTimeUtils:GetStandardPattern (char,System.Globalization.DateTimeFormatInfo,bool&,bool&) emitted at 0x1b10968 to 0x1b1098d (code length 37) [client.exe]
+converting method System.DateTimeUtils:GetStandardPattern (char,System.Globalization.DateTimeFormatInfo,bool&,bool&,bool)
+Method System.DateTimeUtils:GetStandardPattern (char,System.Globalization.DateTimeFormatInfo,bool&,bool&,bool) emitted at 0x1b109a0 to 0x1b10b93 (code length 499) [client.exe]
+converting method System.DateTimeUtils:ToString (System.DateTime,string,System.Globalization.DateTimeFormatInfo)
+Method System.DateTimeUtils:ToString (System.DateTime,string,System.Globalization.DateTimeFormatInfo) emitted at 0x1b10ca0 to 0x1b10cf5 (code length 85) [client.exe]
+converting method System.DateTimeUtils:ToString (System.DateTime,System.Nullable`1<System.TimeSpan>,string,System.Globalization.DateTimeFormatInfo)
+Method System.DateTimeUtils:ToString (System.DateTime,System.Nullable`1<System.TimeSpan>,string,System.Globalization.DateTimeFormatInfo) emitted at 0x1b10d10 to 0x1b11dce (code length 4286) [client.exe]
+converting method System.Text.StringBuilder:.ctor (int)
+Method System.Text.StringBuilder:.ctor (int) emitted at 0x1b11f78 to 0x1b11f9d (code length 37) [client.exe]
+converting method System.Text.StringBuilder:.ctor (string,int,int,int)
+Method System.Text.StringBuilder:.ctor (string,int,int,int) emitted at 0x1b11fb0 to 0x1b11fd9 (code length 41) [client.exe]
+converting method System.Text.StringBuilder:.ctor (string,int,int,int,int)
+Method System.Text.StringBuilder:.ctor (string,int,int,int,int) emitted at 0x1b11fe8 to 0x1b123b8 (code length 976) [client.exe]
+converting method System.DateTimeUtils:CountRepeat (string,int,char)
+Method System.DateTimeUtils:CountRepeat (string,int,char) emitted at 0x1b123c8 to 0x1b12419 (code length 81) [client.exe]
+converting method System.Globalization.DateTimeFormatInfo:get_Calendar ()
+Method System.Globalization.DateTimeFormatInfo:get_Calendar () emitted at 0x1b12420 to 0x1b12454 (code length 52) [client.exe]
+converting method System.Globalization.CultureInfo:get_Calendar ()
+Method System.Globalization.CultureInfo:get_Calendar () emitted at 0x1b12458 to 0x1b124c3 (code length 107) [client.exe]
+converting method System.Globalization.CultureInfo:CreateCalendar (int)
+Method System.Globalization.CultureInfo:CreateCalendar (int) emitted at 0x1b124d0 to 0x1b1261e (code length 334) [client.exe]
+converting method System.Globalization.GregorianCalendar:.ctor (System.Globalization.GregorianCalendarTypes)
+Method System.Globalization.GregorianCalendar:.ctor (System.Globalization.GregorianCalendarTypes) emitted at 0x1b12658 to 0x1b1273e (code length 230) [client.exe]
+converting method System.Globalization.GregorianCalendar:set_CalendarType (System.Globalization.GregorianCalendarTypes)
+Method System.Globalization.GregorianCalendar:set_CalendarType (System.Globalization.GregorianCalendarTypes) emitted at 0x1b12740 to 0x1b12762 (code length 34) [client.exe]
+converting method System.Globalization.Calendar:CheckReadOnly ()
+Method System.Globalization.Calendar:CheckReadOnly () emitted at 0x1b12770 to 0x1b127b0 (code length 64) [client.exe]
+converting method System.Globalization.GregorianCalendar:GetDayOfMonth (System.DateTime)
+Method System.Globalization.GregorianCalendar:GetDayOfMonth (System.DateTime) emitted at 0x1b127b0 to 0x1b127d5 (code length 37) [client.exe]
+converting method System.Globalization.CCGregorianCalendar:GetDayOfMonth (System.DateTime)
+Method System.Globalization.CCGregorianCalendar:GetDayOfMonth (System.DateTime) emitted at 0x1b127e8 to 0x1b12819 (code length 49) [client.exe]
+converting method System.Globalization.CCFixed:FromDateTime (System.DateTime)
+Method System.Globalization.CCFixed:FromDateTime (System.DateTime) emitted at 0x1b12838 to 0x1b12874 (code length 60) [client.exe]
+converting method System.Globalization.CCGregorianCalendar:day_from_fixed (int)
+Method System.Globalization.CCGregorianCalendar:day_from_fixed (int) emitted at 0x1b12878 to 0x1b128b0 (code length 56) [client.exe]
+converting method System.Globalization.CCGregorianCalendar:dmy_from_fixed (int&,int&,int&,int)
+Method System.Globalization.CCGregorianCalendar:dmy_from_fixed (int&,int&,int&,int) emitted at 0x1b128c0 to 0x1b12904 (code length 68) [client.exe]
+converting method System.Globalization.CCGregorianCalendar:my_from_fixed (int&,int&,int)
+Method System.Globalization.CCGregorianCalendar:my_from_fixed (int&,int&,int) emitted at 0x1b12920 to 0x1b129c8 (code length 168) [client.exe]
+converting method System.Globalization.CCGregorianCalendar:year_from_fixed (int)
+Method System.Globalization.CCGregorianCalendar:year_from_fixed (int) emitted at 0x1b129f0 to 0x1b12abe (code length 206) [client.exe]
+converting method System.Globalization.CCMath:div_mod (int&,int,int)
+Method System.Globalization.CCMath:div_mod (int&,int,int) emitted at 0x1b12ad0 to 0x1b12af9 (code length 41) [client.exe]
+converting method System.Globalization.CCMath:div (int,int)
+Method System.Globalization.CCMath:div (int,int) emitted at 0x1b12b00 to 0x1b12b3d (code length 61) [client.exe]
+converting method (wrapper managed-to-native) System.Math:Floor (double)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Math:Floor (double) emitted at 0x1b12b50 to 0x1b12bd4 (code length 132) [client.exe]
+converting method System.Globalization.CCGregorianCalendar:fixed_from_dmy (int,int,int)
+Method System.Globalization.CCGregorianCalendar:fixed_from_dmy (int,int,int) emitted at 0x1b12bd8 to 0x1b12cb2 (code length 218) [client.exe]
+converting method System.Globalization.CCGregorianCalendar:is_leap_year (int)
+Method System.Globalization.CCGregorianCalendar:is_leap_year (int) emitted at 0x1b12cb8 to 0x1b12d1d (code length 101) [client.exe]
+converting method System.Globalization.CCMath:mod (int,int)
+Method System.Globalization.CCMath:mod (int,int) emitted at 0x1b12d30 to 0x1b12d54 (code length 36) [client.exe]
+converting method System.DateTimeUtils:ZeroPad (System.Text.StringBuilder,int,int)
+Method System.DateTimeUtils:ZeroPad (System.Text.StringBuilder,int,int) emitted at 0x1b12d58 to 0x1b12e79 (code length 289) [client.exe]
+converting method System.Globalization.GregorianCalendar:GetMonth (System.DateTime)
+Method System.Globalization.GregorianCalendar:GetMonth (System.DateTime) emitted at 0x1b12e80 to 0x1b12ea5 (code length 37) [client.exe]
+converting method System.Globalization.CCGregorianCalendar:GetMonth (System.DateTime)
+Method System.Globalization.CCGregorianCalendar:GetMonth (System.DateTime) emitted at 0x1b12eb8 to 0x1b12ee9 (code length 49) [client.exe]
+converting method System.Globalization.CCGregorianCalendar:month_from_fixed (int)
+Method System.Globalization.CCGregorianCalendar:month_from_fixed (int) emitted at 0x1b12ef8 to 0x1b12f28 (code length 48) [client.exe]
+converting method System.Globalization.GregorianCalendar:GetYear (System.DateTime)
+Method System.Globalization.GregorianCalendar:GetYear (System.DateTime) emitted at 0x1b12f28 to 0x1b12f4d (code length 37) [client.exe]
+converting method System.Globalization.CCGregorianCalendar:GetYear (System.DateTime)
+Method System.Globalization.CCGregorianCalendar:GetYear (System.DateTime) emitted at 0x1b12f60 to 0x1b12f91 (code length 49) [client.exe]
+converting method System.DateTime:get_Hour ()
+Method System.DateTime:get_Hour () emitted at 0x1b12f98 to 0x1b12feb (code length 83) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper___emul_lrem (long,long)
+Restoring : local R17 <-
+Method (wrapper managed-to-native) object:__icall_wrapper___emul_lrem (long,long) emitted at 0x1b12ff0 to 0x1b1307a (code length 138) [client.exe]
+converting method System.DateTime:get_Minute ()
+Method System.DateTime:get_Minute () emitted at 0x1b13080 to 0x1b130cf (code length 79) [client.exe]
+converting method System.DateTime:get_Second ()
+Method System.DateTime:get_Second () emitted at 0x1b130d0 to 0x1b1311f (code length 79) [client.exe]
+converting method (wrapper managed-to-native) System.Math:Pow (double,double)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Math:Pow (double,double) emitted at 0x1b13120 to 0x1b131ac (code length 140) [client.exe]
+converting method System.Text.StringBuilder:Replace (string,string)
+Method System.Text.StringBuilder:Replace (string,string) emitted at 0x1b131b0 to 0x1b131d5 (code length 37) [client.exe]
+converting method System.Text.StringBuilder:Replace (string,string,int,int)
+Method System.Text.StringBuilder:Replace (string,string,int,int) emitted at 0x1b131e8 to 0x1b133d0 (code length 488) [client.exe]
+converting method string:Replace (string,string)
+Method string:Replace (string,string) emitted at 0x1b133e0 to 0x1b13494 (code length 180) [client.exe]
+converting method string:ReplaceUnchecked (string,string)
+Method string:ReplaceUnchecked (string,string) emitted at 0x1b134a0 to 0x1b1377d (code length 733) [client.exe]
+converting method Ice.TraceLoggerI:write (string)
+Method Ice.TraceLoggerI:write (string) emitted at 0x1b13790 to 0x1b137ae (code length 30) [client.exe]
+converting method System.Diagnostics.Trace:WriteLine (string)
+Method System.Diagnostics.Trace:WriteLine (string) emitted at 0x1b137c8 to 0x1b137e1 (code length 25) [client.exe]
+converting method System.Diagnostics.TraceImpl:WriteLine (string)
+Method System.Diagnostics.TraceImpl:WriteLine (string) emitted at 0x1b137f0 to 0x1b13a5e (code length 622) [client.exe]
+converting method System.Diagnostics.TraceImpl:get_ListenersSyncRoot ()
+Method System.Diagnostics.TraceImpl:get_ListenersSyncRoot () emitted at 0x1b13a90 to 0x1b13aaf (code length 31) [client.exe]
+converting method System.Diagnostics.TraceListenerCollection:System.Collections.ICollection.get_SyncRoot ()
+Method System.Diagnostics.TraceListenerCollection:System.Collections.ICollection.get_SyncRoot () emitted at 0x1b13ad8 to 0x1b13af5 (code length 29) [client.exe]
+converting method System.Collections.ArrayList/SynchronizedArrayListWrapper:get_SyncRoot ()
+Method System.Collections.ArrayList/SynchronizedArrayListWrapper:get_SyncRoot () emitted at 0x1b13af8 to 0x1b13b06 (code length 14) [client.exe]
+converting method System.Diagnostics.TraceListenerCollection:GetEnumerator ()
+Method System.Diagnostics.TraceListenerCollection:GetEnumerator () emitted at 0x1b13b08 to 0x1b13b25 (code length 29) [client.exe]
+converting method System.Collections.ArrayList/SynchronizedArrayListWrapper:GetEnumerator ()
+Method System.Collections.ArrayList/SynchronizedArrayListWrapper:GetEnumerator () emitted at 0x1b13b28 to 0x1b13b7d (code length 85) [client.exe]
+converting method System.Diagnostics.DefaultTraceListener:WriteLine (string)
+Method System.Diagnostics.DefaultTraceListener:WriteLine (string) emitted at 0x1b13b80 to 0x1b13bbd (code length 61) [client.exe]
+converting method System.Diagnostics.DefaultTraceListener:WriteImpl (string)
+Method System.Diagnostics.DefaultTraceListener:WriteImpl (string) emitted at 0x1b13bd8 to 0x1b13c64 (code length 140) [client.exe]
+converting method System.Diagnostics.TraceListener:get_NeedIndent ()
+Method System.Diagnostics.TraceListener:get_NeedIndent () emitted at 0x1b13cb8 to 0x1b13cc7 (code length 15) [client.exe]
+converting method System.Diagnostics.TraceListener:WriteIndent ()
+Method System.Diagnostics.TraceListener:WriteIndent () emitted at 0x1b13cc8 to 0x1b13d2d (code length 101) [client.exe]
+converting method System.Diagnostics.TraceListener:set_NeedIndent (bool)
+Method System.Diagnostics.TraceListener:set_NeedIndent (bool) emitted at 0x1b13d48 to 0x1b13d5a (code length 18) [client.exe]
+converting method System.Diagnostics.TraceListener:get_IndentLevel ()
+Method System.Diagnostics.TraceListener:get_IndentLevel () emitted at 0x1b13d60 to 0x1b13d6e (code length 14) [client.exe]
+converting method System.Diagnostics.TraceListener:get_IndentSize ()
+Method System.Diagnostics.TraceListener:get_IndentSize () emitted at 0x1b13d70 to 0x1b13d7e (code length 14) [client.exe]
+converting method System.Diagnostics.DefaultTraceListener:Write (string)
+Method System.Diagnostics.DefaultTraceListener:Write (string) emitted at 0x1b13d80 to 0x1b13d99 (code length 25) [client.exe]
+converting method System.Diagnostics.DefaultTraceListener:WriteDebugString (string)
+Method System.Diagnostics.DefaultTraceListener:WriteDebugString (string) emitted at 0x1b13da0 to 0x1b13dbd (code length 29) [client.exe]
+converting method System.Diagnostics.DefaultTraceListener:WriteMonoTrace (string)
+Method System.Diagnostics.DefaultTraceListener:WriteMonoTrace (string) emitted at 0x1b13dd0 to 0x1b13e74 (code length 164) [client.exe]
+converting method System.Diagnostics.DefaultTraceListener:WriteLogFile (string,string)
+Method System.Diagnostics.DefaultTraceListener:WriteLogFile (string,string) emitted at 0x1b13e78 to 0x1b13f8e (code length 278) [client.exe]
+converting method (wrapper managed-to-native) System.Diagnostics.Debugger:IsLogging ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Diagnostics.Debugger:IsLogging () emitted at 0x1b13fb8 to 0x1b14026 (code length 110) [client.exe]
+converting method System.Diagnostics.Debugger:.cctor ()
+Method System.Diagnostics.Debugger:.cctor () emitted at 0x1b14028 to 0x1b1403d (code length 21) [client.exe]
+converting method System.Diagnostics.DefaultTraceListener:get_LogFileName ()
+Method System.Diagnostics.DefaultTraceListener:get_LogFileName () emitted at 0x1b14040 to 0x1b1404e (code length 14) [client.exe]
+converting method System.Diagnostics.DefaultTraceListener:WritePrefix ()
+Method System.Diagnostics.DefaultTraceListener:WritePrefix () emitted at 0x1b14050 to 0x1b14071 (code length 33) [client.exe]
+converting method System.Diagnostics.TraceImpl:get_AutoFlush ()
+Method System.Diagnostics.TraceImpl:get_AutoFlush () emitted at 0x1b14078 to 0x1b1408d (code length 21) [client.exe]
+converting method System.Diagnostics.TextWriterTraceListener:WriteLine (string)
+Method System.Diagnostics.TextWriterTraceListener:WriteLine (string) emitted at 0x1b14090 to 0x1b140f0 (code length 96) [client.exe]
+converting method System.Diagnostics.TextWriterTraceListener:Write (string)
+Method System.Diagnostics.TextWriterTraceListener:Write (string) emitted at 0x1b140f0 to 0x1b14140 (code length 80) [client.exe]
+converting method System.IO.SynchronizedWriter:Write (string)
+Method System.IO.SynchronizedWriter:Write (string) emitted at 0x1b14140 to 0x1b1418e (code length 78) [client.exe]
+converting method System.IO.UnexceptionalStreamWriter:Write (string)
+Method System.IO.UnexceptionalStreamWriter:Write (string) emitted at 0x1b14190 to 0x1b141d0 (code length 64) [client.exe]
+converting method System.IO.StreamWriter:Write (string)
+Method System.IO.StreamWriter:Write (string) emitted at 0x1b141e0 to 0x1b1422c (code length 76) [client.exe]
+converting method System.IO.StreamWriter:LowLevelWrite (string)
+Method System.IO.StreamWriter:LowLevelWrite (string) emitted at 0x1b14238 to 0x1b143ed (code length 437) [client.exe]
+converting method System.IO.SynchronizedWriter:WriteLine (string)
+Method System.IO.SynchronizedWriter:WriteLine (string) emitted at 0x1b143f0 to 0x1b1443e (code length 78) [client.exe]
+converting method System.IO.TextWriter:WriteLine (string)
+Method System.IO.TextWriter:WriteLine (string) emitted at 0x1b14440 to 0x1b14474 (code length 52) [client.exe]
+converting method System.Text.UTF8Encoding:GetBytes (char[],int,int,byte[],int)
+Method System.Text.UTF8Encoding:GetBytes (char[],int,int,byte[],int) emitted at 0x1b14478 to 0x1b144c5 (code length 77) [client.exe]
+converting method System.Text.UTF8Encoding:InternalGetBytes (char[],int,int,byte[],int,System.Text.EncoderFallback,System.Text.EncoderFallbackBuffer&,char&,bool)
+Method System.Text.UTF8Encoding:InternalGetBytes (char[],int,int,byte[],int,System.Text.EncoderFallback,System.Text.En-! 31/03/2014 11:35:47:128 client.exe: warning: IceSSL plug-in not loaded: IceSSL is not supported with Mono
+coderFallbackBuffer&,char&,bool) emitted at 0x1b144d8 to 0x1b1475a (code length 642) [client.exe]
+converting method System.Text.UTF8Encoding:InternalGetBytes (char*,int,byte*,int,System.Text.EncoderFallback,System.Text.EncoderFallbackBuffer&,char&,bool)
+Method System.Text.UTF8Encoding:InternalGetBytes (char*,int,byte*,int,System.Text.EncoderFallback,System.Text.EncoderFallbackBuffer&,char&,bool) emitted at 0x1b14768 to 0x1b14bae (code length 1094) [client.exe]
+converting method System.IO.StreamWriter:FlushBytes ()
+Method System.IO.StreamWriter:FlushBytes () emitted at 0x1b14bc8 to 0x1b14c39 (code length 113) [client.exe]
+converting method System.IO.FileStream:Write (byte[],int,int)
+Method System.IO.FileStream:Write (byte[],int,int) emitted at 0x1b14c40 to 0x1b14e48 (code length 520) [client.exe]
+converting method System.IO.FileStream:WriteInternal (byte[],int,int)
+Method System.IO.FileStream:WriteInternal (byte[],int,int) emitted at 0x1b26000 to 0x1b26202 (code length 514) [client.exe]
+converting method (wrapper managed-to-native) System.IO.MonoIO:Write (intptr,byte[],int,int,System.IO.MonoIOError&)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) System.IO.MonoIO:Write (intptr,byte[],int,int,System.IO.MonoIOError&) emitted at 0x1b26210 to 0x1b26292 (code length 130) [client.exe]
+converting method System.IO.FileStream:Flush ()
+Method System.IO.FileStream:Flush () emitted at 0x1b26298 to 0x1b262f4 (code length 92) [client.exe]
+converting method System.IO.TextWriter:WriteLine ()
+Method System.IO.TextWriter:WriteLine () emitted at 0x1b262f8 to 0x1b26316 (code length 30) [client.exe]
+converting method System.IO.UnexceptionalStreamWriter:Write (char[])
+Method System.IO.UnexceptionalStreamWriter:Write (char[]) emitted at 0x1b26318 to 0x1b26358 (code length 64) [client.exe]
+converting method System.IO.StreamWriter:Write (char[])
+Method System.IO.StreamWriter:Write (char[]) emitted at 0x1b26368 to 0x1b263b8 (code length 80) [client.exe]
+converting method System.IO.StreamWriter:LowLevelWrite (char[],int,int)
+Method System.IO.StreamWriter:LowLevelWrite (char[],int,int) emitted at 0x1b263c8 to 0x1b26537 (code length 367) [client.exe]
+converting method System.Diagnostics.Trace:Flush ()
+Method System.Diagnostics.Trace:Flush () emitted at 0x1b26538 to 0x1b26546 (code length 14) [client.exe]
+converting method System.Diagnostics.TraceImpl:Flush ()
+Method System.Diagnostics.TraceImpl:Flush () emitted at 0x1b26558 to 0x1b267a2 (code length 586) [client.exe]
+converting method System.Diagnostics.TraceListener:Flush ()
+Method System.Diagnostics.TraceListener:Flush () emitted at 0x1b267a8 to 0x1b267b0 (code length 8) [client.exe]
+converting method System.Diagnostics.TextWriterTraceListener:Flush ()
+Method System.Diagnostics.TextWriterTraceListener:Flush () emitted at 0x1b267b0 to 0x1b267d7 (code length 39) [client.exe]
+converting method System.IO.SynchronizedWriter:Flush ()
+Method System.IO.SynchronizedWriter:Flush () emitted at 0x1b267d8 to 0x1b26826 (code length 78) [client.exe]
+converting method IceDiscovery.PluginI:initialize ()
+Method IceDiscovery.PluginI:initialize () emitted at 0x1b26828 to 0x1b26d12 (code length 1258) [client.exe]
+converting method string:Concat (object[])
+Method string:Concat (object[]) emitted at 0x1b26d68 to 0x1b26e7e (code length 278) [client.exe]
+converting method string:ConcatInternal (string[],int)
+Method string:ConcatInternal (string[],int) emitted at 0x1b26e90 to 0x1b26f4b (code length 187) [client.exe]
+converting method Ice.CommunicatorI:createObjectAdapter (string)
+Method Ice.CommunicatorI:createObjectAdapter (string) emitted at 0x1b26f68 to 0x1b26f99 (code length 49) [client.exe]
+converting method IceInternal.Instance:objectAdapterFactory ()
+Method IceInternal.Instance:objectAdapterFactory () emitted at 0x1b26fa8 to 0x1b2704c (code length 164) [client.exe]
+converting method IceInternal.ObjectAdapterFactory:createObjectAdapter (string,Ice.RouterPrx)
+Method IceInternal.ObjectAdapterFactory:createObjectAdapter (string,Ice.RouterPrx) emitted at 0x1b27050 to 0x1b272c5 (code length 629) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1<string>:Contains (string)
+Method System.Collections.Generic.HashSet`1:Contains (T) emitted at 0x1b272f8 to 0x1b27344 (code length 76) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1<string>:GetItemHashCode (string)
+Method System.Collections.Generic.HashSet`1:GetItemHashCode (T) emitted at 0x1b27360 to 0x1b273aa (code length 74) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1<string>:SlotsContainsAt (int,int,string)
+Method System.Collections.Generic.HashSet`1:SlotsContainsAt (int,int,T) emitted at 0x1b273b0 to 0x1b2750e (code length 350) [client.exe]
+converting method Ice.ObjectAdapterI:.ctor (IceInternal.Instance,Ice.Communicator,IceInternal.ObjectAdapterFactory,string,Ice.RouterPrx,bool)
+Method Ice.ObjectAdapterI:.ctor (IceInternal.Instance,Ice.Communicator,IceInternal.ObjectAdapterFactory,string,Ice.RouterPrx,bool) emitted at 0x1b27510 to 0x1b289e3 (code length 5331) [client.exe]
+converting method Ice.ObjectAdapterI:.cctor ()
+Method Ice.ObjectAdapterI:.cctor () emitted at 0x1b28af8 to 0x1b28e84 (code length 908) [client.exe]
+converting method IceInternal.ServantManager:.ctor (IceInternal.Instance,string)
+Method IceInternal.ServantManager:.ctor (IceInternal.Instance,string) emitted at 0x1b28e88 to 0x1b28fbb (code length 307) [client.exe]
+converting method Ice.ObjectAdapterI:filterProperties (System.Collections.Generic.List`1<string>)
+Method Ice.ObjectAdapterI:filterProperties (System.Collections.Generic.List`1<string>) emitted at 0x1b29008 to 0x1b29228 (code length 544) [client.exe]
+converting method IceUtilInternal.StringUtil:findFirstNotOf (string,string,int)
+Method IceUtilInternal.StringUtil:findFirstNotOf (string,string,int) emitted at 0x1b29228 to 0x1b2929e (code length 118) [client.exe]
+converting method IceUtilInternal.StringUtil:checkQuote (string,int)
+Method IceUtilInternal.StringUtil:checkQuote (string,int) emitted at 0x1b292a0 to 0x1b29360 (code length 192) [client.exe]
+converting method IceUtilInternal.StringUtil:findFirstOf (string,string,int)
+Method IceUtilInternal.StringUtil:findFirstOf (string,string,int) emitted at 0x1b29360 to 0x1b293d6 (code length 118) [client.exe]
+converting method IceInternal.Instance:stringToIdentity (string)
+Method IceInternal.Instance:stringToIdentity (string) emitted at 0x1b293d8 to 0x1b293f1 (code length 25) [client.exe]
+converting method Ice.Util:stringToIdentity (string)
+Method Ice.Util:stringToIdentity (string) emitted at 0x1b29400 to 0x1b29928 (code length 1320) [client.exe]
+converting method string:IndexOf (char,int)
+Method string:IndexOf (char,int) emitted at 0x1b29938 to 0x1b29a1c (code length 228) [client.exe]
+converting method IceUtilInternal.StringUtil:unescapeString (string,int,int)
+Method IceUtilInternal.StringUtil:unescapeString (string,int,int) emitted at 0x1b29a20 to 0x1b29b57 (code length 311) [client.exe]
+converting method IceUtilInternal.StringUtil:decodeString (string,int,int,System.Text.StringBuilder)
+Method IceUtilInternal.StringUtil:decodeString (string,int,int,System.Text.StringBuilder) emitted at 0x1b29b68 to 0x1b29bb9 (code length 81) [client.exe]
+converting method IceUtilInternal.StringUtil:decodeChar (string,int,int,int&)
+Method IceUtilInternal.StringUtil:decodeChar (string,int,int,int&) emitted at 0x1b29bc8 to 0x1b29fd4 (code length 1036) [client.exe]
+converting method IceUtilInternal.StringUtil:checkChar (string,int)
+Method IceUtilInternal.StringUtil:checkChar (string,int) emitted at 0x1b2a060 to 0x1b2a1e9 (code length 393) [client.exe]
+converting method System.Text.UTF8Encoding:GetString (byte[],int,int)
+Method System.Text.UTF8Encoding:GetString (byte[],int,int) emitted at 0x1b2a1f0 to 0x1b2a20d (code length 29) [client.exe]
+converting method System.Text.UTF8Encoding:GetCharCount (byte[],int,int)
+Method System.Text.UTF8Encoding:GetCharCount (byte[],int,int) emitted at 0x1b2a220 to 0x1b2a26d (code length 77) [client.exe]
+converting method System.Text.UTF8Encoding:InternalGetCharCount (byte[],int,int,uint,uint,object,System.Text.DecoderFallbackBuffer&,byte[]&,bool)
+Method System.Text.UTF8Encoding:InternalGetCharCount (byte[],int,int,uint,uint,object,System.Text.DecoderFallbackBuffer&,byte[]&,bool) emitted at 0x1b2a280 to 0x1b2a3e3 (code length 355) [client.exe]
+converting method System.Text.UTF8Encoding:InternalGetCharCount (byte*,int,uint,uint,object,System.Text.DecoderFallbackBuffer&,byte[]&,bool)
+Method System.Text.UTF8Encoding:InternalGetCharCount (byte*,int,uint,uint,object,System.Text.DecoderFallbackBuffer&,byte[]&,bool) emitted at 0x1b2a3f0 to 0x1b2a7a6 (code length 950) [client.exe]
+converting method System.Text.UTF8Encoding:GetChars (byte[],int,int,char[],int)
+Method System.Text.UTF8Encoding:GetChars (byte[],int,int,char[],int) emitted at 0x1b2a7e0 to 0x1b2a861 (code length 129) [client.exe]
+converting method IceInternal.Instance:defaultsAndOverrides ()
+Method IceInternal.Instance:defaultsAndOverrides () emitted at 0x1b2a868 to 0x1b2a89b (code length 51) [client.exe]
+converting method IceInternal.ReferenceFactory:create (Ice.Identity,string,IceInternal.Reference/Mode,bool,Ice.ProtocolVersion,Ice.EncodingVersion,IceInternal.EndpointI[],string,string)
+Method IceInternal.ReferenceFactory:create (Ice.Identity,string,IceInternal.Reference/Mode,bool,Ice.ProtocolVersion,Ice.EncodingVersion,IceInternal.EndpointI[],string,string) emitted at 0x1b2a8a0 to 0x1b2b15e (code length 2238) [client.exe]
+converting method IceInternal.Instance:routerManager ()
+Method IceInternal.Instance:routerManager () emitted at 0x1b2b1c0 to 0x1b2b264 (code length 164) [client.exe]
+converting method IceInternal.RouterManager:get (Ice.RouterPrx)
+Method IceInternal.RouterManager:get (Ice.RouterPrx) emitted at 0x1b2b268 to 0x1b2b360 (code length 248) [client.exe]
+converting method IceInternal.RoutableReference:.ctor (IceInternal.Instance,Ice.Communicator,Ice.Identity,string,IceInternal.Reference/Mode,bool,Ice.ProtocolVersion,Ice.EncodingVersion,IceInternal.EndpointI[],string,IceInternal.LocatorInfo,IceInternal.RouterInfo,bool,bool,bool,Ice.EndpointSelectionType,int)
+converting method IceInternal.RoutableReference:.cctor ()
+Method IceInternal.RoutableReference:.cctor () emitted at 0x1b2b388 to 0x1b2b3ee (code length 102) [client.exe]
+Method IceInternal.RoutableReference:.ctor (IceInternal.Instance,Ice.Communicator,Ice.Identity,string,IceInternal.Reference/Mode,bool,Ice.ProtocolVersion,Ice.EncodingVersion,IceInternal.EndpointI[],string,IceInternal.LocatorInfo,IceInternal.RouterInfo,bool,bool,bool,Ice.EndpointSelectionType,int) emitted at 0x1b2b3f0 to 0x1b2b5a8 (code length 440) [client.exe]
+converting method IceInternal.Reference:.ctor (IceInternal.Instance,Ice.Communicator,Ice.Identity,string,IceInternal.Reference/Mode,bool,Ice.ProtocolVersion,Ice.EncodingVersion)
+converting method IceInternal.Reference:.cctor ()
+Method IceInternal.Reference:.cctor () emitted at 0x1b2b5b8 to 0x1b2b657 (code length 159) [client.exe]
+converting method System.Random:.ctor (int)
+Method System.Random:.ctor (int) emitted at 0x1b2b668 to 0x1b2b696 (code length 46) [client.exe]
+Method IceInternal.Reference:.ctor (IceInternal.Instance,Ice.Communicator,Ice.Identity,string,IceInternal.Reference/Mode,bool,Ice.ProtocolVersion,Ice.EncodingVersion) emitted at 0x1b2b698 to 0x1b2b7fd (code length 357) [client.exe]
+converting method IceInternal.Instance:proxyFactory ()
+Method IceInternal.Instance:proxyFactory () emitted at 0x1b2b800 to 0x1b2b8a4 (code length 164) [client.exe]
+converting method Ice.ObjectAdapterI:parseEndpoints (string,bool)
+Method Ice.ObjectAdapterI:parseEndpoints (string,bool) emitted at 0x1b2b8a8 to 0x1b2bb7b (code length 723) [client.exe]
+converting method IceInternal.Instance:endpointFactoryManager ()
+Method IceInternal.Instance:endpointFactoryManager () emitted at 0x1b2bb80 to 0x1b2bc24 (code length 164) [client.exe]
+converting method IceInternal.EndpointFactoryManager:create (string,bool)
+Method IceInternal.EndpointFactoryManager:create (string,bool) emitted at 0x1b2bc28 to 0x1b2c0d2 (code length 1194) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ParseGroupingConstruct (System.Text.RegularExpressions.RegexOptions&)
+Method System.Text.RegularExpressions.Syntax.Parser:ParseGroupingConstruct (System.Text.RegularExpressions.RegexOptions&) emitted at 0x1b2c108 to 0x1b2cc20 (code length 2840) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CapturingGroup:.ctor ()
+Method System.Text.RegularExpressions.Syntax.CapturingGroup:.ctor () emitted at 0x1b2ccc0 to 0x1b2cd16 (code length 86) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CharacterClass:AddCharacter (char)
+Method System.Text.RegularExpressions.Syntax.CharacterClass:AddCharacter (char) emitted at 0x1b2cd18 to 0x1b2cd35 (code length 29) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CharacterClass:AddRange (char,char)
+Method System.Text.RegularExpressions.Syntax.CharacterClass:AddRange (char,char) emitted at 0x1b2cd38 to 0x1b2cf09 (code length 465) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Alternation:AddAlternative (System.Text.RegularExpressions.Syntax.Expression)
+Method System.Text.RegularExpressions.Syntax.Alternation:AddAlternative (System.Text.RegularExpressions.Syntax.Expression) emitted at 0x1b2cf18 to 0x1b2cf39 (code length 33) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Alternation:GetWidth (int&,int&)
+Method System.Text.RegularExpressions.Syntax.Alternation:GetWidth (int&,int&) emitted at 0x1b2cf40 to 0x1b2cf71 (code length 49) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CompositeExpression:GetWidth (int&,int&,int)
+Method System.Text.RegularExpressions.Syntax.CompositeExpression:GetWidth (int&,int&,int) emitted at 0x1b2cf80 to 0x1b2d04a (code length 202) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Alternation:Compile (System.Text.RegularExpressions.ICompiler,bool)
+Method System.Text.RegularExpressions.Syntax.Alternation:Compile (System.Text.RegularExpressions.ICompiler,bool) emitted at 0x1b2d050 to 0x1b2d295 (code length 581) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitBranch (System.Text.RegularExpressions.LinkRef)
+Method System.Text.RegularExpressions.PatternCompiler:EmitBranch (System.Text.RegularExpressions.LinkRef) emitted at 0x1b2d2b0 to 0x1b2d2f1 (code length 65) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CapturingGroup:Compile (System.Text.RegularExpressions.ICompiler,bool)
+Method System.Text.RegularExpressions.Syntax.CapturingGroup:Compile (System.Text.RegularExpressions.ICompiler,bool) emitted at 0x1b2d2f8 to 0x1b2d350 (code length 88) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitOpen (int)
+Method System.Text.RegularExpressions.PatternCompiler:EmitOpen (int) emitted at 0x1b2d368 to 0x1b2d399 (code length 49) [client.exe]
+converting method System.Text.RegularExpressions.Interval:CompareTo (object)
+Method System.Text.RegularExpressions.Interval:CompareTo (object) emitted at 0x1b2d3a0 to 0x1b2d412 (code length 114) [client.exe]
+converting gshared method System.Array:swap<object> (object[],int,int)
+Method System.Array:swap<T> (T[],int,int) emitted at 0x1b2d428 to 0x1b2d496 (code length 110) [client.exe]
+converting method System.Text.RegularExpressions.Interval:IsDisjoint (System.Text.RegularExpressions.Interval)
+Method System.Text.RegularExpressions.Interval:IsDisjoint (System.Text.RegularExpressions.Interval) emitted at 0x1b2d498 to 0x1b2d503 (code length 107) [client.exe]
+converting method System.Text.RegularExpressions.Interval:IsAdjacent (System.Text.RegularExpressions.Interval)
+Method System.Text.RegularExpressions.Interval:IsAdjacent (System.Text.RegularExpressions.Interval) emitted at 0x1b2d508 to 0x1b2d567 (code length 95) [client.exe]
+converting method System.Text.RegularExpressions.Interval:Merge (System.Text.RegularExpressions.Interval)
+Method System.Text.RegularExpressions.Interval:Merge (System.Text.RegularExpressions.Interval) emitted at 0x1b2d568 to 0x1b2d5cd (code length 101) [client.exe]
+converting method System.Text.RegularExpressions.IntervalCollection:get_Item (int)
+Method System.Text.RegularExpressions.IntervalCollection:get_Item (int) emitted at 0x1b2d5d0 to 0x1b2d64a (code length 122) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CharacterClass:GetIntervalCost (System.Text.RegularExpressions.Interval)
+Method System.Text.RegularExpressions.Syntax.CharacterClass:GetIntervalCost (System.Text.RegularExpressions.Interval) emitted at 0x1b2d650 to 0x1b2d6b6 (code length 102) [client.exe]
+converting method (wrapper delegate-invoke) <Module>:invoke_double__this___Interval (System.Text.RegularExpressions.Interval)
+Method (wrapper delegate-invoke) <Module>:invoke_double__this___Interval (System.Text.RegularExpressions.Interval) emitted at 0x1b2d6b8 to 0x1b2d76d (code length 181) [client.exe]
+converting method System.Text.RegularExpressions.Interval:get_IsSingleton ()
+Method System.Text.RegularExpressions.Interval:get_IsSingleton () emitted at 0x1b2d770 to 0x1b2d7a3 (code length 51) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitSet (char,System.Collections.BitArray,bool,bool,bool)
+Method System.Text.RegularExpressions.PatternCompiler:EmitSet (char,System.Collections.BitArray,bool,bool,bool) emitted at 0x1b2d7d8 to 0x1b2d8d5 (code length 253) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitClose (int)
+Method System.Text.RegularExpressions.PatternCompiler:EmitClose (int) emitted at 0x1b2d8d8 to 0x1b2d909 (code length 49) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitJump (System.Text.RegularExpressions.LinkRef)
+Method System.Text.RegularExpressions.PatternCompiler:EmitJump (System.Text.RegularExpressions.LinkRef) emitted at 0x1b2d910 to 0x1b2d951 (code length 65) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitBranchEnd ()
+Method System.Text.RegularExpressions.PatternCompiler:EmitBranchEnd () emitted at 0x1b2d958 to 0x1b2d960 (code length 8) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitFalse ()
+Method System.Text.RegularExpressions.PatternCompiler:EmitFalse () emitted at 0x1b2d960 to 0x1b2d979 (code length 25) [client.exe]
+converting method System.Text.RegularExpressions.PatternCompiler:EmitAlternationEnd ()
+Method System.Text.RegularExpressions.PatternCompiler:EmitAlternationEnd () emitted at 0x1b2d980 to 0x1b2d988 (code length 8) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:Open (int,int)
+Method System.Text.RegularExpressions.Interpreter:Open (int,int) emitted at 0x1b2d988 to 0x1b2da43 (code length 187) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:CreateMark (int)
+Method System.Text.RegularExpressions.Interpreter:CreateMark (int) emitted at 0x1b2da50 to 0x1b2db4a (code length 250) [client.exe]
+converting method System.Text.RegularExpressions.Interpreter:Close (int,int)
+Method System.Text.RegularExpressions.Interpreter:Close (int,int) emitted at 0x1b2db50 to 0x1b2db9f (code length 79) [client.exe]
+converting method System.Text.RegularExpressions.Match:get_Groups ()
+Method System.Text.RegularExpressions.Match:get_Groups () emitted at 0x1b2dba0 to 0x1b2dbae (code length 14) [client.exe]
+converting method IceInternal.TcpEndpointFactory:protocol ()
+Method IceInternal.TcpEndpointFactory:protocol () emitted at 0x1b2dbb0 to 0x1b2dbbd (code length 13) [client.exe]
+converting method IceInternal.UdpEndpointFactory:protocol ()
+Method IceInternal.UdpEndpointFactory:protocol () emitted at 0x1b2dbc0 to 0x1b2dbcd (code length 13) [client.exe]
+converting method IceInternal.UdpEndpointFactory:create (string,bool)
+Method IceInternal.UdpEndpointFactory:create (string,bool) emitted at 0x1b2dbd0 to 0x1b2dc0c (code length 60) [client.exe]
+converting method IceInternal.UdpEndpointI:.ctor (IceInternal.Instance,string,bool)
+Method IceInternal.UdpEndpointI:.ctor (IceInternal.Instance,string,bool) emitted at 0x1b2dc18 to 0x1b2f7a7 (code length 7055) [client.exe]
+converting method IceInternal.EndpointI:.ctor (string)
+Method IceInternal.EndpointI:.ctor (string) emitted at 0x1b2f7e8 to 0x1b2f84b (code length 99) [client.exe]
+converting method IceInternal.UdpEndpointI:calcHashValue ()
+Method IceInternal.UdpEndpointI:calcHashValue () emitted at 0x1b2f850 to 0x1b2f916 (code length 198) [client.exe]
+converting method IceInternal.HashUtil:hashAdd (int&,int16)
+Method IceInternal.HashUtil:hashAdd (int&,int16) emitted at 0x1b2f948 to 0x1b2f992 (code length 74) [client.exe]
+converting method IceInternal.HashUtil:hashAdd (int&,System.Collections.IEnumerable)
+Method IceInternal.HashUtil:hashAdd (int&,System.Collections.IEnumerable) emitted at 0x1b2f998 to 0x1b2f9cf (code length 55) [client.exe]
+converting method IceUtilInternal.Collections:SequenceGetHashCode (System.Collections.IEnumerable)
+Method IceUtilInternal.Collections:SequenceGetHashCode (System.Collections.IEnumerable) emitted at 0x1b2f9e0 to 0x1b2fa62 (code length 130) [client.exe]
+converting method IceUtilInternal.Collections:.cctor ()
+Method IceUtilInternal.Collections:.cctor () emitted at 0x1b2fa70 to 0x1b2fadf (code length 111) [client.exe]
+converting method string:System.Collections.IEnumerable.GetEnumerator ()
+Method string:System.Collections.IEnumerable.GetEnumerator () emitted at 0x1b2faf8 to 0x1b2fb28 (code length 48) [client.exe]
+converting method System.CharEnumerator:.ctor (string)
+Method System.CharEnumerator:.ctor (string) emitted at 0x1b2fb38 to 0x1b2fb76 (code length 62) [client.exe]
+converting method System.CharEnumerator:MoveNext ()
+Method System.CharEnumerator:MoveNext () emitted at 0x1b2fb78 to 0x1b2fba8 (code length 48) [client.exe]
+converting method System.CharEnumerator:System.Collections.IEnumerator.get_Current ()
+Method System.CharEnumerator:System.Collections.IEnumerator.get_Current () emitted at 0x1b2fba8 to 0x1b2fbdc (code length 52) [client.exe]
+converting method System.CharEnumerator:get_Current ()
+Method System.CharEnumerator:get_Current () emitted at 0x1b2fbe8 to 0x1b2fc60 (code length 120) [client.exe]
+converting method IceInternal.HashUtil:hashAdd (int&,object)
+Method IceInternal.HashUtil:hashAdd (int&,object) emitted at 0x1b2fc60 to 0x1b2fc98 (code length 56) [client.exe]
+converting method char:GetHashCode ()
+Method char:GetHashCode () emitted at 0x1b2fc98 to 0x1b2fca6 (code length 14) [client.exe]
+converting method IceInternal.HashUtil:hashAdd (int&,int)
+Method IceInternal.HashUtil:hashAdd (int&,int) emitted at 0x1b2fcb8 to 0x1b2fcfe (code length 70) [client.exe]
+converting method IceInternal.HashUtil:hashAdd (int&,bool)
+Method IceInternal.HashUtil:hashAdd (int&,bool) emitted at 0x1b2fd00 to 0x1b2fd39 (code length 57) [client.exe]
+converting method IceInternal.TcpEndpointFactory:create (string,bool)
+Method IceInternal.TcpEndpointFactory:create (string,bool) emitted at 0x1b2fd40 to 0x1b2fd7c (code length 60) [client.exe]
+converting method IceInternal.TcpEndpointI:.ctor (IceInternal.Instance,string,bool)
+Method IceInternal.TcpEndpointI:.ctor (IceInternal.Instance,string,bool) emitted at 0x1b2fd88 to 0x1b30d82 (code length 4090) [client.exe]
+converting method IceInternal.TcpEndpointI:calcHashValue ()
+Method IceInternal.TcpEndpointI:calcHashValue () emitted at 0x1b30d90 to 0x1b30e2e (code length 158) [client.exe]
+converting method IceInternal.IncomingConnectionFactory:.ctor (IceInternal.Instance,IceInternal.EndpointI,Ice.ObjectAdapter,string)
+Method IceInternal.IncomingConnectionFactory:.ctor (IceInternal.Instance,IceInternal.EndpointI,Ice.ObjectAdapter,string) emitted at 0x1b30e30 to 0x1b314d7 (code length 1703) [client.exe]
+converting method IceInternal.EventHandler:.ctor ()
+Method IceInternal.EventHandler:.ctor () emitted at 0x1b31530 to 0x1b31563 (code length 51) [client.exe]
+converting method IceInternal.UdpEndpointI:compress (bool)
+Method IceInternal.UdpEndpointI:compress (bool) emitted at 0x1b31568 to 0x1b3160c (code length 164) [client.exe]
+converting method IceInternal.UdpEndpointI:transceiver (IceInternal.EndpointI&)
+Method IceInternal.UdpEndpointI:transceiver (IceInternal.EndpointI&) emitted at 0x1b31618 to 0x1b31735 (code length 285) [client.exe]
+converting method IceInternal.UdpTransceiver:.ctor (IceInternal.Instance,string,int,string,bool)
+converting method System.Net.IPAddress:.cctor ()
+Method System.Net.IPAddress:.cctor () emitted at 0x1b31750 to 0x1b3182e (code length 222) [client.exe]
+converting method System.Net.IPAddress:.ctor (long)
+Method System.Net.IPAddress:.ctor (long) emitted at 0x1b31858 to 0x1b31876 (code length 30) [client.exe]
+converting method System.Net.IPAddress:Parse (string)
+Method System.Net.IPAddress:Parse (string) emitted at 0x1b31878 to 0x1b318da (code length 98) [client.exe]
+converting method System.Net.IPAddress:TryParse (string,System.Net.IPAddress&)
+Method System.Net.IPAddress:TryParse (string,System.Net.IPAddress&) emitted at 0x1b318e8 to 0x1b319b0 (code length 200) [client.exe]
+converting method System.Net.IPAddress:ParseIPV4 (string)
+Method System.Net.IPAddress:ParseIPV4 (string) emitted at 0x1b319c0 to 0x1b3201f (code length 1631) [client.exe]
+converting method long:TryParse (string,System.Globalization.NumberStyles,System.IFormatProvider,long&)
+Method long:TryParse (string,System.Globalization.NumberStyles,System.IFormatProvider,long&) emitted at 0x1b32048 to 0x1b32095 (code length 77) [client.exe]
+converting method long:Parse (string,System.Globalization.NumberStyles,System.IFormatProvider,bool,long&,System.Exception&)
+Method long:Parse (string,System.Globalization.NumberStyles,System.IFormatProvider,bool,long&,System.Exception&) emitted at 0x1b320c0 to 0x1b33196 (code length 4310) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper___emul_lmul_ovf (long,long)
+Restoring : local R17 <-
+Method (wrapper managed-to-native) object:__icall_wrapper___emul_lmul_ovf (long,long) emitted at 0x1b33198 to 0x1b33222 (code length 138) [client.exe]
+converting method System.Net.IPAddress:ParseIPV6 (string)
+Method System.Net.IPAddress:ParseIPV6 (string) emitted at 0x1b33228 to 0x1b332b0 (code length 136) [client.exe]
+converting method System.Net.IPv6Address:TryParse (string,System.Net.IPv6Address&)
+Method System.Net.IPv6Address:TryParse (string,System.Net.IPv6Address&) emitted at 0x1b332e0 to 0x1b33942 (code length 1634) [client.exe]
+converting method System.Net.IPv6Address:.cctor ()
+Method System.Net.IPv6Address:.cctor () emitted at 0x1b33980 to 0x1b339be (code length 62) [client.exe]
+converting method System.Net.IPv6Address:Parse (string)
+Method System.Net.IPv6Address:Parse (string) emitted at 0x1b339d0 to 0x1b33a70 (code length 160) [client.exe]
+converting method string:IndexOf (string,System.StringComparison)
+Method string:IndexOf (string,System.StringComparison) emitted at 0x1b33a70 to 0x1b33a95 (code length 37) [client.exe]
+converting method string:IndexOf (string,int,int,System.StringComparison)
+Method string:IndexOf (string,int,int,System.StringComparison) emitted at 0x1b33aa8 to 0x1b33c7b (code length 467) [client.exe]
+converting method string:IndexOfOrdinal (string,int,int,System.Globalization.CompareOptions)
+Method string:IndexOfOrdinal (string,int,int,System.Globalization.CompareOptions) emitted at 0x1b33cc0 to 0x1b33db8 (code length 248) [client.exe]
+converting method System.Net.IPv6Address:Fill (uint16[],string)
+Method System.Net.IPv6Address:Fill (uint16[],string) emitted at 0x1b33dc8 to 0x1b33f4a (code length 386) [client.exe]
+converting method System.Net.IPv6Address:.ctor (uint16[],int,int)
+Method System.Net.IPv6Address:.ctor (uint16[],int,int) emitted at 0x1b33f50 to 0x1b33f84 (code length 52) [client.exe]
+converting method System.Net.IPv6Address:.ctor (uint16[],int)
+Method System.Net.IPv6Address:.ctor (uint16[],int) emitted at 0x1b33f90 to 0x1b33ff0 (code length 96) [client.exe]
+converting method System.Net.IPv6Address:.ctor (uint16[])
+Method System.Net.IPv6Address:.ctor (uint16[]) emitted at 0x1b34000 to 0x1b340ac (code length 172) [client.exe]
+converting method System.Net.IPv6Address:get_Address ()
+Method System.Net.IPv6Address:get_Address () emitted at 0x1b340b0 to 0x1b340be (code length 14) [client.exe]
+converting method System.Net.IPv6Address:get_ScopeId ()
+Method System.Net.IPv6Address:get_ScopeId () emitted at 0x1b340c0 to 0x1b340d1 (code length 17) [client.exe]
+converting method System.Net.IPAddress:.ctor (uint16[],long)
+Method System.Net.IPAddress:.ctor (uint16[],long) emitted at 0x1b340d8 to 0x1b3417a (code length 162) [client.exe]
+converting method System.Net.IPAddress:HostToNetworkOrder (int16)
+converting method System.BitConverter:.cctor ()
+Method System.BitConverter:.cctor () emitted at 0x1b34188 to 0x1b3419f (code length 23) [client.exe]
+converting method System.BitConverter:AmILittleEndian ()
+Method System.BitConverter:AmILittleEndian () emitted at 0x1b341b0 to 0x1b341ce (code length 30) [client.exe]
+Method System.Net.IPAddress:HostToNetworkOrder (int16) emitted at 0x1b341d0 to 0x1b341f4 (code length 36) [client.exe]
+converting method System.Net.IPAddress:SwapShort (int16)
+Method System.Net.IPAddress:SwapShort (int16) emitted at 0x1b34200 to 0x1b34224 (code length 36) [client.exe]
+Method IceInternal.UdpTransceiver:.ctor (IceInternal.Instance,string,int,string,bool) emitted at 0x1b34228 to 0x1b348f4 (code length 1740) [client.exe]
+converting method IceInternal.Network:getAddressForServer (string,int,int,bool)
+Method IceInternal.Network:getAddressForServer (string,int,int,bool) emitted at 0x1b349a0 to 0x1b34ab1 (code length 273) [client.exe]
+converting method IceInternal.Network:.cctor ()
+Method IceInternal.Network:.cctor () emitted at 0x1b34ab8 to 0x1b34afe (code length 70) [client.exe]
+converting method IceInternal.Network:getAddresses (string,int,int,Ice.EndpointSelectionType,bool,bool)
+Method IceInternal.Network:getAddresses (string,int,int,Ice.EndpointSelectionType,bool,bool) emitted at 0x1b34b00 to 0x1b351cf (code length 1743) [client.exe]
+converting method System.Net.IPEndPoint:.ctor (System.Net.IPAddress,int)
+Method System.Net.IPEndPoint:.ctor (System.Net.IPAddress,int) emitted at 0x1b35240 to 0x1b352c4 (code length 132) [client.exe]
+converting method System.Net.IPEndPoint:set_Port (int)
+Method System.Net.IPEndPoint:set_Port (int) emitted at 0x1b352c8 to 0x1b35314 (code length 76) [client.exe]
+converting method System.Net.IPEndPoint:get_AddressFamily ()
+Method System.Net.IPEndPoint:get_AddressFamily () emitted at 0x1b35318 to 0x1b3532d (code length 21) [client.exe]
+converting method IceInternal.Network:createServerSocket (bool,System.Net.Sockets.AddressFamily,int)
+Method IceInternal.Network:createServerSocket (bool,System.Net.Sockets.AddressFamily,int) emitted at 0x1b35330 to 0x1b3534d (code length 29) [client.exe]
+converting method IceInternal.Network:createSocket (bool,System.Net.Sockets.AddressFamily)
+Method IceInternal.Network:createSocket (bool,System.Net.Sockets.AddressFamily) emitted at 0x1b35360 to 0x1b35508 (code length 424) [client.exe]
+converting method System.Net.Sockets.Socket:.cctor ()
+Method System.Net.Sockets.Socket:.cctor () emitted at 0x1b35550 to 0x1b3557e (code length 46) [client.exe]
+converting method System.Net.Sockets.Socket:CheckProtocolSupport ()
+Method System.Net.Sockets.Socket:CheckProtocolSupport () emitted at 0x1b35590 to 0x1b357a8 (code length 536) [client.exe]
+converting method System.Net.Sockets.Socket:.ctor (System.Net.Sockets.AddressFamily,System.Net.Sockets.SocketType,System.Net.Sockets.ProtocolType)
+Method System.Net.Sockets.Socket:.ctor (System.Net.Sockets.AddressFamily,System.Net.Sockets.SocketType,System.Net.Sockets.ProtocolType) emitted at 0x1b357d0 to 0x1b35900 (code length 304) [client.exe]
+converting method System.Collections.Queue:.ctor (int)
+Method System.Collections.Queue:.ctor (int) emitted at 0x1b35930 to 0x1b35955 (code length 37) [client.exe]
+converting method System.Collections.Queue:.ctor (int,single)
+Method System.Collections.Queue:.ctor (int,single) emitted at 0x1b35968 to 0x1b35a84 (code length 284) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:Socket_internal (System.Net.Sockets.Socket,System.Net.Sockets.AddressFamily,System.Net.Sockets.SocketType,System.Net.Sockets.ProtocolType,int&)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:Socket_internal (System.Net.Sockets.Socket,System.Net.Sockets.AddressFamily,System.Net.Sockets.SocketType,System.Net.Sockets.ProtocolType,int&) emitted at 0x1b35a88 to 0x1b35b2c (code length 164) [client.exe]
+converting method System.Net.Sockets.Socket:SocketDefaults ()
+Method System.Net.Sockets.Socket:SocketDefaults () emitted at 0x1b35b30 to 0x1b35b7c (code length 76) [client.exe]
+converting method System.Net.Sockets.Socket:set_DontFragment (bool)
+Method System.Net.Sockets.Socket:set_DontFragment (bool) emitted at 0x1b35b88 to 0x1b35c98 (code length 272) [client.exe]
+converting method System.Net.Sockets.Socket:SetSocketOption (System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,int)
+Method System.Net.Sockets.Socket:SetSocketOption (System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,int) emitted at 0x1b35c98 to 0x1b35d50 (code length 184) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:SetSocketOption_internal (intptr,System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,object,byte[],int,int&)
+Restoring : local R15 <-
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:SetSocketOption_internal (intptr,System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,object,byte[],int,int&) emitted at 0x1b35d60 to 0x1b35dde (code length 126) [client.exe]
+converting method System.Net.Sockets.Socket:Close ()
+Method System.Net.Sockets.Socket:Close () emitted at 0x1b35de0 to 0x1b35e03 (code length 35) [client.exe]
+converting method System.Net.Sockets.Socket:System.IDisposable.Dispose ()
+Method System.Net.Sockets.Socket:System.IDisposable.Dispose () emitted at 0x1b35e08 to 0x1b35e31 (code length 41) [client.exe]
+converting method System.Net.Sockets.Socket:Dispose (bool)
+Restoring : local R39 <-
+Restoring : local R11 <-
+Method System.Net.Sockets.Socket:Dispose (bool) emitted at 0x1b35e38 to 0x1b35f0c (code length 212) [client.exe]
+converting method System.Net.Sockets.Socket:AbortRegisteredThreads ()
+Method System.Net.Sockets.Socket:AbortRegisteredThreads () emitted at 0x1b14e58 to 0x1b14f3a (code length 226) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:Close_internal (intptr,int&)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:Close_internal (intptr,int&) emitted at 0x1b35f60 to 0x1b35fce (code length 110) [client.exe]
+converting method System.Configuration.Configuration:get_SectionGroups ()
+Method System.Configuration.Configuration:get_SectionGroups () emitted at 0x1b35fd0 to 0x1b35ff9 (code length 41) [client.exe]
+converting method System.Configuration.ConfigurationSectionGroup:get_SectionGroups ()
+Method System.Configuration.ConfigurationSectionGroup:get_SectionGroups () emitted at 0x1b14f40 to 0x1b14fc8 (code length 136) [client.exe]
+converting method System.Configuration.ConfigurationSectionGroupCollection:.ctor (System.Configuration.Configuration,System.Configuration.SectionGroupInfo)
+Method System.Configuration.ConfigurationSectionGroupCollection:.ctor (System.Configuration.Configuration,System.Configuration.SectionGroupInfo) emitted at 0x1af2e10 to 0x1af2e82 (code length 114) [client.exe]
+converting method System.Configuration.ConfigurationSectionGroupCollection:get_Item (string)
+Method System.Configuration.ConfigurationSectionGroupCollection:get_Item (string) emitted at 0x1af2e88 to 0x1af2f60 (code length 216) [client.exe]
+converting method System.Configuration.Configuration:GetSectionGroupInstance (System.Configuration.SectionGroupInfo)
+Method System.Configuration.Configuration:GetSectionGroupInstance (System.Configuration.SectionGroupInfo) emitted at 0x1af2f60 to 0x1af2fca (code length 106) [client.exe]
+converting method System.Net.Configuration.NetSectionGroup:.ctor ()
+Method System.Net.Configuration.NetSectionGroup:.ctor () emitted at 0x1b14fe0 to 0x1b14fe8 (code length 8) [client.exe]
+converting method System.Net.Configuration.SettingsSection:.ctor ()
+Method System.Net.Configuration.SettingsSection:.ctor () emitted at 0x1b14fe8 to 0x1b14ff0 (code length 8) [client.exe]
+converting method System.Net.Configuration.SettingsSection:.cctor ()
+Method System.Net.Configuration.SettingsSection:.cctor () emitted at 0x1b4f000 to 0x1b4f285 (code length 645) [client.exe]
+converting method System.Configuration.ConfigurationProperty:.ctor (string,System.Type)
+converting method System.Configuration.ConfigurationProperty:.cctor ()
+Method System.Configuration.ConfigurationProperty:.cctor () emitted at 0x1b4f2a0 to 0x1b4f2c2 (code length 34) [client.exe]
+Method System.Configuration.ConfigurationProperty:.ctor (string,System.Type) emitted at 0x1b4f2c8 to 0x1b4f31d (code length 85) [client.exe]
+converting method System.ComponentModel.TypeDescriptor:GetConverter (System.Type)
+Method System.ComponentModel.TypeDescriptor:GetConverter (System.Type) emitted at 0x1b4f338 to 0x1b4f536 (code length 510) [client.exe]
+converting method System.ComponentModel.TypeDescriptor:.cctor ()
+Method System.ComponentModel.TypeDescriptor:.cctor () emitted at 0x1b4f580 to 0x1b4f6af (code length 303) [client.exe]
+converting method System.ComponentModel.WeakObjectWrapperComparer:.ctor ()
+Method System.ComponentModel.WeakObjectWrapperComparer:.ctor () emitted at 0x1b4f6d8 to 0x1b4f6f1 (code length 25) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<System.ComponentModel.WeakObjectWrapper, System.Collections.Generic.LinkedList`1<System.ComponentModel.TypeDescriptionProvider>>:.ctor (System.Collections.Generic.IEqualityComparer`1<System.ComponentModel.WeakObjectWrapper>)
+Method System.Collections.Generic.Dictionary`2:.ctor (System.Collections.Generic.IEqualityComparer`1<TKey>) emitted at 0x1b4f710 to 0x1b4f72d (code length 29) [client.exe]
+converting method System.ComponentModel.TypeDescriptor:GetAttributes (System.Type)
+converting method System.ComponentModel.AttributeCollection:.cctor ()
+Method System.ComponentModel.AttributeCollection:.cctor () emitted at 0x1b4f730 to 0x1b4f767 (code length 55) [client.exe]
+converting method System.ComponentModel.AttributeCollection:.ctor (System.Collections.ArrayList)
+Method System.ComponentModel.AttributeCollection:.ctor (System.Collections.ArrayList) emitted at 0x1b4f778 to 0x1b4f80f (code length 151) [client.exe]
+Method System.ComponentModel.TypeDescriptor:GetAttributes (System.Type) emitted at 0x1b4f810 to 0x1b4f841 (code length 49) [client.exe]
+converting method System.ComponentModel.TypeDescriptor:GetTypeInfo (System.Type)
+Method System.ComponentModel.TypeDescriptor:GetTypeInfo (System.Type) emitted at 0x1b4f850 to 0x1b4f940 (code length 240) [client.exe]
+converting method System.ComponentModel.TypeInfo:GetAttributes ()
+Method System.ComponentModel.TypeInfo:GetAttributes () emitted at 0x1b4f940 to 0x1b4f959 (code length 25) [client.exe]
+converting method System.ComponentModel.Info:GetAttributes (System.ComponentModel.IComponent)
+Method System.ComponentModel.Info:GetAttributes (System.ComponentModel.IComponent) emitted at 0x1b4f968 to 0x1b50007 (code length 1695) [client.exe]
+converting method System.MonoType:GetCustomAttributes (bool)
+Method System.MonoType:GetCustomAttributes (bool) emitted at 0x1b50030 to 0x1b5004d (code length 29) [client.exe]
+converting method System.MonoCustomAttrs:GetCustomAttributes (System.Reflection.ICustomAttributeProvider,bool)
+Method System.MonoCustomAttrs:GetCustomAttributes (System.Reflection.ICustomAttributeProvider,bool) emitted at 0x1b50060 to 0x1b5013f (code length 223) [client.exe]
+converting method System.MonoCustomAttrs:.cctor ()
+Method System.MonoCustomAttrs:.cctor () emitted at 0x1b50168 to 0x1b5019f (code length 55) [client.exe]
+converting method System.AttributeUsageAttribute:.ctor (System.AttributeTargets)
+Method System.AttributeUsageAttribute:.ctor (System.AttributeTargets) emitted at 0x1b501b0 to 0x1b501c5 (code length 21) [client.exe]
+converting method System.MonoCustomAttrs:GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider,System.Type,bool)
+Method System.MonoCustomAttrs:GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider,System.Type,bool) emitted at 0x1b501c8 to 0x1b502a1 (code length 217) [client.exe]
+converting method System.MonoCustomAttrs:IsUserCattrProvider (object)
+Method System.MonoCustomAttrs:IsUserCattrProvider (object) emitted at 0x1b502c8 to 0x1b503d6 (code length 270) [client.exe]
+converting method (wrapper managed-to-native) System.MonoCustomAttrs:GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.MonoCustomAttrs:GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool) emitted at 0x1b503d8 to 0x1b50456 (code length 126) [client.exe]
+converting method System.MonoCustomAttrs:GetPseudoCustomAttributes (System.Reflection.ICustomAttributeProvider,System.Type)
+Method System.MonoCustomAttrs:GetPseudoCustomAttributes (System.Reflection.ICustomAttributeProvider,System.Type) emitted at 0x1b50458 to 0x1b506ff (code length 679) [client.exe]
+converting method System.Type:GetPseudoCustomAttributes ()
+Method System.Type:GetPseudoCustomAttributes () emitted at 0x1b50730 to 0x1b5082b (code length 251) [client.exe]
+converting method (wrapper managed-to-native) System.Array:Clone (System.Array)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Array:Clone (System.Array) emitted at 0x1b50830 to 0x1b508c4 (code length 148) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:get_BaseType (System.MonoType)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoType:get_BaseType (System.MonoType) emitted at 0x1b508c8 to 0x1b5095c (code length 148) [client.exe]
+converting method System.Reflection.DefaultMemberAttribute:.ctor (string)
+Method System.Reflection.DefaultMemberAttribute:.ctor (string) emitted at 0x1b50960 to 0x1b50992 (code length 50) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:GetInterfaces (System.MonoType)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoType:GetInterfaces (System.MonoType) emitted at 0x1b50998 to 0x1b50a2c (code length 148) [client.exe]
+converting method System.Attribute:get_TypeId ()
+Method System.Attribute:get_TypeId () emitted at 0x1b50a30 to 0x1b50a40 (code length 16) [client.exe]
+converting method System.Collections.Hashtable:get_Values ()
+Method System.Collections.Hashtable:get_Values () emitted at 0x1b50a40 to 0x1b50aa8 (code length 104) [client.exe]
+converting method System.Collections.Hashtable/HashValues:.ctor (System.Collections.Hashtable)
+Method System.Collections.Hashtable/HashValues:.ctor (System.Collections.Hashtable) emitted at 0x1b50ab8 to 0x1b50b0c (code length 84) [client.exe]
+converting method System.Collections.Hashtable/HashValues:get_Count ()
+Method System.Collections.Hashtable/HashValues:get_Count () emitted at 0x1b50b10 to 0x1b50b2d (code length 29) [client.exe]
+converting method System.Collections.Hashtable/HashValues:CopyTo (System.Array,int)
+Method System.Collections.Hashtable/HashValues:CopyTo (System.Array,int) emitted at 0x1b50b30 to 0x1b50c64 (code length 308) [client.exe]
+converting method System.Collections.Hashtable:CopyToArray (System.Array,int,System.Collections.Hashtable/EnumeratorMode)
+Method System.Collections.Hashtable:CopyToArray (System.Array,int,System.Collections.Hashtable/EnumeratorMode) emitted at 0x1b50c70 to 0x1b50cfa (code length 138) [client.exe]
+converting method System.Collections.Hashtable/Enumerator:get_Current ()
+Method System.Collections.Hashtable/Enumerator:get_Current () emitted at 0x1b50d08 to 0x1b50e58 (code length 336) [client.exe]
+converting method System.Array:SetValue (object,int)
+Method System.Array:SetValue (object,int) emitted at 0x1b50e58 to 0x1b50f64 (code length 268) [client.exe]
+converting method System.ComponentModel.AttributeCollection:.ctor (System.Attribute[])
+Method System.ComponentModel.AttributeCollection:.ctor (System.Attribute[]) emitted at 0x1b50f68 to 0x1b51021 (code length 185) [client.exe]
+converting method System.ComponentModel.AttributeCollection:get_Item (System.Type)
+Method System.ComponentModel.AttributeCollection:get_Item (System.Type) emitted at 0x1b51028 to 0x1b51202 (code length 474) [client.exe]
+converting method System.ComponentModel.AttributeCollection:GetDefaultAttribute (System.Type)
+Method System.ComponentModel.AttributeCollection:GetDefaultAttribute (System.Type) emitted at 0x1b51210 to 0x1b51304 (code length 244) [client.exe]
+converting method System.ComponentModel.TypeConverterAttribute:.cctor ()
+Method System.ComponentModel.TypeConverterAttribute:.cctor () emitted at 0x1b51308 to 0x1b5133b (code length 51) [client.exe]
+converting method System.ComponentModel.TypeConverterAttribute:.ctor ()
+Method System.ComponentModel.TypeConverterAttribute:.ctor () emitted at 0x1b51348 to 0x1b5137d (code length 53) [client.exe]
+converting method System.ComponentModel.TypeConverterAttribute:get_ConverterTypeName ()
+Method System.ComponentModel.TypeConverterAttribute:get_ConverterTypeName () emitted at 0x1b51380 to 0x1b5138e (code length 14) [client.exe]
+converting method System.ComponentModel.TypeDescriptor:FindDefaultConverterType (System.Type)
+Method System.ComponentModel.TypeDescriptor:FindDefaultConverterType (System.Type) emitted at 0x1b51390 to 0x1b51879 (code length 1257) [client.exe]
+converting method System.ComponentModel.TypeDescriptor:get_DefaultConverters ()
+Method System.ComponentModel.TypeDescriptor:get_DefaultConverters () emitted at 0x1b51888 to 0x1b53260 (code length 6616) [client.exe]
+converting method System.Type:get_IsInterface ()
+Method System.Type:get_IsInterface () emitted at 0x1b53260 to 0x1b53289 (code length 41) [client.exe]
+converting method System.Type:GetConstructor (System.Type[])
+Method System.Type:GetConstructor (System.Type[]) emitted at 0x1b53290 to 0x1b532b1 (code length 33) [client.exe]
+converting method System.Type:GetConstructor (System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])
+Method System.Type:GetConstructor (System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) emitted at 0x1b532c0 to 0x1b53397 (code length 215) [client.exe]
+converting method System.MonoType:GetConstructorImpl (System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])
+Method System.MonoType:GetConstructorImpl (System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) emitted at 0x1b53398 to 0x1b533d5 (code length 61) [client.exe]
+converting method System.MonoType:GetConstructorImpl (System.Reflection.ConstructorInfo[],System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])
+Method System.MonoType:GetConstructorImpl (System.Reflection.ConstructorInfo[],System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) emitted at 0x1b533e8 to 0x1b53609 (code length 545) [client.exe]
+converting method System.Reflection.MonoCMethod:GetParametersInternal ()
+Method System.Reflection.MonoCMethod:GetParametersInternal () emitted at 0x1b53610 to 0x1b5362d (code length 29) [client.exe]
+converting method System.ComponentModel.TypeConverter:.ctor ()
+Method System.ComponentModel.TypeConverter:.ctor () emitted at 0x1b53630 to 0x1b53638 (code length 8) [client.exe]
+converting method System.Configuration.ConfigurationProperty:.ctor (string,System.Type,object,System.ComponentModel.TypeConverter,System.Configuration.ConfigurationValidatorBase,System.Configuration.ConfigurationPropertyOptions,string)
+Method System.Configuration.ConfigurationProperty:.ctor (string,System.Type,object,System.ComponentModel.TypeConverter,System.Configuration.ConfigurationValidatorBase,System.Configuration.ConfigurationPropertyOptions,string) emitted at 0x1b53638 to 0x1b53884 (code length 588) [client.exe]
+converting method System.Configuration.ConfigurationPropertyCollection:Add (System.Configuration.ConfigurationProperty)
+Method System.Configuration.ConfigurationPropertyCollection:Add (System.Configuration.ConfigurationProperty) emitted at 0x1b538a0 to 0x1b538f8 (code length 88) [client.exe]
+converting method System.Configuration.ConfigurationSection:DeserializeSection (System.Xml.XmlReader)
+Method System.Configuration.ConfigurationSection:DeserializeSection (System.Xml.XmlReader) emitted at 0x1b53908 to 0x1b539d2 (code length 202) [client.exe]
+converting method System.Configuration.ConfigurationElement:DeserializeElement (System.Xml.XmlReader,bool)
+Method System.Configuration.ConfigurationElement:DeserializeElement (System.Xml.XmlReader,bool) emitted at 0x1b539d8 to 0x1b5494a (code length 3954) [client.exe]
+converting method System.Net.Configuration.SettingsSection:get_Properties ()
+Method System.Net.Configuration.SettingsSection:get_Properties () emitted at 0x1b549e0 to 0x1b549ee (code length 14) [client.exe]
+converting gshared method System.Collections.Generic.List`1/Enumerator<System.Configuration.ConfigurationProperty>:System.Collections.IEnumerator.get_Current ()
+Method System.Collections.Generic.List`1/Enumerator:System.Collections.IEnumerator.get_Current () emitted at 0x1b549f0 to 0x1b54a68 (code length 120) [client.exe]
+converting method System.Configuration.PropertyInformation:.ctor (System.Configuration.ConfigurationElement,System.Configuration.ConfigurationProperty)
+Method System.Configuration.PropertyInformation:.ctor (System.Configuration.ConfigurationElement,System.Configuration.ConfigurationProperty) emitted at 0x1b54a88 to 0x1b54b50 (code length 200) [client.exe]
+converting method System.Configuration.PropertyInformationCollection:Add (System.Configuration.PropertyInformation)
+Method System.Configuration.PropertyInformationCollection:Add (System.Configuration.PropertyInformation) emitted at 0x1b54b50 to 0x1b54b80 (code length 48) [client.exe]
+converting method System.Configuration.PropertyInformationCollection:get_Item (string)
+Method System.Configuration.PropertyInformationCollection:get_Item (string) emitted at 0x1b54b80 to 0x1b54bc7 (code length 71) [client.exe]
+converting method System.Configuration.PropertyInformation:get_IsElement ()
+Method System.Configuration.PropertyInformation:get_IsElement () emitted at 0x1b54bc8 to 0x1b54be8 (code length 32) [client.exe]
+converting method System.Configuration.ConfigurationProperty:get_IsElement ()
+Method System.Configuration.ConfigurationProperty:get_IsElement () emitted at 0x1b54bf8 to 0x1b54c21 (code length 41) [client.exe]
+converting method System.Configuration.PropertyInformation:get_Value ()
+Method System.Configuration.PropertyInformation:get_Value () emitted at 0x1b54c28 to 0x1b54d1b (code length 243) [client.exe]
+converting method System.Net.Configuration.Ipv6Element:.ctor ()
+Method System.Net.Configuration.Ipv6Element:.ctor () emitted at 0x1b54d20 to 0x1b54d28 (code length 8) [client.exe]
+converting method System.Net.Configuration.Ipv6Element:.cctor ()
+Method System.Net.Configuration.Ipv6Element:.cctor () emitted at 0x1b54d28 to 0x1b54e21 (code length 249) [client.exe]
+converting method System.Configuration.ConfigurationProperty:.ctor (string,System.Type,object)
+Method System.Configuration.ConfigurationProperty:.ctor (string,System.Type,object) emitted at 0x1b54e30 to 0x1b54e7d (code length 77) [client.exe]
+converting method System.Runtime.InteropServices.ComVisibleAttribute:.ctor (bool)
+Method System.Runtime.InteropServices.ComVisibleAttribute:.ctor (bool) emitted at 0x1b54e80 to 0x1b54e92 (code length 18) [client.exe]
+converting method (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___byte (object,intptr,intptr,intptr)
+Method (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___byte (object,intptr,intptr,intptr) emitted at 0x1b54e98 to 0x1b54f46 (code length 174) [client.exe]
+converting method System.ComponentModel.AttributeCollection:GetEnumerator ()
+Method System.ComponentModel.AttributeCollection:GetEnumerator () emitted at 0x1b54f48 to 0x1b54f65 (code length 29) [client.exe]
+converting method System.CLSCompliantAttribute:.ctor (bool)
+Method System.CLSCompliantAttribute:.ctor (bool) emitted at 0x1b54f68 to 0x1b54f7a (code length 18) [client.exe]
+converting method System.ComponentModel.BooleanConverter:.ctor ()
+Method System.ComponentModel.BooleanConverter:.ctor () emitted at 0x1b54f80 to 0x1b54f88 (code length 8) [client.exe]
+converting method System.Configuration.ConfigurationElement:InitFromProperty (System.Configuration.PropertyInformation)
+Method System.Configuration.ConfigurationElement:InitFromProperty (System.Configuration.PropertyInformation) emitted at 0x1b54f88 to 0x1b54ff1 (code length 105) [client.exe]
+converting method System.Net.Configuration.Ipv6Element:get_Properties ()
+Method System.Net.Configuration.Ipv6Element:get_Properties () emitted at 0x1b54ff8 to 0x1b55006 (code length 14) [client.exe]
+converting method System.Configuration.ConfigurationElement:Init ()
+Method System.Configuration.ConfigurationElement:Init () emitted at 0x1b55008 to 0x1b55010 (code length 8) [client.exe]
+converting method System.Configuration.ConfigurationElement:IsReadOnly ()
+Method System.Configuration.ConfigurationElement:IsReadOnly () emitted at 0x1b55010 to 0x1b5501f (code length 15) [client.exe]
+converting method System.Collections.Hashtable:ContainsKey (object)
+Method System.Collections.Hashtable:ContainsKey (object) emitted at 0x1b55020 to 0x1b55042 (code length 34) [client.exe]
+converting method System.Configuration.ConfigurationElement:ValidateValue (System.Configuration.ConfigurationProperty,string)
+Method System.Configuration.ConfigurationElement:ValidateValue (System.Configuration.ConfigurationProperty,string) emitted at 0x1b55048 to 0x1b55108 (code length 192) [client.exe]
+converting method System.Configuration.DefaultValidator:CanValidate (System.Type)
+Method System.Configuration.DefaultValidator:CanValidate (System.Type) emitted at 0x1b55118 to 0x1b55125 (code length 13) [client.exe]
+converting method System.Configuration.ConfigurationProperty:ConvertFromString (string)
+Method System.Configuration.ConfigurationProperty:ConvertFromString (string) emitted at 0x1b55128 to 0x1b5516e (code length 70) [client.exe]
+converting method System.ComponentModel.TypeConverter:ConvertFromInvariantString (string)
+Method System.ComponentModel.TypeConverter:ConvertFromInvariantString (string) emitted at 0x1b55180 to 0x1b5519d (code length 29) [client.exe]
+converting method System.ComponentModel.TypeConverter:ConvertFromInvariantString (System.ComponentModel.ITypeDescriptorContext,string)
+Method System.ComponentModel.TypeConverter:ConvertFromInvariantString (System.ComponentModel.ITypeDescriptorContext,string) emitted at 0x1b551b0 to 0x1b551d1 (code length 33) [client.exe]
+converting method System.ComponentModel.TypeConverter:ConvertFromString (System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,string)
+Method System.ComponentModel.TypeConverter:ConvertFromString (System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,string) emitted at 0x1b551e0 to 0x1b551ff (code length 31) [client.exe]
+converting method System.ComponentModel.BooleanConverter:ConvertFrom (System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,object)
+Method System.ComponentModel.BooleanConverter:ConvertFrom (System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,object) emitted at 0x1b55200 to 0x1b55299 (code length 153) [client.exe]
+converting method System.Configuration.DefaultValidator:Validate (object)
+Method System.Configuration.DefaultValidator:Validate (object) emitted at 0x1b552a8 to 0x1b552b0 (code length 8) [client.exe]
+converting method System.Configuration.PropertyInformation:SetStringValue (string)
+Method System.Configuration.PropertyInformation:SetStringValue (string) emitted at 0x1b552b0 to 0x1b55326 (code length 118) [client.exe]
+converting method bool:Equals (object)
+Method bool:Equals (object) emitted at 0x1b55328 to 0x1b553bc (code length 148) [client.exe]
+converting method System.Xml.XmlTextReader:get_LineNumber ()
+Method System.Xml.XmlTextReader:get_LineNumber () emitted at 0x1b553d0 to 0x1b55411 (code length 65) [client.exe]
+converting method Mono.Xml2.XmlTextReader:get_LineNumber ()
+Method Mono.Xml2.XmlTextReader:get_LineNumber () emitted at 0x1b55420 to 0x1b5544a (code length 42) [client.exe]
+converting method System.Configuration.PropertyInformationCollection/PropertyInformationEnumerator:get_Current ()
+Method System.Configuration.PropertyInformationCollection/PropertyInformationEnumerator:get_Current () emitted at 0x1b55450 to 0x1b554bd (code length 109) [client.exe]
+converting method System.Collections.Specialized.NameObjectCollectionBase:BaseGet (int)
+Method System.Collections.Specialized.NameObjectCollectionBase:BaseGet (int) emitted at 0x1b554d0 to 0x1b55523 (code length 83) [client.exe]
+converting method System.Configuration.ConfigurationElement:PostDeserialize ()
+Method System.Configuration.ConfigurationElement:PostDeserialize () emitted at 0x1b55528 to 0x1b55530 (code length 8) [client.exe]
+converting method System.Configuration.PropertyInformation:get_Name ()
+Method System.Configuration.PropertyInformation:get_Name () emitted at 0x1b55530 to 0x1b55545 (code length 21) [client.exe]
+converting method System.Configuration.PropertyInformation:Reset (System.Configuration.PropertyInformation)
+Method System.Configuration.PropertyInformation:Reset (System.Configuration.PropertyInformation) emitted at 0x1b55548 to 0x1b55641 (code length 249) [client.exe]
+converting method System.Net.Configuration.HttpWebRequestElement:.ctor ()
+Method System.Net.Configuration.HttpWebRequestElement:.ctor () emitted at 0x1b55648 to 0x1b55650 (code length 8) [client.exe]
+converting method System.Net.Configuration.HttpWebRequestElement:.cctor ()
+Method System.Net.Configuration.HttpWebRequestElement:.cctor () emitted at 0x1b55650 to 0x1b55899 (code length 585) [client.exe]
+converting method System.ComponentModel.Int32Converter:.ctor ()
+Method System.ComponentModel.Int32Converter:.ctor () emitted at 0x1b558a0 to 0x1b558d8 (code length 56) [client.exe]
+converting method System.Net.Configuration.HttpWebRequestElement:get_Properties ()
+Method System.Net.Configuration.HttpWebRequestElement:get_Properties () emitted at 0x1b558d8 to 0x1b558e6 (code length 14) [client.exe]
+converting method System.Net.Configuration.PerformanceCountersElement:.ctor ()
+Method System.Net.Configuration.PerformanceCountersElement:.ctor () emitted at 0x1b558e8 to 0x1b558f0 (code length 8) [client.exe]
+converting method System.Net.Configuration.PerformanceCountersElement:.cctor ()
+Method System.Net.Configuration.PerformanceCountersElement:.cctor () emitted at 0x1b558f0 to 0x1b559e9 (code length 249) [client.exe]
+converting method System.Net.Configuration.PerformanceCountersElement:get_Properties ()
+Method System.Net.Configuration.PerformanceCountersElement:get_Properties () emitted at 0x1b559f0 to 0x1b559fe (code length 14) [client.exe]
+converting method System.Net.Configuration.ServicePointManagerElement:.ctor ()
+Method System.Net.Configuration.ServicePointManagerElement:.ctor () emitted at 0x1b55a00 to 0x1b55a08 (code length 8) [client.exe]
+converting method System.Net.Configuration.ServicePointManagerElement:.cctor ()
+Method System.Net.Configuration.ServicePointManagerElement:.cctor () emitted at 0x1b55a08 to 0x1b55d21 (code length 793) [client.exe]
+converting method System.Net.Configuration.ServicePointManagerElement:get_Properties ()
+Method System.Net.Configuration.ServicePointManagerElement:get_Properties () emitted at 0x1b55d28 to 0x1b55d36 (code length 14) [client.exe]
+converting method System.Net.Configuration.SocketElement:.ctor ()
+Method System.Net.Configuration.SocketElement:.ctor () emitted at 0x1b55d38 to 0x1b55e9d (code length 357) [client.exe]
+converting method System.Net.Configuration.SocketElement:get_Properties ()
+Method System.Net.Configuration.SocketElement:get_Properties () emitted at 0x1b55ea0 to 0x1b55eae (code length 14) [client.exe]
+converting method System.Net.Configuration.WebProxyScriptElement:.ctor ()
+Method System.Net.Configuration.WebProxyScriptElement:.ctor () emitted at 0x1b55eb0 to 0x1b55eb8 (code length 8) [client.exe]
+converting method System.Net.Configuration.WebProxyScriptElement:.cctor ()
+Method System.Net.Configuration.WebProxyScriptElement:.cctor () emitted at 0x1b55eb8 to 0x1b55fed (code length 309) [client.exe]
+converting method System.TimeSpan:.ctor (int,int,int,int)
+Method System.TimeSpan:.ctor (int,int,int,int) emitted at 0x1b56000 to 0x1b56029 (code length 41) [client.exe]
+converting method System.ComponentModel.TimeSpanConverter:.ctor ()
+Method System.ComponentModel.TimeSpanConverter:.ctor () emitted at 0x1b56030 to 0x1b56038 (code length 8) [client.exe]
+converting method System.Net.Configuration.WebProxyScriptElement:get_Properties ()
+Method System.Net.Configuration.WebProxyScriptElement:get_Properties () emitted at 0x1b56038 to 0x1b56046 (code length 14) [client.exe]
+converting method System.Net.Configuration.SettingsSection:get_Ipv6 ()
+Method System.Net.Configuration.SettingsSection:get_Ipv6 () emitted at 0x1b56048 to 0x1b56093 (code length 75) [client.exe]
+converting method System.Configuration.ConfigurationElement:get_Item (System.Configuration.ConfigurationProperty)
+Method System.Configuration.ConfigurationElement:get_Item (System.Configuration.ConfigurationProperty) emitted at 0x1b560a0 to 0x1b560c1 (code length 33) [client.exe]
+converting method System.Configuration.ConfigurationElement:get_Item (string)
+Method System.Configuration.ConfigurationElement:get_Item (string) emitted at 0x1b560d0 to 0x1b56180 (code length 176) [client.exe]
+converting method System.Net.Configuration.Ipv6Element:get_Enabled ()
+Method System.Net.Configuration.Ipv6Element:get_Enabled () emitted at 0x1b56180 to 0x1b561cf (code length 79) [client.exe]
+converting method IceInternal.UdpTransceiver:setBufSize (IceInternal.Instance)
+Method IceInternal.UdpTransceiver:setBufSize (IceInternal.Instance) emitted at 0x1b561d0 to 0x1b5653f (code length 879) [client.exe]
+converting method IceInternal.Network:getRecvBufferSize (System.Net.Sockets.Socket)
+Method IceInternal.Network:getRecvBufferSize (System.Net.Sockets.Socket) emitted at 0x1b56570 to 0x1b56633 (code length 195) [client.exe]
+converting method System.Net.Sockets.Socket:GetSocketOption (System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName)
+Method System.Net.Sockets.Socket:GetSocketOption (System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName) emitted at 0x1b56640 to 0x1b56800 (code length 448) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:GetSocketOption_obj_internal (intptr,System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,object&,int&)
+Restoring : local R13 <-
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:GetSocketOption_obj_internal (intptr,System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,object&,int&) emitted at 0x1b56810 to 0x1b5688a (code length 122) [client.exe]
+converting method IceInternal.Network:getSendBufferSize (System.Net.Sockets.Socket)
+Method IceInternal.Network:getSendBufferSize (System.Net.Sockets.Socket) emitted at 0x1b56890 to 0x1b56953 (code length 195) [client.exe]
+converting method IceInternal.Network:setBlock (System.Net.Sockets.Socket,bool)
+Method IceInternal.Network:setBlock (System.Net.Sockets.Socket,bool) emitted at 0x1b56958 to 0x1b569d6 (code length 126) [client.exe]
+converting method System.Net.Sockets.Socket:set_Blocking (bool)
+Method System.Net.Sockets.Socket:set_Blocking (bool) emitted at 0x1b569e8 to 0x1b56aa0 (code length 184) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:Blocking_internal (intptr,bool,int&)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:Blocking_internal (intptr,bool,int&) emitted at 0x1b56ab0 to 0x1b56b26 (code length 118) [client.exe]
+converting method IceInternal.Network:isMulticast (System.Net.IPEndPoint)
+Method IceInternal.Network:isMulticast (System.Net.IPEndPoint) emitted at 0x1b56b28 to 0x1b56c64 (code length 316) [client.exe]
+converting method System.Net.IPAddress:ToString ()
+Method System.Net.IPAddress:ToString () emitted at 0x1b56c68 to 0x1b56dbf (code length 343) [client.exe]
+converting method System.Net.IPAddress:ToString (long)
+Method System.Net.IPAddress:ToString (long) emitted at 0x1b56de8 to 0x1b56ff5 (code length 525) [client.exe]
+converting method long:ToString ()
+Method long:ToString () emitted at 0x1b57008 to 0x1b57029 (code length 33) [client.exe]
+converting method System.NumberFormatter:NumberToString (long,System.IFormatProvider)
+Method System.NumberFormatter:NumberToString (long,System.IFormatProvider) emitted at 0x1b57038 to 0x1b570ff (code length 199) [client.exe]
+converting method string:Concat (string[])
+Method string:Concat (string[]) emitted at 0x1b57110 to 0x1b571a0 (code length 144) [client.exe]
+converting method string:ToUpperInvariant ()
+Method string:ToUpperInvariant () emitted at 0x1b571a0 to 0x1b57253 (code length 179) [client.exe]
+converting method IceInternal.Network:setReuseAddress (System.Net.Sockets.Socket,bool)
+Method IceInternal.Network:setReuseAddress (System.Net.Sockets.Socket,bool) emitted at 0x1b57258 to 0x1b572ee (code length 150) [client.exe]
+converting method IceInternal.Network:doBind (System.Net.Sockets.Socket,System.Net.EndPoint)
+Method IceInternal.Network:doBind (System.Net.Sockets.Socket,System.Net.EndPoint) emitted at 0x1b572f0 to 0x1b573b4 (code length 196) [client.exe]
+converting method System.Net.Sockets.Socket:Bind (System.Net.EndPoint)
+Method System.Net.Sockets.Socket:Bind (System.Net.EndPoint) emitted at 0x1b573d0 to 0x1b57500 (code length 304) [client.exe]
+converting method System.Net.IPEndPoint:Serialize ()
+Method System.Net.IPEndPoint:Serialize () emitted at 0x1b57510 to 0x1b57909 (code length 1017) [client.exe]
+converting method System.Net.SocketAddress:.ctor (System.Net.Sockets.AddressFamily,int)
+Method System.Net.SocketAddress:.ctor (System.Net.Sockets.AddressFamily,int) emitted at 0x1b57928 to 0x1b579e8 (code length 192) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:Bind_internal (intptr,System.Net.SocketAddress,int&)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:Bind_internal (intptr,System.Net.SocketAddress,int&) emitted at 0x1b579e8 to 0x1b57a5a (code length 114) [client.exe]
+converting method System.Net.Sockets.Socket:get_LocalEndPoint ()
+Method System.Net.Sockets.Socket:get_LocalEndPoint () emitted at 0x1b57a60 to 0x1b57b34 (code length 212) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:LocalEndPoint_internal (intptr,int,int&)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:LocalEndPoint_internal (intptr,int,int&) emitted at 0x1b57b40 to 0x1b57bba (code length 122) [client.exe]
+converting method System.Net.IPEndPoint:Create (System.Net.SocketAddress)
+Method System.Net.IPEndPoint:Create (System.Net.SocketAddress) emitted at 0x1b57bc0 to 0x1b58145 (code length 1413) [client.exe]
+converting method System.Net.SocketAddress:get_Family ()
+Method System.Net.SocketAddress:get_Family () emitted at 0x1b58160 to 0x1b581a2 (code length 66) [client.exe]
+converting method System.Net.IPEndPoint:.ctor (long,int)
+Method System.Net.IPEndPoint:.ctor (long,int) emitted at 0x1b581a8 to 0x1b58215 (code length 109) [client.exe]
+converting method IceInternal.Network:setMcastGroup (System.Net.Sockets.Socket,System.Net.IPAddress,string)
+Method IceInternal.Network:setMcastGroup (System.Net.Sockets.Socket,System.Net.IPAddress,string) emitted at 0x1b58218 to 0x1b5843e (code length 550) [client.exe]
+converting method System.Net.Sockets.MulticastOption:.ctor (System.Net.IPAddress,System.Net.IPAddress)
+Method System.Net.Sockets.MulticastOption:.ctor (System.Net.IPAddress,System.Net.IPAddress) emitted at 0x1b58480 to 0x1b58548 (code length 200) [client.exe]
+converting method System.Net.Sockets.Socket:SetSocketOption (System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,object)
+Method System.Net.Sockets.Socket:SetSocketOption (System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,object) emitted at 0x1b58548 to 0x1b58900 (code length 952) [client.exe]
+converting method IceInternal.UdpTransceiver:effectivePort ()
+Method IceInternal.UdpTransceiver:effectivePort () emitted at 0x1b58900 to 0x1b5891d (code length 29) [client.exe]
+converting method IceInternal.Network:endpointPort (System.Net.EndPoint)
+Method IceInternal.Network:endpointPort (System.Net.EndPoint) emitted at 0x1b58930 to 0x1b589b2 (code length 130) [client.exe]
+converting method IceInternal.UdpEndpointI:.ctor (IceInternal.Instance,string,int,string,int,bool,string,bool)
+Method IceInternal.UdpEndpointI:.ctor (IceInternal.Instance,string,int,string,int,bool,string,bool) emitted at 0x1b589b8 to 0x1b58ac8 (code length 272) [client.exe]
+converting method Ice.ObjectAdapterI:getCommunicator ()
+Method Ice.ObjectAdapterI:getCommunicator () emitted at 0x1b58ae0 to 0x1b58aee (code length 14) [client.exe]
+converting method Ice.ConnectionI:.cctor ()
+Method Ice.ConnectionI:.cctor () emitted at 0x1b58af0 to 0x1b58b45 (code length 85) [client.exe]
+converting method Ice.ConnectionI:.ctor (Ice.Communicator,IceInternal.Instance,IceInternal.ConnectionReaper,IceInternal.Transceiver,IceInternal.Connector,IceInternal.EndpointI,Ice.ObjectAdapter)
+Method Ice.ConnectionI:.ctor (Ice.Communicator,IceInternal.Instance,IceInternal.ConnectionReaper,IceInternal.Transceiver,IceInternal.Connector,IceInternal.EndpointI,Ice.ObjectAdapter) emitted at 0x1b58b48 to 0x1b5948f (code length 2375) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:.ctor ()
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:.ctor () emitted at 0x1b594d0 to 0x1b594ed (code length 29) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>)
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>) emitted at 0x1b59500 to 0x1b595d8 (code length 216) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:InitArrays (int)
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:InitArrays (int) emitted at 0x1b595e8 to 0x1b5972f (code length 327) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:.ctor ()
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:.ctor () emitted at 0x1b59730 to 0x1b5974d (code length 29) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>)
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>) emitted at 0x1b59760 to 0x1b59838 (code length 216) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:InitArrays (int)
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:InitArrays (int) emitted at 0x1b59848 to 0x1b5998f (code length 327) [client.exe]
+converting method IceInternal.UdpTransceiver:ToString ()
+Method IceInternal.UdpTransceiver:ToString () emitted at 0x1b59990 to 0x1b59a68 (code length 216) [client.exe]
+converting method IceInternal.Network:getLocalAddress (System.Net.Sockets.Socket)
+Method IceInternal.Network:getLocalAddress (System.Net.Sockets.Socket) emitted at 0x1b59a90 to 0x1b59afd (code length 109) [client.exe]
+converting method IceInternal.Network:localAddrToString (System.Net.EndPoint)
+Method IceInternal.Network:localAddrToString (System.Net.EndPoint) emitted at 0x1b59b00 to 0x1b59b7c (code length 124) [client.exe]
+converting method IceInternal.Network:endpointAddressToString (System.Net.EndPoint)
+Method IceInternal.Network:endpointAddressToString (System.Net.EndPoint) emitted at 0x1b59b80 to 0x1b59c0e (code length 142) [client.exe]
+converting method IceInternal.Network:addrToString (System.Net.EndPoint)
+Method IceInternal.Network:addrToString (System.Net.EndPoint) emitted at 0x1b59c10 to 0x1b59c71 (code length 97) [client.exe]
+converting method IceInternal.UdpTransceiver:type ()
+Method IceInternal.UdpTransceiver:type () emitted at 0x1b59c78 to 0x1b59c85 (code length 13) [client.exe]
+converting method IceInternal.BasicStream:.ctor (IceInternal.Instance,Ice.EncodingVersion,bool)
+Method IceInternal.BasicStream:.ctor (IceInternal.Instance,Ice.EncodingVersion,bool) emitted at 0x1b59c88 to 0x1b59d0e (code length 134) [client.exe]
+converting method IceInternal.BasicStream:initialize (IceInternal.Instance,Ice.EncodingVersion,bool)
+Method IceInternal.BasicStream:initialize (IceInternal.Instance,Ice.EncodingVersion,bool) emitted at 0x1b59d28 to 0x1b59db9 (code length 145) [client.exe]
+converting method IceInternal.Buffer:.ctor (int)
+converting method IceInternal.Buffer:.cctor ()
+Method IceInternal.Buffer:.cctor () emitted at 0x1b59dc0 to 0x1b59de9 (code length 41) [client.exe]
+Method IceInternal.Buffer:.ctor (int) emitted at 0x1b59df0 to 0x1b59e3f (code length 79) [client.exe]
+converting method IceInternal.BasicStream:.ctor (IceInternal.Instance,Ice.EncodingVersion)
+Method IceInternal.BasicStream:.ctor (IceInternal.Instance,Ice.EncodingVersion) emitted at 0x1b59e40 to 0x1b59ec2 (code length 130) [client.exe]
+converting method IceInternal.UdpEndpointI:datagram ()
+Method IceInternal.UdpEndpointI:datagram () emitted at 0x1b59ec8 to 0x1b59ed5 (code length 13) [client.exe]
+converting method Ice.ObjectAdapterI:getThreadPool ()
+Method Ice.ObjectAdapterI:getThreadPool () emitted at 0x1b59ed8 to 0x1b59f2d (code length 85) [client.exe]
+converting method IceInternal.Instance:serverThreadPool (bool)
+Method IceInternal.Instance:serverThreadPool (bool) emitted at 0x1b59f40 to 0x1b5a048 (code length 264) [client.exe]
+converting method Ice.ConnectionI:start (Ice.ConnectionI/StartCallback)
+Method Ice.ConnectionI:start (Ice.ConnectionI/StartCallback) emitted at 0x1b5a048 to 0x1b5a290 (code length 584) [client.exe]
+converting method Ice.ConnectionI:initialize (int)
+Method Ice.ConnectionI:initialize (int) emitted at 0x1b5a2d0 to 0x1b5a385 (code length 181) [client.exe]
+converting method IceInternal.UdpTransceiver:initialize ()
+Method IceInternal.UdpTransceiver:initialize () emitted at 0x1b5a3b0 to 0x1b5a471 (code length 193) [client.exe]
+converting method Ice.ConnectionI:setState (int)
+Method Ice.ConnectionI:setState (int) emitted at 0x1b5a478 to 0x1b5ad0d (code length 2197) [client.exe]
+converting method IceUtilInternal.Monitor:NotifyAll ()
+Method IceUtilInternal.Monitor:NotifyAll () emitted at 0x1b5adb8 to 0x1b5add1 (code length 25) [client.exe]
+converting method System.Threading.Monitor:PulseAll (object)
+Method System.Threading.Monitor:PulseAll (object) emitted at 0x1b5ade0 to 0x1b5ae74 (code length 148) [client.exe]
+converting method (wrapper managed-to-native) System.Threading.Monitor:Monitor_pulse_all (object)
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Threading.Monitor:Monitor_pulse_all (object) emitted at 0x1b5ae80 to 0x1b5aeee (code length 110) [client.exe]
+converting method Ice.ConnectionI:validate (int)
+Method Ice.ConnectionI:validate (int) emitted at 0x1b5aef0 to 0x1b5b594 (code length 1700) [client.exe]
+converting method IceInternal.BasicStream:resize (int,bool)
+Method IceInternal.BasicStream:resize (int,bool) emitted at 0x1b5b6d0 to 0x1b5b735 (code length 101) [client.exe]
+converting method IceInternal.Buffer:resize (int,bool)
+Method IceInternal.Buffer:resize (int,bool) emitted at 0x1b5b750 to 0x1b5b7e2 (code length 146) [client.exe]
+converting method IceInternal.Buffer:clear ()
+Method IceInternal.Buffer:clear () emitted at 0x1b5b808 to 0x1b5b851 (code length 73) [client.exe]
+converting method IceInternal.ByteBuffer:position (int)
+Method IceInternal.ByteBuffer:position (int) emitted at 0x1b5b858 to 0x1b5b8dd (code length 133) [client.exe]
+converting method IceInternal.BasicStream:pos (int)
+Method IceInternal.BasicStream:pos (int) emitted at 0x1b5b8f0 to 0x1b5b915 (code length 37) [client.exe]
+converting method IceInternal.Buffer:reserve (int)
+Method IceInternal.Buffer:reserve (int) emitted at 0x1b5b918 to 0x1b5bc9e (code length 902) [client.exe]
+converting method IceInternal.ByteBuffer:allocate (int)
+Method IceInternal.ByteBuffer:allocate (int) emitted at 0x1b5bcc8 to 0x1b5bdae (code length 230) [client.exe]
+converting method IceInternal.ByteBuffer:limit (int)
+Method IceInternal.ByteBuffer:limit (int) emitted at 0x1b5bdb0 to 0x1b5be35 (code length 133) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1<Ice.ConnectionI>:Add (Ice.ConnectionI)
+Method System.Collections.Generic.HashSet`1:Add (T) emitted at 0x1b5be38 to 0x1b5bfb7 (code length 383) [client.exe]
+converting method IceInternal.TcpEndpointI:compress (bool)
+Method IceInternal.TcpEndpointI:compress (bool) emitted at 0x1b5bfc8 to 0x1b5c058 (code length 144) [client.exe]
+converting method IceInternal.TcpEndpointI:transceiver (IceInternal.EndpointI&)
+Method IceInternal.TcpEndpointI:transceiver (IceInternal.EndpointI&) emitted at 0x1b5c068 to 0x1b5c096 (code length 46) [client.exe]
+converting method IceInternal.TcpEndpointI:acceptor (IceInternal.EndpointI&,string)
+Method IceInternal.TcpEndpointI:acceptor (IceInternal.EndpointI&,string) emitted at 0x1b5c098 to 0x1b5c189 (code length 241) [client.exe]
+converting method IceInternal.TcpAcceptor:.ctor (IceInternal.Instance,string,int)
+Method IceInternal.TcpAcceptor:.ctor (IceInternal.Instance,string,int) emitted at 0x1b5c1a8 to 0x1b5c4b6 (code length 782) [client.exe]
+converting method IceInternal.Network:setTcpNoDelay (System.Net.Sockets.Socket)
+Method IceInternal.Network:setTcpNoDelay (System.Net.Sockets.Socket) emitted at 0x1b5c4c8 to 0x1b5c546 (code length 126) [client.exe]
+converting method IceInternal.Network:setTcpBufSize (System.Net.Sockets.Socket,Ice.Properties,Ice.Logger)
+Method IceInternal.Network:setTcpBufSize (System.Net.Sockets.Socket,Ice.Properties,Ice.Logger) emitted at 0x1b5c548 to 0x1b5c7b9 (code length 625) [client.exe]
+converting method System.Net.IPAddress:GetAddressBytes ()
+Method System.Net.IPAddress:GetAddressBytes () emitted at 0x1b5c7c0 to 0x1b5c914 (code length 340) [client.exe]
+converting method System.Net.IPAddress:get_ScopeId ()
+Method System.Net.IPAddress:get_ScopeId () emitted at 0x1b5c918 to 0x1b5c968 (code length 80) [client.exe]
+converting method IceInternal.TcpAcceptor:effectivePort ()
+Method IceInternal.TcpAcceptor:effectivePort () emitted at 0x1b5c968 to 0x1b5c97d (code length 21) [client.exe]
+converting method IceInternal.TcpEndpointI:.ctor (IceInternal.Instance,string,int,int,string,bool)
+Method IceInternal.TcpEndpointI:.ctor (IceInternal.Instance,string,int,int,string,bool) emitted at 0x1b5c980 to 0x1b5ca10 (code length 144) [client.exe]
+converting method IceInternal.TcpAcceptor:listen ()
+Method IceInternal.TcpAcceptor:listen () emitted at 0x1b5ca28 to 0x1b5cb70 (code length 328) [client.exe]
+converting method IceInternal.Network:doListen (System.Net.Sockets.Socket,int)
+Method IceInternal.Network:doListen (System.Net.Sockets.Socket,int) emitted at 0x1b5cb80 to 0x1b5cc32 (code length 178) [client.exe]
+converting method System.Net.Sockets.Socket:Listen (int)
+Method System.Net.Sockets.Socket:Listen (int) emitted at 0x1b5cc50 to 0x1b5cd44 (code length 244) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:Listen_internal (intptr,int,int&)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:Listen_internal (intptr,int,int&) emitted at 0x1b5cd50 to 0x1b5cdc2 (code length 114) [client.exe]
+converting method Ice.ObjectAdapterI:parsePublishedEndpoints ()
+Method Ice.ObjectAdapterI:parsePublishedEndpoints () emitted at 0x1b5cdc8 to 0x1b5d071 (code length 681) [client.exe]
+converting method IceInternal.UdpEndpointI:expand ()
+Method IceInternal.UdpEndpointI:expand () emitted at 0x1b5d098 to 0x1b5d23e (code length 422) [client.exe]
+converting method IceInternal.Network:getHostsForEndpointExpand (string,int,bool)
+Method IceInternal.Network:getHostsForEndpointExpand (string,int,bool) emitted at 0x1b5d240 to 0x1b5d45a (code length 538) [client.exe]
+converting method System.Net.IPAddress:Equals (object)
+Method System.Net.IPAddress:Equals (object) emitted at 0x1b5d478 to 0x1b5d568 (code length 240) [client.exe]
+converting gshared method System.Collections.Generic.List`1<IceInternal.EndpointI>:AddRange (System.Collections.Generic.IEnumerable`1<IceInternal.EndpointI>)
+Method System.Collections.Generic.List`1:AddRange (System.Collections.Generic.IEnumerable`1<T>) emitted at 0x1b5d568 to 0x1b5d610 (code length 168) [client.exe]
+converting gshared method System.Collections.Generic.List`1<IceInternal.EndpointI>:AddCollection (System.Collections.Generic.ICollection`1<IceInternal.EndpointI>)
+Method System.Collections.Generic.List`1:AddCollection (System.Collections.Generic.ICollection`1<T>) emitted at 0x1b5d628 to 0x1b5d6be (code length 150) [client.exe]
+converting gshared method System.Collections.Generic.List`1<IceInternal.EndpointI>:get_Count ()
+Method System.Collections.Generic.List`1:get_Count () emitted at 0x1b5d6d8 to 0x1b5d6e6 (code length 14) [client.exe]
+converting gshared method System.Collections.Generic.List`1<IceInternal.EndpointI>:CopyTo (IceInternal.EndpointI[],int)
+Method System.Collections.Generic.List`1:CopyTo (T[],int) emitted at 0x1b5d718 to 0x1b5d741 (code length 41) [client.exe]
+converting method IceInternal.TcpEndpointI:expand ()
+Method IceInternal.TcpEndpointI:expand () emitted at 0x1b5d748 to 0x1b5d8da (code length 402) [client.exe]
+converting method IceInternal.Network:getLocalAddresses (int)
+Method IceInternal.Network:getLocalAddresses (int) emitted at 0x1b5d8e0 to 0x1b5dce3 (code length 1027) [client.exe]
+converting method System.Net.NetworkInformation.NetworkInterface:GetAllNetworkInterfaces ()
+converting method System.Net.NetworkInformation.NetworkInterface:.cctor ()
+Method System.Net.NetworkInformation.NetworkInterface:.cctor () emitted at 0x1b5dd30 to 0x1b5dd87 (code length 87) [client.exe]
+converting method System.Version:.ctor (int,int)
+Method System.Version:.ctor (int,int) emitted at 0x1b5dd98 to 0x1b5ddbd (code length 37) [client.exe]
+Method System.Net.NetworkInformation.NetworkInterface:GetAllNetworkInterfaces () emitted at 0x1b5ddc0 to 0x1b5de5b (code length 155) [client.exe]
+converting method System.Platform:get_IsMacOS ()
+Method System.Platform:get_IsMacOS () emitted at 0x1b5de80 to 0x1b5df2b (code length 171) [client.exe]
+converting method System.Runtime.InteropServices.Marshal:AllocHGlobal (int)
+Method System.Runtime.InteropServices.Marshal:AllocHGlobal (int) emitted at 0x1b5df60 to 0x1b5df79 (code length 25) [client.exe]
+converting method (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:AllocHGlobal (intptr)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:AllocHGlobal (intptr) emitted at 0x1b5df88 to 0x1b5dffe (code length 118) [client.exe]
+converting method (wrapper managed-to-native) System.Platform:uname (intptr)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) System.Platform:uname (intptr) emitted at 0x1b5e000 to 0x1b5e076 (code length 118) [client.exe]
+converting method (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:PtrToStringAnsi (intptr)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:PtrToStringAnsi (intptr) emitted at 0x1b5e078 to 0x1b5e0ee (code length 118) [client.exe]
+converting method (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:FreeHGlobal (intptr)
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:FreeHGlobal (intptr) emitted at 0x1b5e0f0 to 0x1b5e15e (code length 110) [client.exe]
+converting method System.Net.NetworkInformation.MacOsNetworkInterface:ImplGetAllNetworkInterfaces ()
+Method System.Net.NetworkInformation.MacOsNetworkInterface:ImplGetAllNetworkInterfaces () emitted at 0x1b5e160 to 0x1b5e898 (code length 1848) [client.exe]
+converting method (wrapper managed-to-native) System.Net.NetworkInformation.MacOsNetworkInterface:getifaddrs (intptr&)
+Restoring : local R14 <-
+Method (wrapper managed-to-native) System.Net.NetworkInformation.MacOsNetworkInterface:getifaddrs (intptr&) emitted at 0x1b5e970 to 0x1b5e9e6 (code length 118) [client.exe]
+converting method (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:PtrToStructure (intptr,System.Type)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:PtrToStructure (intptr,System.Type) emitted at 0x1b5e9e8 to 0x1b5ea62 (code length 122) [client.exe]
+converting method (wrapper unknown) System.Net.NetworkInformation.MacOsStructs.ifaddrs:PtrToStructure (intptr,object)
+Method (wrapper unknown) System.Net.NetworkInformation.MacOsStructs.ifaddrs:PtrToStructure (intptr,object) emitted at 0x1b5ea68 to 0x1b5eb2f (code length 199) [client.exe]
+converting method (wrapper runtime-invoke) <Module>:runtime_invoke_void_intptr_object (object,intptr,intptr,intptr)
+Method (wrapper runtime-invoke) <Module>:runtime_invoke_void_intptr_object (object,intptr,intptr,intptr) emitted at 0x1b5eb30 to 0x1b5ebea (code length 186) [client.exe]
+converting method (wrapper unknown) System.Net.NetworkInformation.MacOsStructs.sockaddr:PtrToStructure (intptr,object)
+Method (wrapper unknown) System.Net.NetworkInformation.MacOsStructs.sockaddr:PtrToStructure (intptr,object) emitted at 0x1b5ebf0 to 0x1b5ec09 (code length 25) [client.exe]
+converting method System.Net.NetworkInformation.MacOsStructs.sockaddr_dl:Read (intptr)
+Restoring : arg R9 <-
+Method System.Net.NetworkInformation.MacOsStructs.sockaddr_dl:Read (intptr) emitted at 0x1b5ec10 to 0x1b5ed08 (code length 248) [client.exe]
+converting method System.Runtime.InteropServices.Marshal:ReadInt16 (intptr,int)
+Restoring : local R12 <-
+Method System.Runtime.InteropServices.Marshal:ReadInt16 (intptr,int) emitted at 0x1b5ed30 to 0x1b5ed78 (code length 72) [client.exe]
+converting method intptr:ToInt64 ()
+Method intptr:ToInt64 () emitted at 0x1b5ed78 to 0x1b5ed9b (code length 35) [client.exe]
+converting method System.Runtime.InteropServices.Marshal:Copy (intptr,byte[],int,int)
+Method System.Runtime.InteropServices.Marshal:Copy (intptr,byte[],int,int) emitted at 0x1b5eda0 to 0x1b5edbd (code length 29) [client.exe]
+converting method System.Enum:IsDefined (System.Type,object)
+Method System.Enum:IsDefined (System.Type,object) emitted at 0x1b5edc0 to 0x1b5ef84 (code length 452) [client.exe]
+converting method (wrapper managed-to-native) System.Enum:ToObject (System.Type,object)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Enum:ToObject (System.Type,object) emitted at 0x1b68000 to 0x1b6807a (code length 122) [client.exe]
+converting method System.Enum:FindPosition (System.Type,object,System.Array)
+Method System.Enum:FindPosition (System.Type,object,System.Array) emitted at 0x1b68080 to 0x1b6857d (code length 1277) [client.exe]
+converting method System.Array:BinarySearch<int> (int[],int,System.Collections.Generic.IComparer`1<int>)
+Method System.Array:BinarySearch<int> (int[],int,System.Collections.Generic.IComparer`1<int>) emitted at 0x1b68620 to 0x1b68678 (code length 88) [client.exe]
+converting method System.Array:BinarySearch<int> (int[],int,int,int,System.Collections.Generic.IComparer`1<int>)
+Method System.Array:BinarySearch<int> (int[],int,int,int,System.Collections.Generic.IComparer`1<int>) emitted at 0x1b68688 to 0x1b688c7 (code length 575) [client.exe]
+converting method System.MonoEnumInfo/IntComparer:Compare (int,int)
+Method System.MonoEnumInfo/IntComparer:Compare (int,int) emitted at 0x1b688d8 to 0x1b688ff (code length 39) [client.exe]
+converting method System.Net.NetworkInformation.MacOsNetworkInterface:.ctor (string)
+Method System.Net.NetworkInformation.MacOsNetworkInterface:.ctor (string) emitted at 0x1b68900 to 0x1b68919 (code length 25) [client.exe]
+converting method System.Net.NetworkInformation.UnixNetworkInterface:.ctor (string)
+Method System.Net.NetworkInformation.UnixNetworkInterface:.ctor (string) emitted at 0x1b68928 to 0x1b689be (code length 150) [client.exe]
+converting method (wrapper unknown) System.Net.NetworkInformation.MacOsStructs.sockaddr_in6:PtrToStructure (intptr,object)
+Method (wrapper unknown) System.Net.NetworkInformation.MacOsStructs.sockaddr_in6:PtrToStructure (intptr,object) emitted at 0x1b689c0 to 0x1b68a9a (code length 218) [client.exe]
+converting method System.Net.IPAddress:.ctor (byte[],long)
+Method System.Net.IPAddress:.ctor (byte[],long) emitted at 0x1b68aa0 to 0x1b68bbc (code length 284) [client.exe]
+converting method System.Net.NetworkInformation.UnixNetworkInterface:AddAddress (System.Net.IPAddress)
+Method System.Net.NetworkInformation.UnixNetworkInterface:AddAddress (System.Net.IPAddress) emitted at 0x1b68bc0 to 0x1b68be1 (code length 33) [client.exe]
+converting method (wrapper unknown) System.Net.NetworkInformation.MacOsStructs.sockaddr_in:PtrToStructure (intptr,object)
+Method (wrapper unknown) System.Net.NetworkInformation.MacOsStructs.sockaddr_in:PtrToStructure (intptr,object) emitted at 0x1b68be8 to 0x1b68c05 (code length 29) [client.exe]
+converting method (wrapper managed-to-native) System.Net.NetworkInformation.MacOsNetworkInterface:freeifaddrs (intptr)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.Net.NetworkInformation.MacOsNetworkInterface:freeifaddrs (intptr) emitted at 0x1b68c08 to 0x1b68c76 (code length 110) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, System.Net.NetworkInformation.MacOsNetworkInterface>:get_Values ()
+Method System.Collections.Generic.Dictionary`2:get_Values () emitted at 0x1b68c78 to 0x1b68cb8 (code length 64) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/ValueCollection<string, System.Net.NetworkInformation.MacOsNetworkInterface>:.ctor (System.Collections.Generic.Dictionary`2<string, System.Net.NetworkInformation.MacOsNetworkInterface>)
+Method System.Collections.Generic.Dictionary`2/ValueCollection:.ctor (System.Collections.Generic.Dictionary`2<TKey, TValue>) emitted at 0x1b68cc8 to 0x1b68d30 (code length 104) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/ValueCollection<string, System.Net.NetworkInformation.MacOsNetworkInterface>:GetEnumerator ()
+Method System.Collections.Generic.Dictionary`2/ValueCollection:GetEnumerator () emitted at 0x1b68d30 to 0x1b68e27 (code length 247) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator<string, System.Net.NetworkInformation.MacOsNetworkInterface>:.ctor (System.Collections.Generic.Dictionary`2<string, System.Net.NetworkInformation.MacOsNetworkInterface>)
+Method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator:.ctor (System.Collections.Generic.Dictionary`2<TKey, TValue>) emitted at 0x1b68e38 to 0x1b68ed7 (code length 159) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator<string, System.Net.NetworkInformation.MacOsNetworkInterface>:MoveNext ()
+Method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator:MoveNext () emitted at 0x1b68ee8 to 0x1b68f18 (code length 48) [client.exe]
+converting method System.Net.NetworkInformation.MacOsNetworkInterface:GetIPProperties ()
+Method System.Net.NetworkInformation.MacOsNetworkInterface:GetIPProperties () emitted at 0x1b68f28 to 0x1b68f98 (code length 112) [client.exe]
+converting method System.Net.NetworkInformation.MacOsIPInterfaceProperties:.ctor (System.Net.NetworkInformation.MacOsNetworkInterface,System.Collections.Generic.List`1<System.Net.IPAddress>)
+Method System.Net.NetworkInformation.MacOsIPInterfaceProperties:.ctor (System.Net.NetworkInformation.MacOsNetworkInterface,System.Collections.Generic.List`1<System.Net.IPAddress>) emitted at 0x1b68fa8 to 0x1b68fc5 (code length 29) [client.exe]
+converting method System.Net.NetworkInformation.UnixIPInterfaceProperties:.ctor (System.Net.NetworkInformation.UnixNetworkInterface,System.Collections.Generic.List`1<System.Net.IPAddress>)
+Method System.Net.NetworkInformation.UnixIPInterfaceProperties:.ctor (System.Net.NetworkInformation.UnixNetworkInterface,System.Collections.Generic.List`1<System.Net.IPAddress>) emitted at 0x1b68fd8 to 0x1b69035 (code length 93) [client.exe]
+converting method System.Net.NetworkInformation.UnixIPInterfaceProperties:.cctor ()
+Method System.Net.NetworkInformation.UnixIPInterfaceProperties:.cctor () emitted at 0x1b69038 to 0x1b6909f (code length 103) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.CharacterClass:.ctor (System.Text.RegularExpressions.Category,bool)
+Method System.Text.RegularExpressions.Syntax.CharacterClass:.ctor (System.Text.RegularExpressions.Category,bool) emitted at 0x1b690a0 to 0x1b690d5 (code length 53) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.ExpressionAssertion:.ctor ()
+Method System.Text.RegularExpressions.Syntax.ExpressionAssertion:.ctor () emitted at 0x1b690d8 to 0x1b69109 (code length 49) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Assertion:.ctor ()
+Method System.Text.RegularExpressions.Syntax.Assertion:.ctor () emitted at 0x1b69118 to 0x1b69188 (code length 112) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ParseAssertionType (System.Text.RegularExpressions.Syntax.ExpressionAssertion)
+Method System.Text.RegularExpressions.Syntax.Parser:ParseAssertionType (System.Text.RegularExpressions.Syntax.ExpressionAssertion) emitted at 0x1b69188 to 0x1b69285 (code length 253) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ParseName ()
+Method System.Text.RegularExpressions.Syntax.Parser:ParseName () emitted at 0x1b69288 to 0x1b692bd (code length 53) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:ParseName (string,int&)
+Method System.Text.RegularExpressions.Syntax.Parser:ParseName (string,int&) emitted at 0x1b692d0 to 0x1b693bd (code length 237) [client.exe]
+converting method System.Text.RegularExpressions.Syntax.Parser:IsNameChar (char)
+Method System.Text.RegularExpressions.Syntax.Parser:IsNameChar (char) emitted at 0x1b693d8 to 0x1b69423 (code length 75) [client.exe]
+converting method char:IsLetterOrDigit (char)
+Method char:IsLetterOrDigit (char) emitted at 0x1b69428 to 0x1b69460 (code length 56) [client.exe]
+converting method System.Net.NetworkInformation.UnixIPInterfaceProperties:get_UnicastAddresses ()
+Method System.Net.NetworkInformation.UnixIPInterfaceProperties:get_UnicastAddresses () emitted at 0x1b69460 to 0x1b695f0 (code length 400) [client.exe]
+converting method System.Net.IPAddress:get_IsIPv6Multicast ()
+Method System.Net.IPAddress:get_IsIPv6Multicast () emitted at 0x1b69620 to 0x1b6968a (code length 106) [client.exe]
+converting method System.Net.IPAddress:NetworkToHostOrder (int16)
+Method System.Net.IPAddress:NetworkToHostOrder (int16) emitted at 0x1b69690 to 0x1b696b4 (code length 36) [client.exe]
+converting method System.Net.NetworkInformation.UnicastIPAddressInformationImplCollection:LinuxFromList (System.Collections.Generic.List`1<System.Net.IPAddress>)
+Method System.Net.NetworkInformation.UnicastIPAddressInformationImplCollection:LinuxFromList (System.Collections.Generic.List`1<System.Net.IPAddress>) emitted at 0x1b696b8 to 0x1b697b6 (code length 254) [client.exe]
+converting method System.Net.NetworkInformation.UnicastIPAddressInformationImplCollection:.cctor ()
+Method System.Net.NetworkInformation.UnicastIPAddressInformationImplCollection:.cctor () emitted at 0x1b697c8 to 0x1b697ff (code length 55) [client.exe]
+converting method System.Net.NetworkInformation.UnicastIPAddressInformationImplCollection:.ctor (bool)
+Method System.Net.NetworkInformation.UnicastIPAddressInformationImplCollection:.ctor (bool) emitted at 0x1b69800 to 0x1b69882 (code length 130) [client.exe]
+converting method System.Net.NetworkInformation.UnicastIPAddressInformationCollection:Add (System.Net.NetworkInformation.UnicastIPAddressInformation)
+Method System.Net.NetworkInformation.UnicastIPAddressInformationCollection:Add (System.Net.NetworkInformation.UnicastIPAddressInformation) emitted at 0x1b698a0 to 0x1b6990c (code length 108) [client.exe]
+converting method System.Net.NetworkInformation.UnicastIPAddressInformationImplCollection:get_IsReadOnly ()
+Method System.Net.NetworkInformation.UnicastIPAddressInformationImplCollection:get_IsReadOnly () emitted at 0x1b69918 to 0x1b69927 (code length 15) [client.exe]
+converting method System.Net.NetworkInformation.UnicastIPAddressInformationCollection:GetEnumerator ()
+Method System.Net.NetworkInformation.UnicastIPAddressInformationCollection:GetEnumerator () emitted at 0x1b69928 to 0x1b69947 (code length 31) [client.exe]
+converting gshared method System.Collections.Generic.List`1<System.Net.NetworkInformation.UnicastIPAddressInformation>:System.Collections.Generic.IEnumerable<T>.GetEnumerator ()
+Method System.Collections.Generic.List`1:System.Collections.Generic.IEnumerable<T>.GetEnumerator () emitted at 0x1b69960 to 0x1b699f9 (code length 153) [client.exe]
+converting gshared method System.Collections.Generic.List`1/Enumerator<System.Net.NetworkInformation.UnicastIPAddressInformation>:get_Current ()
+Method System.Collections.Generic.List`1/Enumerator:get_Current () emitted at 0x1b69a28 to 0x1b69a39 (code length 17) [client.exe]
+converting method System.Net.NetworkInformation.LinuxUnicastIPAddressInformation:get_Address ()
+Method System.Net.NetworkInformation.LinuxUnicastIPAddressInformation:get_Address () emitted at 0x1b69a60 to 0x1b69a6e (code length 14) [client.exe]
+converting method System.Net.IPAddress:IsLoopback (System.Net.IPAddress)
+Method System.Net.IPAddress:IsLoopback (System.Net.IPAddress) emitted at 0x1b69a70 to 0x1b69b1b (code length 171) [client.exe]
+converting method System.Net.IPAddress:get_IsIPv6LinkLocal ()
+Method System.Net.IPAddress:get_IsIPv6LinkLocal () emitted at 0x1b69b40 to 0x1b69bb5 (code length 117) [client.exe]
+converting method System.Net.IPv6Address:ToString ()
+Method System.Net.IPv6Address:ToString () emitted at 0x1b69bb8 to 0x1b69e70 (code length 696) [client.exe]
+converting method System.Net.IPv6Address:IsIPv4Compatible ()
+Method System.Net.IPv6Address:IsIPv4Compatible () emitted at 0x1b69eb0 to 0x1b69f10 (code length 96) [client.exe]
+converting method System.Net.IPv6Address:IsIPv4Mapped ()
+Method System.Net.IPv6Address:IsIPv4Mapped () emitted at 0x1b69f10 to 0x1b69f77 (code length 103) [client.exe]
+converting method System.Text.StringBuilder:AppendFormat (string,object)
+Method System.Text.StringBuilder:AppendFormat (string,object) emitted at 0x1b69f78 to 0x1b69fc5 (code length 77) [client.exe]
+converting method System.Text.StringBuilder:AppendFormat (System.IFormatProvider,string,object[])
+Method System.Text.StringBuilder:AppendFormat (System.IFormatProvider,string,object[]) emitted at 0x1b69fd8 to 0x1b69ff8 (code length 32) [client.exe]
+converting method string:FormatHelper (System.Text.StringBuilder,System.IFormatProvider,string,object[])
+Method string:FormatHelper (System.Text.StringBuilder,System.IFormatProvider,string,object[]) emitted at 0x1b6a008 to 0x1b6a6ed (code length 1765) [client.exe]
+converting method System.Text.StringBuilder:Append (string,int,int)
+Method System.Text.StringBuilder:Append (string,int,int) emitted at 0x1b6a720 to 0x1b6a80c (code length 236) [client.exe]
+converting method string:ParseFormatSpecifier (string,int&,int&,int&,bool&,string&)
+Method string:ParseFormatSpecifier (string,int&,int&,int&,bool&,string&) emitted at 0x1b6a810 to 0x1b6ab36 (code length 806) [client.exe]
+converting method string:ParseDecimal (string,int&)
+Method string:ParseDecimal (string,int&) emitted at 0x1b6ab48 to 0x1b6abd2 (code length 138) [client.exe]
+converting method uint16:ToString (string,System.IFormatProvider)
+Method uint16:ToString (string,System.IFormatProvider) emitted at 0x1b6abf0 to 0x1b6ac11 (code length 33) [client.exe]
+converting method System.NumberFormatter:NumberToString (string,uint16,System.IFormatProvider)
+Method System.NumberFormatter:NumberToString (string,uint16,System.IFormatProvider) emitted at 0x1b6ac30 to 0x1b6ac8b (code length 91) [client.exe]
+converting method System.NumberFormatter:Init (string,int,int)
+Method System.NumberFormatter:Init (string,int,int) emitted at 0x1b6aca8 to 0x1b6ad4b (code length 163) [client.exe]
+converting method System.NumberFormatter:Init (string)
+Method System.NumberFormatter:Init (string) emitted at 0x1b6ad80 to 0x1b6ae6c (code length 236) [client.exe]
+converting method System.NumberFormatter:InitHex (ulong)
+Method System.NumberFormatter:InitHex (ulong) emitted at 0x1b6ae78 to 0x1b6af0f (code length 151) [client.exe]
+converting method System.NumberFormatter:DecHexLen ()
+Method System.NumberFormatter:DecHexLen () emitted at 0x1b6af10 to 0x1b6afa0 (code length 144) [client.exe]
+converting method System.NumberFormatter:DecHexLen (uint)
+Method System.NumberFormatter:DecHexLen (uint) emitted at 0x1b6afb0 to 0x1b6afea (code length 58) [client.exe]
+converting method System.NumberFormatter:FastDecHexLen (int)
+Method System.NumberFormatter:FastDecHexLen (int) emitted at 0x1b6aff8 to 0x1b6b030 (code length 56) [client.exe]
+converting method System.NumberFormatter:IntegerToString (string,System.IFormatProvider)
+Method System.NumberFormatter:IntegerToString (string,System.IFormatProvider) emitted at 0x1b6b030 to 0x1b6b1ea (code length 442) [client.exe]
+converting method System.NumberFormatter:GetNumberFormatInstance (System.IFormatProvider)
+Method System.NumberFormatter:GetNumberFormatInstance (System.IFormatProvider) emitted at 0x1b6b2d0 to 0x1b6b301 (code length 49) [client.exe]
+converting method System.NumberFormatter:FormatHexadecimal (int)
+Method System.NumberFormatter:FormatHexadecimal (int) emitted at 0x1b6b310 to 0x1b6b41e (code length 270) [client.exe]
+converting method Ice.ObjectAdapterI:setLocator (Ice.LocatorPrx)
+Method Ice.ObjectAdapterI:setLocator (Ice.LocatorPrx) emitted at 0x1b6b420 to 0x1b6b4ca (code length 170) [client.exe]
+converting method Ice.ObjectAdapterI:checkForDeactivation ()
+Method Ice.ObjectAdapterI:checkForDeactivation () emitted at 0x1b6b4d8 to 0x1b6b562 (code length 138) [client.exe]
+converting method IceInternal.Instance:locatorManager ()
+Method IceInternal.Instance:locatorManager () emitted at 0x1b6b570 to 0x1b6b614 (code length 164) [client.exe]
+converting method IceInternal.LocatorManager:get (Ice.LocatorPrx)
+Method IceInternal.LocatorManager:get (Ice.LocatorPrx) emitted at 0x1b6b618 to 0x1b6b7e5 (code length 461) [client.exe]
+converting method IceDiscovery.LocatorRegistryI:.ctor (Ice.Communicator)
+Method IceDiscovery.LocatorRegistryI:.ctor (Ice.Communicator) emitted at 0x1b6b840 to 0x1b6b915 (code length 213) [client.exe]
+converting method Ice.LocatorRegistryDisp_:.ctor ()
+Method Ice.LocatorRegistryDisp_:.ctor () emitted at 0x1b6b940 to 0x1b6b948 (code length 8) [client.exe]
+converting method Ice.LocatorRegistryDisp_:.cctor ()
+Method Ice.LocatorRegistryDisp_:.cctor () emitted at 0x1b6b948 to 0x1b6ba81 (code length 313) [client.exe]
+converting method Ice.ObjectAdapterI:addWithUUID (Ice.Object)
+Method Ice.ObjectAdapterI:addWithUUID (Ice.Object) emitted at 0x1b6baa0 to 0x1b6bac1 (code length 33) [client.exe]
+converting method Ice.ObjectAdapterI:addFacetWithUUID (Ice.Object,string)
+Method Ice.ObjectAdapterI:addFacetWithUUID (Ice.Object,string) emitted at 0x1b6bad0 to 0x1b6bb99 (code length 201) [client.exe]
+converting method System.Guid:NewGuid ()
+converting method System.Guid:.cctor ()
+Method System.Guid:.cctor () emitted at 0x1b6bba8 to 0x1b6bc3e (code length 150) [client.exe]
+converting method System.Guid:.ctor (int,int16,int16,byte,byte,byte,byte,byte,byte,byte,byte)
+Method System.Guid:.ctor (int,int16,int16,byte,byte,byte,byte,byte,byte,byte,byte) emitted at 0x1b6bc50 to 0x1b6bcb0 (code length 96) [client.exe]
+Method System.Guid:NewGuid () emitted at 0x1b6bcb0 to 0x1b6bdcd (code length 285) [client.exe]
+converting method System.Security.Cryptography.RandomNumberGenerator:Create ()
+Method System.Security.Cryptography.RandomNumberGenerator:Create () emitted at 0x1b6bde8 to 0x1b6be01 (code length 25) [client.exe]
+converting method System.Security.Cryptography.RandomNumberGenerator:Create (string)
+Method System.Security.Cryptography.RandomNumberGenerator:Create (string) emitted at 0x1b6be10 to 0x1b6be59 (code length 73) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig:CreateFromName (string)
+Method System.Security.Cryptography.CryptoConfig:CreateFromName (string) emitted at 0x1b6be68 to 0x1b6be81 (code length 25) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig:.cctor ()
+Method System.Security.Cryptography.CryptoConfig:.cctor () emitted at 0x1b6be90 to 0x1b6bfa6 (code length 278) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig:CreateFromName (string,object[])
+Method System.Security.Cryptography.CryptoConfig:CreateFromName (string,object[]) emitted at 0x1b6bfa8 to 0x1b6c10c (code length 356) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig:Initialize ()
+Method System.Security.Cryptography.CryptoConfig:Initialize () emitted at 0x1b6c140 to 0x1b6d13b (code length 4091) [client.exe]
+converting method string:GetCaseInsensitiveHashCode ()
+Method string:GetCaseInsensitiveHashCode () emitted at 0x1b6d190 to 0x1b6d248 (code length 184) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig:LoadConfig (string,System.Collections.Generic.IDictionary`2<string, System.Type>,System.Collections.Generic.IDictionary`2<string, string>)
+Method System.Security.Cryptography.CryptoConfig:LoadConfig (string,System.Collections.Generic.IDictionary`2<string, System.Type>,System.Collections.Generic.IDictionary`2<string, string>) emitted at 0x1b6d248 to 0x1b6d35c (code length 276) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig/CryptoHandler:.ctor (System.Collections.Generic.IDictionary`2<string, System.Type>,System.Collections.Generic.IDictionary`2<string, string>)
+Method System.Security.Cryptography.CryptoConfig/CryptoHandler:.ctor (System.Collections.Generic.IDictionary`2<string, System.Type>,System.Collections.Generic.IDictionary`2<string, string>) emitted at 0x1b6d380 to 0x1b6d46d (code length 237) [client.exe]
+converting method Mono.Xml.SmallXmlParser:.ctor ()
+Method Mono.Xml.SmallXmlParser:.ctor () emitted at 0x1b6d470 to 0x1b6d5e4 (code length 372) [client.exe]
+converting method Mono.Xml.SmallXmlParser/AttrListImpl:.ctor ()
+Method Mono.Xml.SmallXmlParser/AttrListImpl:.ctor () emitted at 0x1b6d5f0 to 0x1b6d6c2 (code length 210) [client.exe]
+converting method Mono.Xml.SmallXmlParser:Parse (System.IO.TextReader,Mono.Xml.SmallXmlParser/IContentHandler)
+Method Mono.Xml.SmallXmlParser:Parse (System.IO.TextReader,Mono.Xml.SmallXmlParser/IContentHandler) emitted at 0x1b6d6c8 to 0x1b6d7e8 (code length 288) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnStartParsing (Mono.Xml.SmallXmlParser)
+Method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnStartParsing (Mono.Xml.SmallXmlParser) emitted at 0x1b6d840 to 0x1b6d848 (code length 8) [client.exe]
+converting method Mono.Xml.SmallXmlParser:Peek ()
+Method Mono.Xml.SmallXmlParser:Peek () emitted at 0x1b6d848 to 0x1b6d862 (code length 26) [client.exe]
+converting method System.IO.StreamReader:Peek ()
+Method System.IO.StreamReader:Peek () emitted at 0x1b6d868 to 0x1b6d8cd (code length 101) [client.exe]
+converting method Mono.Xml.SmallXmlParser:ReadContent ()
+Method Mono.Xml.SmallXmlParser:ReadContent () emitted at 0x1b6d8d0 to 0x1b6de7f (code length 1455) [client.exe]
+converting method Mono.Xml.SmallXmlParser:IsWhitespace (int)
+Method Mono.Xml.SmallXmlParser:IsWhitespace (int) emitted at 0x1b6df20 to 0x1b6df5c (code length 60) [client.exe]
+converting method Mono.Xml.SmallXmlParser:Read ()
+Method Mono.Xml.SmallXmlParser:Read () emitted at 0x1b6df90 to 0x1b6dfe3 (code length 83) [client.exe]
+converting method System.IO.StreamReader:Read ()
+Method System.IO.StreamReader:Read () emitted at 0x1b6dfe8 to 0x1b6e145 (code length 349) [client.exe]
+converting method Mono.Xml.SmallXmlParser:HandleBufferedContent ()
+Method Mono.Xml.SmallXmlParser:HandleBufferedContent () emitted at 0x1b6e148 to 0x1b6e1e8 (code length 160) [client.exe]
+converting method Mono.Xml.SmallXmlParser:ReadName ()
+Method Mono.Xml.SmallXmlParser:ReadName () emitted at 0x1b6e1e8 to 0x1b6e39b (code length 435) [client.exe]
+converting method Mono.Xml.SmallXmlParser:IsNameChar (char,bool)
+Method Mono.Xml.SmallXmlParser:IsNameChar (char,bool) emitted at 0x1b6e3a8 to 0x1b6e45f (code length 183) [client.exe]
+converting method Mono.Xml.SmallXmlParser:SkipWhitespaces ()
+Method Mono.Xml.SmallXmlParser:SkipWhitespaces () emitted at 0x1b6e4b0 to 0x1b6e4c9 (code length 25) [client.exe]
+converting method Mono.Xml.SmallXmlParser:SkipWhitespaces (bool)
+Method Mono.Xml.SmallXmlParser:SkipWhitespaces (bool) emitted at 0x1b6e4d8 to 0x1b6e56c (code length 148) [client.exe]
+converting method Mono.Xml.SmallXmlParser:ReadUntil (char,bool)
+Method Mono.Xml.SmallXmlParser:ReadUntil (char,bool) emitted at 0x1b6e5a0 to 0x1b6e668 (code length 200) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnProcessingInstruction (string,string)
+Method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnProcessingInstruction (string,string) emitted at 0x1b6e690 to 0x1b6e698 (code length 8) [client.exe]
+converting method Mono.Xml.SmallXmlParser:Expect (int)
+Method Mono.Xml.SmallXmlParser:Expect (int) emitted at 0x1b6e698 to 0x1b6e754 (code length 188) [client.exe]
+converting method Mono.Xml.SmallXmlParser:HandleWhitespaces ()
+Method Mono.Xml.SmallXmlParser:HandleWhitespaces () emitted at 0x1b6e758 to 0x1b6e7e8 (code length 144) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnIgnorableWhitespace (string)
+Method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnIgnorableWhitespace (string) emitted at 0x1b6e7e8 to 0x1b6e7f0 (code length 8) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnStartElement (string,Mono.Xml.SmallXmlParser/IAttrList)
+Method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnStartElement (string,Mono.Xml.SmallXmlParser/IAttrList) emitted at 0x1b6e7f0 to 0x1b6ea82 (code length 658) [client.exe]
+converting method Mono.Xml.SmallXmlParser/AttrListImpl:Clear ()
+Method Mono.Xml.SmallXmlParser/AttrListImpl:Clear () emitted at 0x1b6eac8 to 0x1b6eaf9 (code length 49) [client.exe]
+converting method Mono.Xml.SmallXmlParser:ReadAttribute (Mono.Xml.SmallXmlParser/AttrListImpl)
+Method Mono.Xml.SmallXmlParser:ReadAttribute (Mono.Xml.SmallXmlParser/AttrListImpl) emitted at 0x1b6eb00 to 0x1b6ec5c (code length 348) [client.exe]
+converting method Mono.Xml.SmallXmlParser/AttrListImpl:Add (string,string)
+Method Mono.Xml.SmallXmlParser/AttrListImpl:Add (string,string) emitted at 0x1b6ec68 to 0x1b6eca1 (code length 57) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnEndElement (string)
+Method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnEndElement (string) emitted at 0x1b6eca8 to 0x1b6edb4 (code length 268) [client.exe]
+converting method System.Collections.Stack:Peek ()
+Method System.Collections.Stack:Peek () emitted at 0x1b6ede8 to 0x1b6ee3c (code length 84) [client.exe]
+converting method Mono.Xml.SmallXmlParser:ReadComment ()
+Method Mono.Xml.SmallXmlParser:ReadComment () emitted at 0x1b6ee40 to 0x1b6eee2 (code length 162) [client.exe]
+converting method Mono.Xml.SmallXmlParser/AttrListImpl:get_Names ()
+Method Mono.Xml.SmallXmlParser/AttrListImpl:get_Names () emitted at 0x1b6ef00 to 0x1b6ef1d (code length 29) [client.exe]
+converting method Mono.Xml.SmallXmlParser/AttrListImpl:get_Values ()
+Method Mono.Xml.SmallXmlParser/AttrListImpl:get_Values () emitted at 0x1b6ef20 to 0x1b6ef3d (code length 29) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig/CryptoHandler:Get (Mono.Xml.SmallXmlParser/IAttrList,string)
+Method System.Security.Cryptography.CryptoConfig/CryptoHandler:Get (Mono.Xml.SmallXmlParser/IAttrList,string) emitted at 0x1b6ef40 to 0x1b6efea (code length 170) [client.exe]
+converting method Mono.Xml.SmallXmlParser:ReadCharacters ()
+Method Mono.Xml.SmallXmlParser:ReadCharacters () emitted at 0x1b6f008 to 0x1b6f097 (code length 143) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnChars (string)
+Method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnChars (string) emitted at 0x1b6f098 to 0x1b6f0a0 (code length 8) [client.exe]
+converting method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnEndParsing (Mono.Xml.SmallXmlParser)
+Method System.Security.Cryptography.CryptoConfig/CryptoHandler:OnEndParsing (Mono.Xml.SmallXmlParser) emitted at 0x1b6f0a0 to 0x1b6f20d (code length 365) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<string, string>:Clear ()
+Method System.Collections.Generic.Dictionary`2:Clear () emitted at 0x1b6f238 to 0x1b6f2e7 (code length 175) [client.exe]
+converting method Mono.Xml.SmallXmlParser:Cleanup ()
+Method Mono.Xml.SmallXmlParser:Cleanup () emitted at 0x1b6f2e8 to 0x1b6f367 (code length 127) [client.exe]
+converting method System.Collections.Stack:Clear ()
+Method System.Collections.Stack:Clear () emitted at 0x1b6f368 to 0x1b6f3e0 (code length 120) [client.exe]
+converting method System.OrdinalComparer:Compare (string,string)
+Method System.OrdinalComparer:Compare (string,string) emitted at 0x1b6f3e0 to 0x1b6f439 (code length 89) [client.exe]
+converting method System.Activator:CreateInstance (System.Type,object[])
+Method System.Activator:CreateInstance (System.Type,object[]) emitted at 0x1b6f440 to 0x1b6f461 (code length 33) [client.exe]
+converting method System.Activator:CreateInstance (System.Type,object[],object[])
+Method System.Activator:CreateInstance (System.Type,object[],object[]) emitted at 0x1b6f470 to 0x1b6f499 (code length 41) [client.exe]
+converting method System.Activator:CreateInstance (System.Type,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo,object[])
+Method System.Activator:CreateInstance (System.Type,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo,object[]) emitted at 0x1b6f4a8 to 0x1b6f866 (code length 958) [client.exe]
+converting method System.Reflection.Binder/Default:BindToMethod (System.Reflection.BindingFlags,System.Reflection.MethodBase[],object[]&,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,string[],object&)
+Method System.Reflection.Binder/Default:BindToMethod (System.Reflection.BindingFlags,System.Reflection.MethodBase[],object[]&,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,string[],object&) emitted at 0x1b6f880 to 0x1b6fc89 (code length 1033) [client.exe]
+converting method System.Reflection.Binder/Default:AdjustArguments (System.Reflection.MethodBase,object[]&)
+Method System.Reflection.Binder/Default:AdjustArguments (System.Reflection.MethodBase,object[]&) emitted at 0x1b6fca8 to 0x1b6fe50 (code length 424) [client.exe]
+converting method System.Reflection.MonoCMethod:Invoke (System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
+Method System.Reflection.MonoCMethod:Invoke (System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) emitted at 0x1b6fe60 to 0x1b6fe85 (code length 37) [client.exe]
+converting method System.Reflection.MonoCMethod:DoInvoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
+Method System.Reflection.MonoCMethod:DoInvoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) emitted at 0x1b6fe98 to 0x1b70054 (code length 444) [client.exe]
+converting method System.Reflection.MonoCMethod:get_DeclaringType ()
+Method System.Reflection.MonoCMethod:get_DeclaringType () emitted at 0x1b70058 to 0x1b70075 (code length 29) [client.exe]
+converting method System.Security.Cryptography.RNGCryptoServiceProvider:.ctor ()
+Method System.Security.Cryptography.RNGCryptoServiceProvider:.ctor () emitted at 0x1b70078 to 0x1b700a1 (code length 41) [client.exe]
+converting method System.Security.Cryptography.RNGCryptoServiceProvider:.cctor ()
+Method System.Security.Cryptography.RNGCryptoServiceProvider:.cctor () emitted at 0x1b700c0 to 0x1b700ee (code length 46) [client.exe]
+converting method (wrapper managed-to-native) System.Security.Cryptography.RNGCryptoServiceProvider:RngOpen ()
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Security.Cryptography.RNGCryptoServiceProvider:RngOpen () emitted at 0x1b70100 to 0x1b7016e (code length 110) [client.exe]
+converting method (wrapper managed-to-native) System.Security.Cryptography.RNGCryptoServiceProvider:RngInitialize (byte[])
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Security.Cryptography.RNGCryptoServiceProvider:RngInitialize (byte[]) emitted at 0x1b70170 to 0x1b701e6 (code length 118) [client.exe]
+converting method System.Security.Cryptography.RNGCryptoServiceProvider:Check ()
+Method System.Security.Cryptography.RNGCryptoServiceProvider:Check () emitted at 0x1b701e8 to 0x1b70234 (code length 76) [client.exe]
+converting method System.Security.Cryptography.RNGCryptoServiceProvider:GetBytes (byte[])
+Method System.Security.Cryptography.RNGCryptoServiceProvider:GetBytes (byte[]) emitted at 0x1b70238 to 0x1b70304 (code length 204) [client.exe]
+converting method (wrapper managed-to-native) System.Security.Cryptography.RNGCryptoServiceProvider:RngGetBytes (intptr,byte[])
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Security.Cryptography.RNGCryptoServiceProvider:RngGetBytes (intptr,byte[]) emitted at 0x1b70310 to 0x1b7038a (code length 122) [client.exe]
+converting method System.Guid:.ctor (byte[])
+Method System.Guid:.ctor (byte[]) emitted at 0x1b70390 to 0x1b704a7 (code length 279) [client.exe]
+converting method System.Guid:CheckArray (byte[],int)
+Method System.Guid:CheckArray (byte[],int) emitted at 0x1b704d0 to 0x1b704fd (code length 45) [client.exe]
+converting method System.Guid:CheckNull (object)
+Method System.Guid:CheckNull (object) emitted at 0x1b70518 to 0x1b70554 (code length 60) [client.exe]
+converting method System.Guid:CheckLength (byte[],int)
+Method System.Guid:CheckLength (byte[],int) emitted at 0x1b70558 to 0x1b705c4 (code length 108) [client.exe]
+converting method Mono.Security.BitConverterLE:ToInt32 (byte[],int)
+Method Mono.Security.BitConverterLE:ToInt32 (byte[],int) emitted at 0x1b705c8 to 0x1b705f0 (code length 40) [client.exe]
+converting method Mono.Security.BitConverterLE:UIntFromBytes (byte*,byte[],int)
+Method Mono.Security.BitConverterLE:UIntFromBytes (byte*,byte[],int) emitted at 0x1b70600 to 0x1b70696 (code length 150) [client.exe]
+converting method Mono.Security.BitConverterLE:ToInt16 (byte[],int)
+Method Mono.Security.BitConverterLE:ToInt16 (byte[],int) emitted at 0x1b70698 to 0x1b706c1 (code length 41) [client.exe]
+converting method Mono.Security.BitConverterLE:UShortFromBytes (byte*,byte[],int)
+Method Mono.Security.BitConverterLE:UShortFromBytes (byte*,byte[],int) emitted at 0x1b706d0 to 0x1b70726 (code length 86) [client.exe]
+converting method System.Guid:ToString ()
+Method System.Guid:ToString () emitted at 0x1b70728 to 0x1b70741 (code length 25) [client.exe]
+converting method System.Guid:ToString (System.Guid/Format)
+Method System.Guid:ToString (System.Guid/Format) emitted at 0x1b70750 to 0x1b70cd2 (code length 1410) [client.exe]
+converting method System.Guid/GuidParser:HasHyphen (System.Guid/Format)
+Method System.Guid/GuidParser:HasHyphen (System.Guid/Format) emitted at 0x1b70d38 to 0x1b70d68 (code length 48) [client.exe]
+converting method System.Guid:AppendInt (System.Text.StringBuilder,int)
+Method System.Guid:AppendInt (System.Text.StringBuilder,int) emitted at 0x1b70d88 to 0x1b70ef9 (code length 369) [client.exe]
+converting method System.Guid:ToHex (int)
+Method System.Guid:ToHex (int) emitted at 0x1b70f08 to 0x1b70f28 (code length 32) [client.exe]
+converting method System.Guid:AppendShort (System.Text.StringBuilder,int16)
+Method System.Guid:AppendShort (System.Text.StringBuilder,int16) emitted at 0x1b70f28 to 0x1b70fe9 (code length 193) [client.exe]
+converting method System.Guid:AppendByte (System.Text.StringBuilder,byte)
+Method System.Guid:AppendByte (System.Text.StringBuilder,byte) emitted at 0x1b70ff0 to 0x1b7105c (code length 108) [client.exe]
+converting method Ice.ObjectAdapterI:addFacet (Ice.Object,Ice.Identity,string)
+Method Ice.ObjectAdapterI:addFacet (Ice.Object,Ice.Identity,string) emitted at 0x1b71060 to 0x1b71165 (code length 261) [client.exe]
+converting method Ice.ObjectAdapterI:checkIdentity (Ice.Identity)
+Method Ice.ObjectAdapterI:checkIdentity (Ice.Identity) emitted at 0x1b71190 to 0x1b71270 (code length 224) [client.exe]
+converting method IceInternal.ServantManager:addServant (Ice.Object,Ice.Identity,string)
+Method IceInternal.ServantManager:addServant (Ice.Object,Ice.Identity,string) emitted at 0x1b71270 to 0x1b714b1 (code length 577) [client.exe]
+converting method Ice.Identity:GetHashCode ()
+Method Ice.Identity:GetHashCode () emitted at 0x1b714f0 to 0x1b71550 (code length 96) [client.exe]
+converting method Ice.ObjectAdapterI:newProxy (Ice.Identity,string)
+Method Ice.ObjectAdapterI:newProxy (Ice.Identity,string) emitted at 0x1b71550 to 0x1b715c2 (code length 114) [client.exe]
+converting method Ice.ObjectAdapterI:newDirectProxy (Ice.Identity,string)
+Method Ice.ObjectAdapterI:newDirectProxy (Ice.Identity,string) emitted at 0x1b715e0 to 0x1b717c4 (code length 484) [client.exe]
+converting method IceInternal.ReferenceFactory:create (Ice.Identity,string,IceInternal.Reference,IceInternal.EndpointI[])
+Method IceInternal.ReferenceFactory:create (Ice.Identity,string,IceInternal.Reference,IceInternal.EndpointI[]) emitted at 0x1b717d0 to 0x1b71892 (code length 194) [client.exe]
+converting method Ice.ObjectPrxHelperBase:.ctor ()
+Method Ice.ObjectPrxHelperBase:.ctor () emitted at 0x1b71898 to 0x1b718a0 (code length 8) [client.exe]
+converting method Ice.ObjectPrxHelperBase:.cctor ()
+Method Ice.ObjectPrxHelperBase:.cctor () emitted at 0x1b718a0 to 0x1b718d3 (code length 51) [client.exe]
+converting method Ice.ObjectPrxHelperBase:setup (IceInternal.Reference)
+Method Ice.ObjectPrxHelperBase:setup (IceInternal.Reference) emitted at 0x1b718d8 to 0x1b71941 (code length 105) [client.exe]
+converting method Ice.CommunicatorI:stringToProxy (string)
+Method Ice.CommunicatorI:stringToProxy (string) emitted at 0x1b71970 to 0x1b719a1 (code length 49) [client.exe]
+converting method IceInternal.ProxyFactory:stringToProxy (string)
+Method IceInternal.ProxyFactory:stringToProxy (string) emitted at 0x1b719b0 to 0x1b719f1 (code length 65) [client.exe]
+converting method Ice.ObjectPrxHelperBase:ice_getConnection ()
+Method Ice.ObjectPrxHelperBase:ice_getConnection () emitted at 0x1b71a58 to 0x1b71b76 (code length 286) [client.exe]
+converting method IceInternal.ObserverHelper:get (Ice.ObjectPrx,string)
+Method IceInternal.ObserverHelper:get (Ice.ObjectPrx,string) emitted at 0x1b71ba0 to 0x1b71bbd (code length 29) [client.exe]
+converting method IceInternal.ObserverHelper:.cctor ()
+Method IceInternal.ObserverHelper:.cctor () emitted at 0x1b71bd0 to 0x1b71c03 (code length 51) [client.exe]
+converting method IceInternal.ObserverHelper:get (Ice.ObjectPrx,string,System.Collections.Generic.Dictionary`2<string, string>)
+Method IceInternal.ObserverHelper:get (Ice.ObjectPrx,string,System.Collections.Generic.Dictionary`2<string, string>) emitted at 0x1b71c08 to 0x1b71cca (code length 194) [client.exe]
+converting method Ice.ObjectPrxHelperBase:getDelegate__ (bool)
+Method Ice.ObjectPrxHelperBase:getDelegate__ (bool) emitted at 0x1b71cd0 to 0x1b71dd2 (code length 258) [client.exe]
+converting method IceInternal.RoutableReference:getCacheConnection ()
+Method IceInternal.RoutableReference:getCacheConnection () emitted at 0x1b71de0 to 0x1b71def (code length 15) [client.exe]
+converting method Ice.ObjectPrxHelperBase:createDelegate (bool)
+Method Ice.ObjectPrxHelperBase:createDelegate (bool) emitted at 0x1b71df0 to 0x1b71eac (code length 188) [client.exe]
+converting method IceInternal.RoutableReference:getCollocationOptimized ()
+Method IceInternal.RoutableReference:getCollocationOptimized () emitted at 0x1b71eb8 to 0x1b71ec7 (code length 15) [client.exe]
+converting method Ice.ObjectPrxHelperBase:createDelegateM__ ()
+Method Ice.ObjectPrxHelperBase:createDelegateM__ () emitted at 0x1b71ec8 to 0x1b71ee1 (code length 25) [client.exe]
+converting method Ice.ObjectDelM_:setup (IceInternal.Reference,Ice.ObjectPrx,bool)
+Method Ice.ObjectDelM_:setup (IceInternal.Reference,Ice.ObjectPrx,bool) emitted at 0x1b71ee8 to 0x1b71fd2 (code length 234) [client.exe]
+converting method IceInternal.ConnectRequestHandler:.ctor (IceInternal.Reference,Ice.ObjectPrx,Ice.ObjectDelM_)
+Method IceInternal.ConnectRequestHandler:.ctor (IceInternal.Reference,Ice.ObjectPrx,Ice.ObjectDelM_) emitted at 0x1b71ff8 to 0x1b721f1 (code length 505) [client.exe]
+converting method IceInternal.ConnectRequestHandler:connect ()
+Method IceInternal.ConnectRequestHandler:connect () emitted at 0x1b721f8 to 0x1b722ff (code length 263) [client.exe]
+converting method IceInternal.RoutableReference:getConnection (IceInternal.Reference/GetConnectionCallback)
+Method IceInternal.RoutableReference:getConnection (IceInternal.Reference/GetConnectionCallback) emitted at 0x1b72318 to 0x1b7238c (code length 116) [client.exe]
+converting method IceInternal.RoutableReference:getConnectionNoRouterInfo (IceInternal.Reference/GetConnectionCallback)
+Method IceInternal.RoutableReference:getConnectionNoRouterInfo (IceInternal.Reference/GetConnectionCallback) emitted at 0x1b723b0 to 0x1b7248a (code length 218) [client.exe]
+converting method IceInternal.RoutableReference:createConnection (IceInternal.EndpointI[],IceInternal.Reference/GetConnectionCallback)
+Method IceInternal.RoutableReference:createConnection (IceInternal.EndpointI[],IceInternal.Reference/GetConnectionCallback) emitted at 0x1b724c0 to 0x1b7267c (code length 444) [client.exe]
+converting method IceInternal.RoutableReference:filterEndpoints (IceInternal.EndpointI[])
+Method IceInternal.RoutableReference:filterEndpoints (IceInternal.EndpointI[]) emitted at 0x1b726a0 to 0x1b72f52 (code length 2226) [client.exe]
+converting method IceInternal.RoutableReference:getEndpointSelection ()
+Method IceInternal.RoutableReference:getEndpointSelection () emitted at 0x1b72fa0 to 0x1b72fae (code length 14) [client.exe]
+converting method IceInternal.RoutableReference:getPreferSecure ()
+Method IceInternal.RoutableReference:getPreferSecure () emitted at 0x1b72fb0 to 0x1b72fbf (code length 15) [client.exe]
+converting gshared method IceUtilInternal.Collections:Sort<IceInternal.EndpointI> (System.Collections.Generic.List`1<IceInternal.EndpointI>&,System.Collections.Generic.IComparer`1<IceInternal.EndpointI>)
+Method IceUtilInternal.Collections:Sort<T> (System.Collections.Generic.List`1<T>&,System.Collections.Generic.IComparer`1<T>) emitted at 0x1b72fc0 to 0x1b7300d (code length 77) [client.exe]
+converting gshared method IceUtilInternal.Collections:Sort1<IceInternal.EndpointI> (System.Collections.Generic.List`1<IceInternal.EndpointI>&,int,int,System.Collections.Generic.IComparer`1<IceInternal.EndpointI>)
+Method IceUtilInternal.Collections:Sort1<T> (System.Collections.Generic.List`1<T>&,int,int,System.Collections.Generic.IComparer`1<T>) emitted at 0x1b73028 to 0x1b730d1 (code length 169) [client.exe]
+converting gshared method System.Collections.Generic.List`1<IceInternal.EndpointI>:CopyTo (IceInternal.EndpointI[])
+Method System.Collections.Generic.List`1:CopyTo (T[]) emitted at 0x1b730e0 to 0x1b73109 (code length 41) [client.exe]
+converting method IceInternal.Instance:outgoingConnectionFactory ()
+Method IceInternal.Instance:outgoingConnectionFactory () emitted at 0x1b73110 to 0x1b731b4 (code length 164) [client.exe]
+converting method IceInternal.RoutableReference/CreateConnectionCallback:.ctor (IceInternal.RoutableReference,IceInternal.EndpointI[],IceInternal.Reference/GetConnectionCallback)
+Method IceInternal.RoutableReference/CreateConnectionCallback:.ctor (IceInternal.RoutableReference,IceInternal.EndpointI[],IceInternal.Reference/GetConnectionCallback) emitted at 0x1b731b8 to 0x1b73248 (code length 144) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:create (IceInternal.EndpointI[],bool,Ice.EndpointSelectionType,IceInternal.OutgoingConnectionFactory/CreateConnectionCallback)
+Method IceInternal.OutgoingConnectionFactory:create (IceInternal.EndpointI[],bool,Ice.EndpointSelectionType,IceInternal.OutgoingConnectionFactory/CreateConnectionCallback) emitted at 0x1b73248 to 0x1b73365 (code length 285) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:applyOverrides (IceInternal.EndpointI[])
+Method IceInternal.OutgoingConnectionFactory:applyOverrides (IceInternal.EndpointI[]) emitted at 0x1b73398 to 0x1b7348a (code length 242) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:findConnection (System.Collections.Generic.List`1<IceInternal.EndpointI>,bool&)
+Method IceInternal.OutgoingConnectionFactory:findConnection (System.Collections.Generic.List`1<IceInternal.EndpointI>,bool&) emitted at 0x1b73490 to 0x1b73706 (code length 630) [client.exe]
+converting method IceInternal.UdpEndpointI:GetHashCode ()
+Method IceInternal.UdpEndpointI:GetHashCode () emitted at 0x1b73720 to 0x1b7372e (code length 14) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory/ConnectCallback:.ctor (IceInternal.OutgoingConnectionFactory,System.Collections.Generic.List`1<IceInternal.EndpointI>,bool,IceInternal.OutgoingConnectionFactory/CreateConnectionCallback,Ice.EndpointSelectionType)
+Method IceInternal.OutgoingConnectionFactory/ConnectCallback:.ctor (IceInternal.OutgoingConnectionFactory,System.Collections.Generic.List`1<IceInternal.EndpointI>,bool,IceInternal.OutgoingConnectionFactory/CreateConnectionCallback,Ice.EndpointSelectionType) emitted at 0x1b73730 to 0x1b73834 (code length 260) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory/ConnectCallback:getConnectors ()
+Method IceInternal.OutgoingConnectionFactory/ConnectCallback:getConnectors () emitted at 0x1b73850 to 0x1b738d1 (code length 129) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:incPendingConnectCount ()
+Method IceInternal.OutgoingConnectionFactory:incPendingConnectCount () emitted at 0x1b738f0 to 0x1b7397a (code length 138) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory/ConnectCallback:nextEndpoint ()
+Method IceInternal.OutgoingConnectionFactory/ConnectCallback:nextEndpoint () emitted at 0x1b73980 to 0x1b73aa1 (code length 289) [client.exe]
+converting method IceInternal.UdpEndpointI:connectors_async (Ice.EndpointSelectionType,IceInternal.EndpointI_connectors)
+Method IceInternal.UdpEndpointI:connectors_async (Ice.EndpointSelectionType,IceInternal.EndpointI_connectors) emitted at 0x1b73ab0 to 0x1b73af4 (code length 68) [client.exe]
+converting method IceInternal.Instance:endpointHostResolver ()
+Method IceInternal.Instance:endpointHostResolver () emitted at 0x1b73b10 to 0x1b73bb4 (code length 164) [client.exe]
+converting method IceInternal.EndpointHostResolver:resolve (string,int,Ice.EndpointSelectionType,IceInternal.EndpointI,IceInternal.EndpointI_connectors)
+Method IceInternal.EndpointHostResolver:resolve (string,int,Ice.EndpointSelectionType,IceInternal.EndpointI,IceInternal.EndpointI_connectors) emitted at 0x1b73bb8 to 0x1b73e35 (code length 637) [client.exe]
+converting method IceInternal.UdpEndpointI:connectors (System.Collections.Generic.List`1<System.Net.EndPoint>,IceInternal.NetworkProxy)
+Method IceInternal.UdpEndpointI:connectors (System.Collections.Generic.List`1<System.Net.EndPoint>,IceInternal.NetworkProxy) emitted at 0x1b73e48 to 0x1b73f96 (code length 334) [client.exe]
+converting method IceInternal.UdpConnector:.ctor (IceInternal.Instance,System.Net.EndPoint,string,int,string)
+Method IceInternal.UdpConnector:.ctor (IceInternal.Instance,System.Net.EndPoint,string,int,string) emitted at 0x1b73fe8 to 0x1b74127 (code length 319) [client.exe]
+converting method System.Net.IPEndPoint:GetHashCode ()
+Method System.Net.IPEndPoint:GetHashCode () emitted at 0x1b74128 to 0x1b7414a (code length 34) [client.exe]
+converting method System.Net.IPAddress:GetHashCode ()
+Method System.Net.IPAddress:GetHashCode () emitted at 0x1b74150 to 0x1b74260 (code length 272) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory/ConnectCallback:connectors (System.Collections.Generic.List`1<IceInternal.Connector>)
+Method IceInternal.OutgoingConnectionFactory/ConnectCallback:connectors (System.Collections.Generic.List`1<IceInternal.Connector>) emitted at 0x1b74270 to 0x1b74395 (code length 293) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory/ConnectorInfo:.ctor (IceInternal.Connector,IceInternal.EndpointI)
+Method IceInternal.OutgoingConnectionFactory/ConnectorInfo:.ctor (IceInternal.Connector,IceInternal.EndpointI) emitted at 0x1b743d8 to 0x1b74435 (code length 93) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory/ConnectCallback:getConnection ()
+Method IceInternal.OutgoingConnectionFactory/ConnectCallback:getConnection () emitted at 0x1b74438 to 0x1b74517 (code length 223) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:getConnection (System.Collections.Generic.List`1<IceInternal.OutgoingConnectionFactory/ConnectorInfo>,IceInternal.OutgoingConnectionFactory/ConnectCallback,bool&)
+Method IceInternal.OutgoingConnectionFactory:getConnection (System.Collections.Generic.List`1<IceInternal.OutgoingConnectionFactory/ConnectorInfo>,IceInternal.OutgoingConnectionFactory/ConnectCallback,bool&) emitted at 0x1b74530 to 0x1b747fe (code length 718) [client.exe]
+converting method IceInternal.ConnectionReaper:swapConnections ()
+Method IceInternal.ConnectionReaper:swapConnections () emitted at 0x1b74848 to 0x1b74920 (code length 216) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:findConnection (System.Collections.Generic.List`1<IceInternal.OutgoingConnectionFactory/ConnectorInfo>,bool&)
+Method IceInternal.OutgoingConnectionFactory:findConnection (System.Collections.Generic.List`1<IceInternal.OutgoingConnectionFactory/ConnectorInfo>,bool&) emitted at 0x1b74920 to 0x1b74b24 (code length 516) [client.exe]
+converting method IceInternal.UdpConnector:GetHashCode ()
+Method IceInternal.UdpConnector:GetHashCode () emitted at 0x1b74b58 to 0x1b74b66 (code length 14) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:addToPending (IceInternal.OutgoingConnectionFactory/ConnectCallback,System.Collections.Generic.List`1<IceInternal.OutgoingConnectionFactory/ConnectorInfo>)
+Method IceInternal.OutgoingConnectionFactory:addToPending (IceInternal.OutgoingConnectionFactory/ConnectCallback,System.Collections.Generic.List`1<IceInternal.OutgoingConnectionFactory/ConnectorInfo>) emitted at 0x1b74b68 to 0x1b74d55 (code length 493) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory/ConnectCallback:nextConnector ()
+Method IceInternal.OutgoingConnectionFactory/ConnectCallback:nextConnector () emitted at 0x1b74d98 to 0x1b74fbd (code length 549) [client.exe]
+converting method IceInternal.UdpConnector:connect ()
+Method IceInternal.UdpConnector:connect () emitted at 0x1b74fd8 to 0x1b7503f (code length 103) [client.exe]
+converting method IceInternal.UdpTransceiver:.ctor (IceInternal.Instance,System.Net.EndPoint,string,int)
+Method IceInternal.UdpTransceiver:.ctor (IceInternal.Instance,System.Net.EndPoint,string,int) emitted at 0x1b75050 to 0x1b75309 (code length 697) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:createConnection (IceInternal.Transceiver,IceInternal.OutgoingConnectionFactory/ConnectorInfo)
+Method IceInternal.OutgoingConnectionFactory:createConnection (IceInternal.Transceiver,IceInternal.OutgoingConnectionFactory/ConnectorInfo) emitted at 0x1b75318 to 0x1b755a1 (code length 649) [client.exe]
+converting method IceInternal.UdpConnector:Equals (object)
+Method IceInternal.UdpConnector:Equals (object) emitted at 0x1b755c0 to 0x1b756bc (code length 252) [client.exe]
+converting method IceInternal.Network:fdToString (System.Net.Sockets.Socket)
+Method IceInternal.Network:fdToString (System.Net.Sockets.Socket) emitted at 0x1b756c0 to 0x1b757d6 (code length 278) [client.exe]
+converting method IceInternal.Network:getRemoteAddress (System.Net.Sockets.Socket)
+Method IceInternal.Network:getRemoteAddress (System.Net.Sockets.Socket) emitted at 0x1b757f0 to 0x1b75846 (code length 86) [client.exe]
+converting method System.Net.Sockets.Socket:get_RemoteEndPoint ()
+Method System.Net.Sockets.Socket:get_RemoteEndPoint () emitted at 0x1b75858 to 0x1b75934 (code length 220) [client.exe]
+converting method IceInternal.Network:remoteAddrToString (System.Net.EndPoint)
+Method IceInternal.Network:remoteAddrToString (System.Net.EndPoint) emitted at 0x1b75940 to 0x1b759bc (code length 124) [client.exe]
+converting method IceInternal.Instance:clientThreadPool ()
+Method IceInternal.Instance:clientThreadPool () emitted at 0x1b759c0 to 0x1b75a64 (code length 164) [client.exe]
+converting gshared method IceInternal.MultiDictionary`2<IceInternal.Connector, Ice.ConnectionI>:Add (IceInternal.Connector,Ice.ConnectionI)
+Method IceInternal.MultiDictionary`2:Add (K,V) emitted at 0x1b75a68 to 0x1b75b15 (code length 173) [client.exe]
+converting gshared method System.Collections.Generic.List`1<Ice.ConnectionI>:.ctor ()
+Method System.Collections.Generic.List`1:.ctor () emitted at 0x1b75b48 to 0x1b75bac (code length 100) [client.exe]
+converting method Ice.ConnectionI:connectTimeout ()
+Method Ice.ConnectionI:connectTimeout () emitted at 0x1b75be0 to 0x1b75c2a (code length 74) [client.exe]
+converting method IceInternal.UdpEndpointI:timeout ()
+Method IceInternal.UdpEndpointI:timeout () emitted at 0x1b75c30 to 0x1b75c3d (code length 13) [client.exe]
+converting method Ice.ConnectionI:scheduleTimeout (int,int)
+Method Ice.ConnectionI:scheduleTimeout (int,int) emitted at 0x1b75c40 to 0x1b75cc4 (code length 132) [client.exe]
+converting method IceInternal.ThreadPool:update (IceInternal.EventHandler,int,int)
+Method IceInternal.ThreadPool:update (IceInternal.EventHandler,int,int) emitted at 0x1b75cd0 to 0x1b75f4f (code length 639) [client.exe]
+converting method IceInternal.ThreadPool:executeNonBlocking (IceInternal.ThreadPoolWorkItem)
+Method IceInternal.ThreadPool:executeNonBlocking (IceInternal.ThreadPoolWorkItem) emitted at 0x1b75f60 to 0x1b75fea (code length 138) [client.exe]
+converting method IceInternal.Instance:asyncIOThread ()
+Method IceInternal.Instance:asyncIOThread () emitted at 0x1b75ff0 to 0x1b760c4 (code length 212) [client.exe]
+converting method IceInternal.AsyncIOThread:.ctor (IceInternal.Instance)
+Method IceInternal.AsyncIOThread:.ctor (IceInternal.Instance) emitted at 0x1b760d0 to 0x1b76249 (code length 377) [client.exe]
+converting method IceInternal.AsyncIOThread/HelperThread:.ctor (IceInternal.AsyncIOThread)
+Method IceInternal.AsyncIOThread/HelperThread:.ctor (IceInternal.AsyncIOThread) emitted at 0x1b76270 to 0x1b76378 (code length 264) [client.exe]
+converting method IceInternal.AsyncIOThread:updateObserver ()
+Method IceInternal.AsyncIOThread:updateObserver () emitted at 0x1b76378 to 0x1b76467 (code length 239) [client.exe]
+converting method IceInternal.AsyncIOThread/HelperThread:Start (System.Threading.ThreadPriority)
+Method IceInternal.AsyncIOThread/HelperThread:Start (System.Threading.ThreadPriority) emitted at 0x1b76468 to 0x1b76593 (code length 299) [client.exe]
+converting method IceInternal.AsyncIOThread/HelperThread:Run ()
+converting method IceInternal.AsyncIOThread:queue (IceInternal.ThreadPoolWorkItem)
+Method IceInternal.AsyncIOThread/HelperThread:Run () emitted at 0x1b76598 to 0x1b765b5 (code length 29) [client.exe]
+converting method IceInternal.AsyncIOThread:run ()
+Method IceInternal.AsyncIOThread:queue (IceInternal.ThreadPoolWorkItem) emitted at 0x1b765c8 to 0x1b76656 (code length 142) [client.exe]
+converting gshared method System.Collections.Generic.LinkedList`1<IceInternal.ThreadPoolWorkItem>:AddLast (IceInternal.ThreadPoolWorkItem)
+Method System.Collections.Generic.LinkedList`1:AddLast (T) emitted at 0x1b76668 to 0x1b7675f (code length 247) [client.exe]
+converting gshared method System.Collections.Generic.LinkedListNode`1<IceInternal.ThreadPoolWorkItem>:.ctor (System.Collections.Generic.LinkedList`1<IceInternal.ThreadPoolWorkItem>,IceInternal.ThreadPoolWorkItem)
+Method System.Collections.Generic.LinkedListNode`1:.ctor (System.Collections.Generic.LinkedList`1<T>,T) emitted at 0x1b76778 to 0x1b76828 (code length 176) [client.exe]
+converting method IceInternal.ConnectRequestHandler:initialized ()
+Method IceInternal.AsyncIOThread:run () emitted at 0x1b76828 to 0x1b76c5f (code length 1079) [client.exe]
+converting gshared method System.Collections.Generic.LinkedList`1<IceInternal.ThreadPoolWorkItem>:GetEnumerator ()
+Method IceInternal.ConnectRequestHandler:initialized () emitted at 0x1b76ca0 to 0x1b76d20 (code length 128) [client.exe]
+converting method Ice.ObjectDelM_:getRequestHandler__ ()
+Method Ice.ObjectDelM_:getRequestHandler__ () emitted at 0x1b76d20 to 0x1b76d2e (code length 14) [client.exe]
+Method System.Collections.Generic.LinkedList`1:GetEnumerator () emitted at 0x1b76d30 to 0x1b76e1f (code length 239) [client.exe]
+converting method IceInternal.ConnectRequestHandler:getConnection (bool)
+converting gshared method System.Collections.Generic.LinkedList`1/Enumerator<IceInternal.ThreadPoolWorkItem>:.ctor (System.Collections.Generic.LinkedList`1<IceInternal.ThreadPoolWorkItem>)
+Method System.Collections.Generic.LinkedList`1/Enumerator:.ctor (System.Collections.Generic.LinkedList`1<T>) emitted at 0x1b76e30 to 0x1b76e80 (code length 80) [client.exe]
+Method IceInternal.ConnectRequestHandler:getConnection (bool) emitted at 0x1b76e80 to 0x1b76f4c (code length 204) [client.exe]
+converting gshared method System.Collections.Generic.LinkedList`1/Enumerator<IceInternal.ThreadPoolWorkItem>:MoveNext ()
+Method System.Collections.Generic.LinkedList`1/Enumerator:MoveNext () emitted at 0x1b76f50 to 0x1b77058 (code length 264) [client.exe]
+converting gshared method System.Collections.Generic.LinkedList`1/Enumerator<IceInternal.ThreadPoolWorkItem>:get_Current ()
+Method System.Collections.Generic.LinkedList`1/Enumerator:get_Current () emitted at 0x1b77058 to 0x1b770c4 (code length 108) [client.exe]
+converting gshared method System.Collections.Generic.LinkedListNode`1<IceInternal.ThreadPoolWorkItem>:get_Value ()
+Method System.Collections.Generic.LinkedListNode`1:get_Value () emitted at 0x1b770d0 to 0x1b770de (code length 14) [client.exe]
+converting method IceInternal.ThreadPool/<update>c__AnonStorey0:<>m__1 ()
+Method IceInternal.ThreadPool/<update>c__AnonStorey0:<>m__1 () emitted at 0x1b770e0 to 0x1b77169 (code length 137) [client.exe]
+converting method IceInternal.ThreadPoolCurrent:.ctor (IceInternal.ThreadPool,IceInternal.EventHandler,int)
+Method IceInternal.ThreadPoolCurrent:.ctor (IceInternal.ThreadPool,IceInternal.EventHandler,int) emitted at 0x1b77188 to 0x1b771ee (code length 102) [client.exe]
+converting method IceInternal.ThreadPool:messageCallback (IceInternal.ThreadPoolCurrent)
+Method IceInternal.ThreadPool:messageCallback (IceInternal.ThreadPoolCurrent) emitted at 0x1b771f0 to 0x1b77380 (code length 400) [client.exe]
+converting method Ice.ConnectionI:message (IceInternal.ThreadPoolCurrent&)
+Method Ice.ConnectionI:message (IceInternal.ThreadPoolCurrent&) emitted at 0x1bd5000 to 0x1bd6422 (code length 5154) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_gc_wbarrier_value_copy_bitmap (intptr,intptr,intptr,intptr)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_gc_wbarrier_value_copy_bitmap (intptr,intptr,intptr,intptr) emitted at 0x1bd64a8 to 0x1bd651a (code length 114) [client.exe]
+converting method IceInternal.ThreadPoolMessage:.ctor (IceUtilInternal.Monitor)
+Method IceInternal.ThreadPoolMessage:.ctor (IceUtilInternal.Monitor) emitted at 0x1bd6520 to 0x1bd655e (code length 62) [client.exe]
+converting method IceInternal.ThreadPoolMessage:startIOScope (IceInternal.ThreadPoolCurrent&)
+Method IceInternal.ThreadPoolMessage:startIOScope (IceInternal.ThreadPoolCurrent&) emitted at 0x1bd6560 to 0x1bd6582 (code length 34) [client.exe]
+converting method IceInternal.ThreadPoolCurrent:startMessage ()
+Method IceInternal.ThreadPoolCurrent:startMessage () emitted at 0x1bd6590 to 0x1bd65b0 (code length 32) [client.exe]
+converting method IceInternal.ThreadPool:startMessage (IceInternal.ThreadPoolCurrent&)
+Method IceInternal.ThreadPool:startMessage (IceInternal.ThreadPoolCurrent&) emitted at 0x1bd65c0 to 0x1bd680a (code length 586) [client.exe]
+converting method IceInternal.ThreadPool:getCallback (int)
+Method IceInternal.ThreadPool:getCallback (int) emitted at 0x1bd6828 to 0x1bd6977 (code length 335) [client.exe]
+converting method Ice.ConnectionI:startAsync (int,IceInternal.AsyncCallback,bool&)
+Method Ice.ConnectionI:startAsync (int,IceInternal.AsyncCallback,bool&) emitted at 0x1bd6978 to 0x1bd6b59 (code length 481) [client.exe]
+converting method IceInternal.UdpTransceiver:startWrite (IceInternal.Buffer,IceInternal.AsyncCallback,object,bool&)
+Method IceInternal.UdpTransceiver:startWrite (IceInternal.Buffer,IceInternal.AsyncCallback,object,bool&) emitted at 0x1bd6b98 to 0x1bd7046 (code length 1198) [client.exe]
+converting method IceInternal.Network:doConnectAsync (System.Net.Sockets.Socket,System.Net.EndPoint,IceInternal.AsyncCallback,object)
+Method IceInternal.Network:doConnectAsync (System.Net.Sockets.Socket,System.Net.EndPoint,IceInternal.AsyncCallback,object) emitted at 0x1bd7090 to 0x1bd7308 (code length 632) [client.exe]
+converting method System.Net.Sockets.Socket:BeginConnect (System.Net.EndPoint,System.AsyncCallback,object)
+converting method System.Net.Sockets.Socket/Worker:.cctor ()
+Method System.Net.Sockets.Socket/Worker:.cctor () emitted at 0x1bd7348 to 0x1bd73a5 (code length 93) [client.exe]
+Method System.Net.Sockets.Socket:BeginConnect (System.Net.EndPoint,System.AsyncCallback,object) emitted at 0x1bd73a8 to 0x1bd771f (code length 887) [client.exe]
+converting method System.Net.Sockets.Socket/SocketAsyncResult:.ctor (System.Net.Sockets.Socket,object,System.AsyncCallback,System.Net.Sockets.Socket/SocketOperation)
+Method System.Net.Sockets.Socket/SocketAsyncResult:.ctor (System.Net.Sockets.Socket,object,System.AsyncCallback,System.Net.Sockets.Socket/SocketOperation) emitted at 0x1bd7760 to 0x1bd7861 (code length 257) [client.exe]
+converting method (wrapper managed-to-native) System.GC:KeepAlive (object)
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.GC:KeepAlive (object) emitted at 0x1bd7870 to 0x1bd78de (code length 110) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:Connect_internal (intptr,System.Net.SocketAddress,int&)
+Restoring : local R11 <-
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:Connect_internal (intptr,System.Net.SocketAddress,int&) emitted at 0x1bd78e0 to 0x1bd7952 (code length 114) [client.exe]
+converting method System.Net.Sockets.Socket/SocketAsyncResult:Complete (bool)
+Method System.Net.Sockets.Socket/SocketAsyncResult:Complete (bool) emitted at 0x1bd7958 to 0x1bd7979 (code length 33) [client.exe]
+converting method System.Net.Sockets.Socket/SocketAsyncResult:Complete ()
+Method System.Net.Sockets.Socket/SocketAsyncResult:Complete () emitted at 0x1bd7988 to 0x1bd7b62 (code length 474) [client.exe]
+converting method System.Net.Sockets.Socket/SocketAsyncResult:set_IsCompleted (bool)
+Method System.Net.Sockets.Socket/SocketAsyncResult:set_IsCompleted (bool) emitted at 0x1bd7b88 to 0x1bd7c9e (code length 278) [client.exe]
+converting method System.Net.Sockets.Socket/SocketAsyncResult:get_CompletedSynchronously ()
+Method System.Net.Sockets.Socket/SocketAsyncResult:get_CompletedSynchronously () emitted at 0x1bd7cb8 to 0x1bd7cc7 (code length 15) [client.exe]
+converting method Ice.ConnectionI:finishAsync (int)
+Method Ice.ConnectionI:finishAsync (int) emitted at 0x1bd7cc8 to 0x1bd7e3b (code length 371) [client.exe]
+converting method IceInternal.UdpTransceiver:finishWrite (IceInternal.Buffer)
+Method IceInternal.UdpTransceiver:finishWrite (IceInternal.Buffer) emitted at 0x1bd7e58 to 0x1bd8170 (code length 792) [client.exe]
+converting method IceInternal.Network:doFinishConnectAsync (System.Net.Sockets.Socket,System.IAsyncResult)
+Method IceInternal.Network:doFinishConnectAsync (System.Net.Sockets.Socket,System.IAsyncResult) emitted at 0x1bd81a0 to 0x1bd82e8 (code length 328) [client.exe]
+converting method System.Net.Sockets.Socket:EndConnect (System.IAsyncResult)
+Method System.Net.Sockets.Socket:EndConnect (System.IAsyncResult) emitted at 0x1bd8300 to 0x1bd84b3 (code length 435) [client.exe]
+converting method System.Net.Sockets.Socket/SocketAsyncResult:get_IsCompleted ()
+Method System.Net.Sockets.Socket/SocketAsyncResult:get_IsCompleted () emitted at 0x1bd84d0 to 0x1bd84df (code length 15) [client.exe]
+converting method System.Net.Sockets.Socket/SocketAsyncResult:CheckIfThrowDelayedException ()
+Method System.Net.Sockets.Socket/SocketAsyncResult:CheckIfThrowDelayedException () emitted at 0x1bd84e0 to 0x1bd8554 (code length 116) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:RemoteEndPoint_internal (intptr,int,int&)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:RemoteEndPoint_internal (intptr,int,int&) emitted at 0x1bd8558 to 0x1bd85d2 (code length 122) [client.exe]
+converting method System.Net.IPEndPoint:Equals (object)
+Method System.Net.IPEndPoint:Equals (object) emitted at 0x1bd85d8 to 0x1bd8642 (code length 106) [client.exe]
+converting method Ice.ConnectionI:unscheduleTimeout (int)
+Method Ice.ConnectionI:unscheduleTimeout (int) emitted at 0x1bd8648 to 0x1bd86c3 (code length 123) [client.exe]
+converting method IceInternal.BasicStream:isEmpty ()
+Method IceInternal.BasicStream:isEmpty () emitted at 0x1bd86c8 to 0x1bd86e5 (code length 29) [client.exe]
+converting method IceInternal.ThreadPool:unregister (IceInternal.EventHandler,int)
+Method IceInternal.ThreadPool:unregister (IceInternal.EventHandler,int) emitted at 0x1bd86e8 to 0x1bd8705 (code length 29) [client.exe]
+converting method IceInternal.ThreadPoolMessage:completed (IceInternal.ThreadPoolCurrent&)
+Method IceInternal.ThreadPoolMessage:completed (IceInternal.ThreadPoolCurrent&) emitted at 0x1bd8708 to 0x1bd8747 (code length 63) [client.exe]
+converting method IceInternal.ThreadPoolCurrent:ioCompleted ()
+Method IceInternal.ThreadPoolCurrent:ioCompleted () emitted at 0x1bd8758 to 0x1bd876e (code length 22) [client.exe]
+converting method IceInternal.ThreadPoolMessage:finishIOScope (IceInternal.ThreadPoolCurrent&)
+Method IceInternal.ThreadPoolMessage:finishIOScope (IceInternal.ThreadPoolCurrent&) emitted at 0x1bd8770 to 0x1bd8795 (code length 37) [client.exe]
+converting method IceInternal.ThreadPoolCurrent:finishMessage (bool)
+Method IceInternal.ThreadPoolCurrent:finishMessage (bool) emitted at 0x1bd87a8 to 0x1bd87cd (code length 37) [client.exe]
+converting method IceInternal.ThreadPool:finishMessage (IceInternal.ThreadPoolCurrent&,bool)
+Method IceInternal.ThreadPool:finishMessage (IceInternal.ThreadPoolCurrent&,bool) emitted at 0x1bd87e0 to 0x1bd8a44 (code length 612) [client.exe]
+converting method IceInternal.ThreadPool:execute (IceInternal.ThreadPoolWorkItem)
+Method IceInternal.ThreadPool:execute (IceInternal.ThreadPoolWorkItem) emitted at 0x1bd8a48 to 0x1bd8e66 (code length 1054) [client.exe]
+converting gshared method System.Collections.Generic.Queue`1<IceInternal.ThreadPoolWorkItem>:Enqueue (IceInternal.ThreadPoolWorkItem)
+Method System.Collections.Generic.Queue`1:Enqueue (T) emitted at 0x1bd8e68 to 0x1bd8f1b (code length 179) [client.exe]
+converting gshared method System.Collections.Generic.Queue`1<IceInternal.ThreadPoolWorkItem>:SetCapacity (int)
+Method System.Collections.Generic.Queue`1:SetCapacity (int) emitted at 0x1bd8f28 to 0x1bd9010 (code length 232) [client.exe]
+converting gshared method System.Collections.Generic.LinkedList`1/Enumerator<IceInternal.ThreadPoolWorkItem>:Dispose ()
+converting gshared method System.Collections.Generic.Queue`1<IceInternal.ThreadPoolWorkItem>:Dequeue ()
+Method System.Collections.Generic.LinkedList`1/Enumerator:Dispose () emitted at 0x1bd9020 to 0x1bd9060 (code length 64) [client.exe]
+converting gshared method System.Collections.Generic.LinkedList`1<IceInternal.ThreadPoolWorkItem>:Clear ()
+Method System.Collections.Generic.Queue`1:Dequeue () emitted at 0x1bd9060 to 0x1bd90d1 (code length 113) [client.exe]
+converting gshared method System.Collections.Generic.Queue`1<IceInternal.ThreadPoolWorkItem>:Peek ()
+Method System.Collections.Generic.LinkedList`1:Clear () emitted at 0x1bd90e0 to 0x1bd910b (code length 43) [client.exe]
+converting gshared method System.Collections.Generic.LinkedList`1<IceInternal.ThreadPoolWorkItem>:Remove (System.Collections.Generic.LinkedListNode`1<IceInternal.ThreadPoolWorkItem>)
+Method System.Collections.Generic.Queue`1:Peek () emitted at 0x1bd9118 to 0x1bd916c (code length 84) [client.exe]
+converting method IceInternal.ThreadPool/WorkerThread:setState (Ice.Instrumentation.ThreadState)
+Method IceInternal.ThreadPool/WorkerThread:setState (Ice.Instrumentation.ThreadState) emitted at 0x1bd9170 to 0x1bd91b3 (code length 67) [client.exe]
+converting method Ice.ConnectionI/<message>c__AnonStorey1:<>m__0 ()
+Method System.Collections.Generic.LinkedList`1:Remove (System.Collections.Generic.LinkedListNode`1<T>) emitted at 0x1bd91b8 to 0x1bd924c (code length 148) [client.exe]
+converting gshared method System.Collections.Generic.LinkedList`1<IceInternal.ThreadPoolWorkItem>:VerifyReferencedNode (System.Collections.Generic.LinkedListNode`1<IceInternal.ThreadPoolWorkItem>)
+Method System.Collections.Generic.LinkedList`1:VerifyReferencedNode (System.Collections.Generic.LinkedListNode`1<T>) emitted at 0x1bd9270 to 0x1bd92f0 (code length 128) [client.exe]
+converting gshared method System.Collections.Generic.LinkedListNode`1<IceInternal.ThreadPoolWorkItem>:get_List ()
+Method System.Collections.Generic.LinkedListNode`1:get_List () emitted at 0x1bd9300 to 0x1bd930e (code length 14) [client.exe]
+Method Ice.ConnectionI/<message>c__AnonStorey1:<>m__0 () emitted at 0x1bd9310 to 0x1bd9544 (code length 564) [client.exe]
+converting gshared method System.Collections.Generic.LinkedListNode`1<IceInternal.ThreadPoolWorkItem>:Detach ()
+converting method Ice.ConnectionI:dispatch (Ice.ConnectionI/StartCallback,System.Collections.Generic.Queue`1<Ice.ConnectionI/OutgoingMessage>,Ice.ConnectionI/MessageInfo)
+Method System.Collections.Generic.LinkedListNode`1:Detach () emitted at 0x1bd9568 to 0x1bd9629 (code length 193) [client.exe]
+Method Ice.ConnectionI:dispatch (Ice.ConnectionI/StartCallback,System.Collections.Generic.Queue`1<Ice.ConnectionI/OutgoingMessage>,Ice.ConnectionI/MessageInfo) emitted at 0x1bd9630 to 0x1bd98d2 (code length 674) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory/ConnectCallback:connectionStartCompleted (Ice.ConnectionI)
+Method IceInternal.OutgoingConnectionFactory/ConnectCallback:connectionStartCompleted (Ice.ConnectionI) emitted at 0x1bd9920 to 0x1bd997d (code length 93) [client.exe]
+converting method Ice.ConnectionI:activate ()
+Method Ice.ConnectionI:activate () emitted at 0x1bd9998 to 0x1bd9a66 (code length 206) [client.exe]
+converting method IceInternal.ThreadPool:register (IceInternal.EventHandler,int)
+Method IceInternal.ThreadPool:register (IceInternal.EventHandler,int) emitted at 0x1bd9a68 to 0x1bd9a85 (code length 29) [client.exe]
+converting method IceInternal.ThreadPool/<update>c__AnonStorey0:<>m__0 ()
+converting method IceInternal.OutgoingConnectionFactory:finishGetConnection (System.Collections.Generic.List`1<IceInternal.OutgoingConnectionFactory/ConnectorInfo>,IceInternal.OutgoingConnectionFactory/ConnectorInfo,Ice.ConnectionI,IceInternal.OutgoingConnectionFactory/ConnectCallback)
+Method IceInternal.ThreadPool/<update>c__AnonStorey0:<>m__0 () emitted at 0x1bd9a88 to 0x1bd9b11 (code length 137) [client.exe]
+converting method IceInternal.UdpTransceiver:startRead (IceInternal.Buffer,IceInternal.AsyncCallback,object)
+Method IceInternal.UdpTransceiver:startRead (IceInternal.Buffer,IceInternal.AsyncCallback,object) emitted at 0x1bd9b18 to 0x1bda005 (code length 1261) [client.exe]
+converting method IceInternal.ByteBuffer:put (IceInternal.ByteBuffer)
+Method IceInternal.ByteBuffer:put (IceInternal.ByteBuffer) emitted at 0x1bda030 to 0x1bda0a6 (code length 118) [client.exe]
+converting method IceInternal.ByteBuffer:remaining ()
+Method IceInternal.ByteBuffer:remaining () emitted at 0x1bda0c0 to 0x1bda0d3 (code length 19) [client.exe]
+converting method IceInternal.ByteBuffer:checkOverflow (int)
+Method IceInternal.ByteBuffer:checkOverflow (int) emitted at 0x1bda0d8 to 0x1bda124 (code length 76) [client.exe]
+Method IceInternal.OutgoingConnectionFactory:finishGetConnection (System.Collections.Generic.List`1<IceInternal.OutgoingConnectionFactory/ConnectorInfo>,IceInternal.OutgoingConnectionFactory/ConnectorInfo,Ice.ConnectionI,IceInternal.OutgoingConnectionFactory/ConnectCallback) emitted at 0x1bda128 to 0x1bda70f (code length 1511) [client.exe]
+converting method System.Net.Sockets.Socket:BeginReceive (byte[],int,int,System.Net.Sockets.SocketFlags,System.AsyncCallback,object)
+converting gshared method System.Collections.Generic.HashSet`1<IceInternal.OutgoingConnectionFactory/ConnectCallback>:GetLinkHashCode (int)
+Method System.Net.Sockets.Socket:BeginReceive (byte[],int,int,System.Net.Sockets.SocketFlags,System.AsyncCallback,object) emitted at 0x1bda768 to 0x1bda8e0 (code length 376) [client.exe]
+Method System.Collections.Generic.HashSet`1:GetLinkHashCode (int) emitted at 0x1bda8f0 to 0x1bda921 (code length 49) [client.exe]
+converting method System.Net.Sockets.Socket:CheckRange (byte[],int,int)
+converting method IceInternal.OutgoingConnectionFactory/ConnectCallback:removeFromPending ()
+Method IceInternal.OutgoingConnectionFactory/ConnectCallback:removeFromPending () emitted at 0x1bda928 to 0x1bda949 (code length 33) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:removeFromPending (IceInternal.OutgoingConnectionFactory/ConnectCallback,System.Collections.Generic.List`1<IceInternal.OutgoingConnectionFactory/ConnectorInfo>)
+Method System.Net.Sockets.Socket:CheckRange (byte[],int,int) emitted at 0x1bda958 to 0x1bdaad0 (code length 376) [client.exe]
+converting method System.Collections.Queue:Enqueue (object)
+Method System.Collections.Queue:Enqueue (object) emitted at 0x1bdaad0 to 0x1bdab31 (code length 97) [client.exe]
+converting method System.Collections.Queue:get_Count ()
+Method System.Collections.Queue:get_Count () emitted at 0x1bdab40 to 0x1bdab4e (code length 14) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:socket_pool_queue (System.Net.Sockets.Socket/SocketAsyncCall,System.Net.Sockets.Socket/SocketAsyncResult)
+Restoring : local R10 <-
+Method IceInternal.OutgoingConnectionFactory:removeFromPending (IceInternal.OutgoingConnectionFactory/ConnectCallback,System.Collections.Generic.List`1<IceInternal.OutgoingConnectionFactory/ConnectorInfo>) emitted at 0x1bdab50 to 0x1bdac20 (code length 208) [client.exe]
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:socket_pool_queue (System.Net.Sockets.Socket/SocketAsyncCall,System.Net.Sockets.Socket/SocketAsyncResult) emitted at 0x1bdac20 to 0x1bdac8e (code length 110) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1<IceInternal.OutgoingConnectionFactory/ConnectCallback>:Remove (IceInternal.OutgoingConnectionFactory/ConnectCallback)
+Method System.Collections.Generic.HashSet`1:Remove (T) emitted at 0x1bdac90 to 0x1bdaf26 (code length 662) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory/ConnectCallback:setConnection (Ice.ConnectionI,bool)
+Method IceInternal.OutgoingConnectionFactory/ConnectCallback:setConnection (Ice.ConnectionI,bool) emitted at 0x1bdaf28 to 0x1bdaf65 (code length 61) [client.exe]
+converting method IceInternal.RoutableReference/CreateConnectionCallback:setConnection (Ice.ConnectionI,bool)
+Method IceInternal.RoutableReference/CreateConnectionCallback:setConnection (Ice.ConnectionI,bool) emitted at 0x1bdaf68 to 0x1bdafdf (code length 119) [client.exe]
+converting method IceInternal.ConnectRequestHandler:setConnection (Ice.ConnectionI,bool)
+Method IceInternal.ConnectRequestHandler:setConnection (Ice.ConnectionI,bool) emitted at 0x1bdb008 to 0x1bdb139 (code length 305) [client.exe]
+converting method IceInternal.RoutableReference:getRouterInfo ()
+Method IceInternal.RoutableReference:getRouterInfo () emitted at 0x1bdb158 to 0x1bdb166 (code length 14) [client.exe]
+converting method IceInternal.ConnectRequestHandler:flushRequests ()
+Method IceInternal.ConnectRequestHandler:flushRequests () emitted at 0x1bdb168 to 0x1bdbd66 (code length 3070) [client.exe]
+converting method IceInternal.ConnectionRequestHandler:.ctor (IceInternal.Reference,Ice.ConnectionI,bool)
+Method IceInternal.ConnectionRequestHandler:.ctor (IceInternal.Reference,Ice.ConnectionI,bool) emitted at 0x1bdbde0 to 0x1bdbe5b (code length 123) [client.exe]
+converting method Ice.ObjectPrxHelperBase:setRequestHandler__ (Ice.ObjectDel_,IceInternal.RequestHandler)
+Method Ice.ObjectPrxHelperBase:setRequestHandler__ (Ice.ObjectDel_,IceInternal.RequestHandler) emitted at 0x1bdbe60 to 0x1bdbfa7 (code length 327) [client.exe]
+converting method Ice.ObjectDelM_:setRequestHandler__ (IceInternal.RequestHandler)
+Method Ice.ObjectDelM_:setRequestHandler__ (IceInternal.RequestHandler) emitted at 0x1bdbfa8 to 0x1bdbfda (code length 50) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:decPendingConnectCount ()
+converting method Ice.ConnectionI:setAdapter (Ice.ObjectAdapter)
+Method IceInternal.OutgoingConnectionFactory:decPendingConnectCount () emitted at 0x1bdbfe0 to 0x1bdc07e (code length 158) [client.exe]
+converting method IceInternal.ThreadPoolMessage:destroy (IceInternal.ThreadPoolCurrent&)
+Method Ice.ConnectionI:setAdapter (Ice.ObjectAdapter) emitted at 0x1bdc080 to 0x1bdc1d5 (code length 341) [client.exe]
+Method IceInternal.ThreadPoolMessage:destroy (IceInternal.ThreadPoolCurrent&) emitted at 0x1bdc1d8 to 0x1bdc256 (code length 126) [client.exe]
+converting method IceDiscovery.LookupPrxHelper:uncheckedCast (Ice.ObjectPrx)
+Method IceDiscovery.LookupPrxHelper:uncheckedCast (Ice.ObjectPrx) emitted at 0x1bdc258 to 0x1bdc341 (code length 233) [client.exe]
+converting method IceDiscovery.LookupPrxHelper:.cctor ()
+Method IceDiscovery.LookupPrxHelper:.cctor () emitted at 0x1bdc360 to 0x1bdc3be (code length 94) [client.exe]
+converting method IceDiscovery.LookupPrxHelper:.ctor ()
+Method IceDiscovery.LookupPrxHelper:.ctor () emitted at 0x1bdc3c0 to 0x1bdc3c8 (code length 8) [client.exe]
+converting method Ice.ObjectPrxHelperBase:copyFrom__ (Ice.ObjectPrx)
+Method Ice.ObjectPrxHelperBase:copyFrom__ (Ice.ObjectPrx) emitted at 0x1bdc3c8 to 0x1bdc5c6 (code length 510) [client.exe]
+converting method IceDiscovery.LookupPrxHelper:createDelegateM__ ()
+Method IceDiscovery.LookupPrxHelper:createDelegateM__ () emitted at 0x1bdc5e0 to 0x1bdc5f9 (code length 25) [client.exe]
+converting method Ice.ObjectDelM_:copyFrom__ (Ice.ObjectDelM_)
+Method Ice.ObjectDelM_:copyFrom__ (Ice.ObjectDelM_) emitted at 0x1bdc600 to 0x1bdc652 (code length 82) [client.exe]
+converting method IceDiscovery.LookupI:.ctor (IceDiscovery.LocatorRegistryI,IceDiscovery.LookupPrx,Ice.Properties)
+Method IceDiscovery.LookupI:.ctor (IceDiscovery.LocatorRegistryI,IceDiscovery.LookupPrx,Ice.Properties) emitted at 0x1bdc658 to 0x1bdc872 (code length 538) [client.exe]
+converting method IceDiscovery.LookupDisp_:.ctor ()
+Method IceDiscovery.LookupDisp_:.ctor () emitted at 0x1bdc8a8 to 0x1bdc8b0 (code length 8) [client.exe]
+converting method IceDiscovery.LookupDisp_:.cctor ()
+Method IceDiscovery.LookupDisp_:.cctor () emitted at 0x1bdc8b0 to 0x1bdc9ce (code length 286) [client.exe]
+converting method Ice.ObjectPrxHelperBase:ice_getCommunicator ()
+Method Ice.ObjectPrxHelperBase:ice_getCommunicator () emitted at 0x1bdca10 to 0x1bdca25 (code length 21) [client.exe]
+converting method IceInternal.Util:getInstance (Ice.Communicator)
+Method IceInternal.Util:getInstance (Ice.Communicator) emitted at 0x1bdca28 to 0x1bdca69 (code length 65) [client.exe]
+converting method Ice.ObjectPrxHelperBase:ice_locator (Ice.LocatorPrx)
+Method Ice.ObjectPrxHelperBase:ice_locator (Ice.LocatorPrx) emitted at 0x1bdcab0 to 0x1bdcb0a (code length 90) [client.exe]
+converting method IceInternal.RoutableReference:changeLocator (Ice.LocatorPrx)
+Method IceInternal.RoutableReference:changeLocator (Ice.LocatorPrx) emitted at 0x1bdcb18 to 0x1bdcbf2 (code length 218) [client.exe]
+converting method IceInternal.ReferenceFactory:copy (IceInternal.Reference)
+Method IceInternal.ReferenceFactory:copy (IceInternal.Reference) emitted at 0x1bdcc00 to 0x1bdcc7a (code length 122) [client.exe]
+converting method IceInternal.Reference:Clone ()
+Method IceInternal.Reference:Clone () emitted at 0x1bdcc88 to 0x1bdcca1 (code length 25) [client.exe]
+converting method IceInternal.RoutableReference:Equals (object)
+Method IceInternal.RoutableReference:Equals (object) emitted at 0x1bdcca8 to 0x1bdcedf (code length 567) [client.exe]
+converting method IceInternal.Reference:Equals (object)
+Method IceInternal.Reference:Equals (object) emitted at 0x1bdcef8 to 0x1bdd0f6 (code length 510) [client.exe]
+converting method Ice.Identity:Equals (object)
+Method Ice.Identity:Equals (object) emitted at 0x1bdd110 to 0x1bdd20f (code length 255) [client.exe]
+converting method Ice.CollectionComparer:Equals (System.Collections.IDictionary,System.Collections.IDictionary)
+Method Ice.CollectionComparer:Equals (System.Collections.IDictionary,System.Collections.IDictionary) emitted at 0x1bdd210 to 0x1bdd494 (code length 644) [client.exe]
+converting method Ice.CollectionComparer:cheapComparison (System.Collections.ICollection,System.Collections.ICollection,bool&)
+Method Ice.CollectionComparer:cheapComparison (System.Collections.ICollection,System.Collections.ICollection,bool&) emitted at 0x1bdd4a0 to 0x1bdd555 (code length 181) [client.exe]
+converting method Ice.ProtocolVersion:Equals (object)
+Method Ice.ProtocolVersion:Equals (object) emitted at 0x1bdd558 to 0x1bdd619 (code length 193) [client.exe]
+converting method Ice.EncodingVersion:Equals (object)
+Method Ice.EncodingVersion:Equals (object) emitted at 0x1bdd620 to 0x1bdd6e1 (code length 193) [client.exe]
+converting method IceUtilInternal.Arrays:Equals (object[],object[])
+Method IceUtilInternal.Arrays:Equals (object[],object[]) emitted at 0x1bdd6e8 to 0x1bdd7ea (code length 258) [client.exe]
+converting method Ice.ObjectPrxHelperBase:ice_router (Ice.RouterPrx)
+Method Ice.ObjectPrxHelperBase:ice_router (Ice.RouterPrx) emitted at 0x1bdd840 to 0x1bdd89a (code length 90) [client.exe]
+converting method IceInternal.RoutableReference:changeRouter (Ice.RouterPrx)
+Method IceInternal.RoutableReference:changeRouter (Ice.RouterPrx) emitted at 0x1bdd8a0 to 0x1bdd97a (code length 218) [client.exe]
+converting method Ice.ObjectPrxHelperBase:ice_collocationOptimized (bool)
+Method Ice.ObjectPrxHelperBase:ice_collocationOptimized (bool) emitted at 0x1bdd980 to 0x1bdd9d9 (code length 89) [client.exe]
+converting method IceInternal.RoutableReference:changeCollocationOptimized (bool)
+Method IceInternal.RoutableReference:changeCollocationOptimized (bool) emitted at 0x1bdd9e0 to 0x1bdda64 (code length 132) [client.exe]
+converting method Ice.ObjectPrxHelperBase:newInstance (IceInternal.Reference)
+Method Ice.ObjectPrxHelperBase:newInstance (IceInternal.Reference) emitted at 0x1bdda68 to 0x1bddacd (code length 101) [client.exe]
+converting method Ice.CommunicatorI:stringToIdentity (string)
+Method Ice.CommunicatorI:stringToIdentity (string) emitted at 0x1bddad0 to 0x1bddaf1 (code length 33) [client.exe]
+converting method Ice.ObjectAdapterI:add (Ice.Object,Ice.Identity)
+Method Ice.ObjectAdapterI:add (Ice.Object,Ice.Identity) emitted at 0x1bddb10 to 0x1bddb31 (code length 33) [client.exe]
+converting method IceDiscovery.LookupReplyI:.ctor (IceDiscovery.LookupI)
+Method IceDiscovery.LookupReplyI:.ctor (IceDiscovery.LookupI) emitted at 0x1bddb38 to 0x1bddb7b (code length 67) [client.exe]
+converting method IceDiscovery.LookupReplyDisp_:.ctor ()
+Method IceDiscovery.LookupReplyDisp_:.ctor () emitted at 0x1bddb88 to 0x1bddb90 (code length 8) [client.exe]
+converting method IceDiscovery.LookupReplyDisp_:.cctor ()
+Method IceDiscovery.LookupReplyDisp_:.cctor () emitted at 0x1bddb90 to 0x1bddcae (code length 286) [client.exe]
+converting method IceDiscovery.LookupReplyPrxHelper:uncheckedCast (Ice.ObjectPrx)
+Method IceDiscovery.LookupReplyPrxHelper:uncheckedCast (Ice.ObjectPrx) emitted at 0x1bddcb0 to 0x1bddd99 (code length 233) [client.exe]
+converting method IceDiscovery.LookupReplyPrxHelper:.cctor ()
+Method IceDiscovery.LookupReplyPrxHelper:.cctor () emitted at 0x1bdddb8 to 0x1bdde16 (code length 94) [client.exe]
+converting method IceDiscovery.LookupReplyPrxHelper:.ctor ()
+Method IceDiscovery.LookupReplyPrxHelper:.ctor () emitted at 0x1bdde18 to 0x1bdde20 (code length 8) [client.exe]
+converting method Ice.LocatorRegistryPrxHelper:uncheckedCast (Ice.ObjectPrx)
+Method Ice.LocatorRegistryPrxHelper:uncheckedCast (Ice.ObjectPrx) emitted at 0x1bdde20 to 0x1bddf09 (code length 233) [client.exe]
+converting method Ice.LocatorRegistryPrxHelper:.cctor ()
+Method Ice.LocatorRegistryPrxHelper:.cctor () emitted at 0x1bddf28 to 0x1bddf86 (code length 94) [client.exe]
+converting method Ice.LocatorRegistryPrxHelper:.ctor ()
+Method Ice.LocatorRegistryPrxHelper:.ctor () emitted at 0x1bddf88 to 0x1bddf90 (code length 8) [client.exe]
+converting method IceDiscovery.LocatorI:.ctor (IceDiscovery.LookupI,Ice.LocatorRegistryPrx)
+Method IceDiscovery.LocatorI:.ctor (IceDiscovery.LookupI,Ice.LocatorRegistryPrx) emitted at 0x1bddf90 to 0x1bddffa (code length 106) [client.exe]
+converting method Ice.LocatorDisp_:.ctor ()
+Method Ice.LocatorDisp_:.ctor () emitted at 0x1bde008 to 0x1bde010 (code length 8) [client.exe]
+converting method Ice.LocatorDisp_:.cctor ()
+Method Ice.LocatorDisp_:.cctor () emitted at 0x1bde010 to 0x1bde149 (code length 313) [client.exe]
+converting method Ice.ObjectPrxHelperBase:ToString ()
+Method Ice.ObjectPrxHelperBase:ToString () emitted at 0x1bde150 to 0x1bde16a (code length 26) [client.exe]
+converting method IceInternal.RoutableReference:ToString ()
+Method IceInternal.RoutableReference:ToString () emitted at 0x1bde170 to 0x1bde308 (code length 408) [client.exe]
+converting method IceInternal.Reference:ToString ()
+Method IceInternal.Reference:ToString () emitted at 0x1bde320 to 0x1bde647 (code length 807) [client.exe]
+converting method IceInternal.Instance:identityToString (Ice.Identity)
+Method IceInternal.Instance:identityToString (Ice.Identity) emitted at 0x1bde680 to 0x1bde699 (code length 25) [client.exe]
+converting method Ice.Util:identityToString (Ice.Identity)
+Method Ice.Util:identityToString (Ice.Identity) emitted at 0x1bde6a8 to 0x1bde751 (code length 169) [client.exe]
+converting method IceUtilInternal.StringUtil:escapeString (string,string)
+Method IceUtilInternal.StringUtil:escapeString (string,string) emitted at 0x1bde758 to 0x1bde8e9 (code length 401) [client.exe]
+converting method System.Text.UTF8Encoding:.ctor ()
+Method System.Text.UTF8Encoding:.ctor () emitted at 0x1bde908 to 0x1bde925 (code length 29) [client.exe]
+converting method System.Text.Encoding:GetBytes (string)
+Method System.Text.Encoding:GetBytes (string) emitted at 0x1bde928 to 0x1bdea24 (code length 252) [client.exe]
+converting method System.Text.UTF8Encoding:GetByteCount (string)
+Method System.Text.UTF8Encoding:GetByteCount (string) emitted at 0x1bdea28 to 0x1bdea41 (code length 25) [client.exe]
+converting method System.Text.Encoding:GetByteCount (string)
+Method System.Text.Encoding:GetByteCount (string) emitted at 0x1bdea50 to 0x1bdeac0 (code length 112) [client.exe]
+converting method System.Text.UTF8Encoding:GetByteCount (char*,int)
+Method System.Text.UTF8Encoding:GetByteCount (char*,int) emitted at 0x1bdeac0 to 0x1bdeb34 (code length 116) [client.exe]
+converting method System.Text.UTF8Encoding:InternalGetByteCount (char*,int,System.Text.EncoderFallback,char&,bool)
+Method System.Text.UTF8Encoding:InternalGetByteCount (char*,int,System.Text.EncoderFallback,char&,bool) emitted at 0x1bdeb40 to 0x1bded81 (code length 577) [client.exe]
+converting method System.Text.UTF8Encoding:GetBytes (char*,int,byte*,int)
+Method System.Text.UTF8Encoding:GetBytes (char*,int,byte*,int) emitted at 0x1bded88 to 0x1bdeef8 (code length 368) [client.exe]
+converting method IceUtilInternal.StringUtil:encodeChar (byte,System.Text.StringBuilder,string)
+Method IceUtilInternal.StringUtil:encodeChar (byte,System.Text.StringBuilder,string) emitted at 0x1bdeef8 to 0x1bdf0ee (code length 502) [client.exe]
+converting method IceUtilInternal.StringUtil:findFirstOf (string,string)
+Method IceUtilInternal.StringUtil:findFirstOf (string,string) emitted at 0x1bdf130 to 0x1bdf14d (code length 29) [client.exe]
+converting method IceInternal.EndpointI:ToString ()
+Method IceInternal.EndpointI:ToString () emitted at 0x1bdf150 to 0x1bdf16c (code length 28) [client.exe]
+converting method IceInternal.UdpEndpointI:ice_toString_ ()
+Method IceInternal.UdpEndpointI:ice_toString_ () emitted at 0x1bdf170 to 0x1bdf310 (code length 416) [client.exe]
+converting method IceInternal.TcpEndpointI:ice_toString_ ()
+Method IceInternal.TcpEndpointI:ice_toString_ () emitted at 0x1bdf310 to 0x1bdf468 (code length 344) [client.exe]
+converting method Ice.LocatorPrxHelper:.ctor ()
+Method Ice.LocatorPrxHelper:.ctor () emitted at 0x1bdf468 to 0x1bdf470 (code length 8) [client.exe]
+converting method Ice.CommunicatorI:setDefaultLocator (Ice.LocatorPrx)
+Method Ice.CommunicatorI:setDefaultLocator (Ice.LocatorPrx) emitted at 0x1bdf470 to 0x1bdf491 (code length 33) [client.exe]
+converting method IceInternal.Instance:setDefaultLocator (Ice.LocatorPrx)
+Method IceInternal.Instance:setDefaultLocator (Ice.LocatorPrx) emitted at 0x1bdf4a0 to 0x1bdf555 (code length 181) [client.exe]
+converting method IceInternal.ReferenceFactory:setDefaultLocator (Ice.LocatorPrx)
+Method IceInternal.ReferenceFactory:setDefaultLocator (Ice.LocatorPrx) emitted at 0x1bdf558 to 0x1bdf633 (code length 219) [client.exe]
+converting method Ice.ObjectAdapterI:activate ()
+Method Ice.ObjectAdapterI:activate () emitted at 0x1bdf660 to 0x1bdfac3 (code length 1123) [client.exe]
+converting method Ice.ObjectAdapterI:createDirectProxy (Ice.Identity)
+Method Ice.ObjectAdapterI:createDirectProxy (Ice.Identity) emitted at 0x1bdfae8 to 0x1bdfb69 (code length 129) [client.exe]
+converting method Ice.ObjectAdapterI:updateLocatorRegistry (IceInternal.LocatorInfo,Ice.ObjectPrx,bool)
+Method Ice.ObjectAdapterI:updateLocatorRegistry (IceInternal.LocatorInfo,Ice.ObjectPrx,bool) emitted at 0x1bdfb70 to 0x1be0d32 (code length 4546) [client.exe]
+converting method IceInternal.IncomingConnectionFactory:activate ()
+Method IceInternal.IncomingConnectionFactory:activate () emitted at 0x1be0d68 to 0x1be0dbe (code length 86) [client.exe]
+converting method IceInternal.IncomingConnectionFactory:setState (int)
+Method IceInternal.IncomingConnectionFactory:setState (int) emitted at 0x1be0dd0 to 0x1be139b (code length 1483) [client.exe]
+converting gshared method System.Collections.Generic.LinkedListNode`1<IceInternal.ThreadPoolWorkItem>:.ctor (System.Collections.Generic.LinkedList`1<IceInternal.ThreadPoolWorkItem>,IceInternal.ThreadPoolWorkItem,System.Collections.Generic.LinkedListNode`1<IceInternal.ThreadPoolWorkItem>,System.Collections.Generic.LinkedListNode`1<IceInternal.ThreadPoolWorkItem>)
+Method System.Collections.Generic.LinkedListNode`1:.ctor (System.Collections.Generic.LinkedList`1<T>,T,System.Collections.Generic.LinkedListNode`1<T>,System.Collections.Generic.LinkedListNode`1<T>) emitted at 0x1be13f0 to 0x1be14e8 (code length 248) [client.exe]
+converting method Ice.Application:destroyOnInterrupt ()
+converting method System.Net.Sockets.Socket:BeginReceiveFrom (byte[],int,int,System.Net.Sockets.SocketFlags,System.Net.EndPoint&,System.AsyncCallback,object)
+Method Ice.Application:destroyOnInterrupt () emitted at 0x1be14e8 to 0x1be15a4 (code length 188) [client.exe]
+converting method System.Delegate:op_Equality (System.Delegate,System.Delegate)
+Method System.Delegate:op_Equality (System.Delegate,System.Delegate) emitted at 0x1be15b0 to 0x1be15ef (code length 63) [client.exe]
+converting method Client/App:run (string[])
+Method System.Net.Sockets.Socket:BeginReceiveFrom (byte[],int,int,System.Net.Sockets.SocketFlags,System.Net.EndPoint&,System.AsyncCallback,object) emitted at 0x1be15f0 to 0x1be17d0 (code length 480) [client.exe]
+converting method IceInternal.IncomingConnectionFactory:message (IceInternal.ThreadPoolCurrent&)
+Method IceInternal.IncomingConnectionFactory:message (IceInternal.ThreadPoolCurrent&) emitted at 0x1be17d0 to 0x1be1eaa (code length 1754) [client.exe]
+converting method IceInternal.IncomingConnectionFactory:startAsync (int,IceInternal.AsyncCallback,bool&)
+Method IceInternal.IncomingConnectionFactory:startAsync (int,IceInternal.AsyncCallback,bool&) emitted at 0x1be1ee0 to 0x1be20ec (code length 524) [client.exe]
+converting method IceInternal.TcpAcceptor:startAccept (IceInternal.AsyncCallback,object)
+Method IceInternal.TcpAcceptor:startAccept (IceInternal.AsyncCallback,object) emitted at 0x1be20f0 to 0x1be226d (code length 381) [client.exe]
+converting method System.Net.Sockets.Socket:BeginAccept (System.AsyncCallback,object)
+Method System.Net.Sockets.Socket:BeginAccept (System.AsyncCallback,object) emitted at 0x1be2280 to 0x1be23ac (code length 300) [client.exe]
+Method Client/App:run (string[]) emitted at 0x1be23b0 to 0x1be3660 (code length 4784) [client.exe]
+converting method Ice.CommunicatorI:getPluginManager ()
+Method Ice.CommunicatorI:getPluginManager () emitted at 0x1be36b8 to 0x1be36d5 (code length 29) [client.exe]
+converting method IceInternal.Instance:pluginManager ()
+Method IceInternal.Instance:pluginManager () emitted at 0x1be36e8 to 0x1be378c (code length 164) [client.exe]
+converting method Ice.PluginManagerI:getPlugin (string)
+Method Ice.PluginManagerI:getPlugin (string) emitted at 0x1be3790 to 0x1be38a9 (code length 281) [client.exe]
+converting method Ice.PluginManagerI:findPlugin (string)
+Method Ice.PluginManagerI:findPlugin (string) emitted at 0x1be38b0 to 0x1be3a6d (code length 445) [client.exe]
+converting method Ice.NotRegisteredException:.ctor ()
+Method Ice.NotRegisteredException:.ctor () emitted at 0x1be3a70 to 0x1be3a82 (code length 18) [client.exe]
+converting method Ice.CommunicatorI:propertyToProxy (string)
+Method Ice.CommunicatorI:propertyToProxy (string) emitted at 0x1be3a88 to 0x1be3ab9 (code length 49) [client.exe]
+converting method System.NullReferenceException:.ctor ()
+Method System.NullReferenceException:.ctor () emitted at 0x1be3ac0 to 0x1be3ae7 (code length 39) [client.exe]
+converting method System.Exception:ToString ()
+Method System.Exception:ToString () emitted at 0x1be3ae8 to 0x1be3c51 (code length 361) [client.exe]
+converting method System.Exception:get_ClassName ()
+Method System.Exception:get_ClassName () emitted at 0x1be3c60 to 0x1be3cb2 (code length 82) [client.exe]
+converting method System.MonoType:ToString ()
+Method System.MonoType:ToString () emitted at 0x1be3cb8 to 0x1be3cd5 (code length 29) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:getFullName (System.MonoType,bool,bool)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.MonoType:getFullName (System.MonoType,bool,bool) emitted at 0x1be3ce8 to 0x1be3d84 (code length 156) [client.exe]
+converting method System.Exception:get_Message ()
+Method System.Exception:get_Message () emitted at 0x1be3d88 to 0x1be3deb (code length 99) [client.exe]
+converting method System.Exception:get_StackTrace ()
+Method System.Exception:get_StackTrace () emitted at 0x1be3df0 to 0x1be3fa5 (code length 437) [client.exe]
+converting method string:Format (string,object,object)
+Method string:Format (string,object,object) emitted at 0x1be3fc0 to 0x1be4025 (code length 101) [client.exe]
+converting method string:Format (System.IFormatProvider,string,object[])
+Method string:Format (System.IFormatProvider,string,object[]) emitted at 0x1be4028 to 0x1be4051 (code length 41) [client.exe]
+converting method System.Diagnostics.StackTrace:.ctor (System.Exception,int,bool,bool)
+Method System.Diagnostics.StackTrace:.ctor (System.Exception,int,bool,bool) emitted at 0x1be4058 to 0x1be4295 (code length 573) [client.exe]
+converting method (wrapper managed-to-native) System.Diagnostics.StackTrace:get_trace (System.Exception,int,bool)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.Diagnostics.StackTrace:get_trace (System.Exception,int,bool) emitted at 0x1be42c8 to 0x1be4346 (code length 126) [client.exe]
+converting method System.Exception:AddFrames (System.Text.StringBuilder,string,string,System.Diagnostics.StackTrace)
+Method System.Exception:AddFrames (System.Text.StringBuilder,string,string,System.Diagnostics.StackTrace) emitted at 0x1be4348 to 0x1be4558 (code length 528) [client.exe]
+converting method System.Diagnostics.StackTrace:get_FrameCount ()
+Method System.Diagnostics.StackTrace:get_FrameCount () emitted at 0x1be4580 to 0x1be45a6 (code length 38) [client.exe]
+converting method System.Diagnostics.StackTrace:GetFrame (int)
+Method System.Diagnostics.StackTrace:GetFrame (int) emitted at 0x1be45a8 to 0x1be45f9 (code length 81) [client.exe]
+converting method System.Diagnostics.StackFrame:GetMethod ()
+Method System.Diagnostics.StackFrame:GetMethod () emitted at 0x1be4600 to 0x1be460e (code length 14) [client.exe]
+converting method System.Exception:GetFullNameForStackTrace (System.Text.StringBuilder,System.Reflection.MethodBase)
+Method System.Exception:GetFullNameForStackTrace (System.Text.StringBuilder,System.Reflection.MethodBase) emitted at 0x1be4610 to 0x1be4923 (code length 787) [client.exe]
+converting method System.Reflection.MonoMethod:get_Name ()
+Method System.Reflection.MonoMethod:get_Name () emitted at 0x1be4930 to 0x1be4959 (code length 41) [client.exe]
+converting method (wrapper managed-to-native) System.Reflection.MonoMethod:get_name (System.Reflection.MethodBase)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Reflection.MonoMethod:get_name (System.Reflection.MethodBase) emitted at 0x1be4968 to 0x1be49de (code length 118) [client.exe]
+converting method System.Type:get_IsClass ()
+Method System.Type:get_IsClass () emitted at 0x1be49e0 to 0x1be4a20 (code length 64) [client.exe]
+converting method System.Type:get_IsValueType ()
+Method System.Type:get_IsValueType () emitted at 0x1be4a20 to 0x1be4a3f (code length 31) [client.exe]
+converting method System.Type:IsValueTypeImpl ()
+Method System.Type:IsValueTypeImpl () emitted at 0x1be4a40 to 0x1be4a7e (code length 62) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:get_Namespace (System.MonoType)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoType:get_Namespace (System.MonoType) emitted at 0x1be4a80 to 0x1be4b14 (code length 148) [client.exe]
+converting method (wrapper managed-to-native) System.MonoType:get_Name (System.MonoType)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.MonoType:get_Name (System.MonoType) emitted at 0x1be4b18 to 0x1be4bac (code length 148) [client.exe]
+converting method System.Reflection.ParameterInfo:get_Name ()
+Method System.Reflection.ParameterInfo:get_Name () emitted at 0x1be4bb0 to 0x1be4bbe (code length 14) [client.exe]
+converting method System.Diagnostics.StackFrame:GetILOffset ()
+Method System.Diagnostics.StackFrame:GetILOffset () emitted at 0x1be4bc0 to 0x1be4bce (code length 14) [client.exe]
+converting method int:ToString (string,System.IFormatProvider)
+Method int:ToString (string,System.IFormatProvider) emitted at 0x1be4be8 to 0x1be4c09 (code length 33) [client.exe]
+converting method System.NumberFormatter:NumberToString (string,int,System.IFormatProvider)
+Method System.NumberFormatter:NumberToString (string,int,System.IFormatProvider) emitted at 0x1be4c20 to 0x1be4c77 (code length 87) [client.exe]
+converting method System.NumberFormatter:ParsePrecision (string)
+Method System.NumberFormatter:ParsePrecision (string) emitted at 0x1be4c78 to 0x1be4cf2 (code length 122) [client.exe]
+converting method System.Diagnostics.StackFrame:GetSecureFileName ()
+Method System.Diagnostics.StackFrame:GetSecureFileName () emitted at 0x1be4cf8 to 0x1be4d5b (code length 99) [client.exe]
+converting method System.Diagnostics.StackFrame:GetFileLineNumber ()
+Method System.Diagnostics.StackFrame:GetFileLineNumber () emitted at 0x1be4d60 to 0x1be4d6e (code length 14) [client.exe]
+converting method System.Text.StringBuilder:AppendFormat (string,object,object)
+Method System.Text.StringBuilder:AppendFormat (string,object,object) emitted at 0x1be4d70 to 0x1be4dd5 (code length 101) [client.exe]
+converting method System.NumberFormatter:FormatDecimal (int,System.Globalization.NumberFormatInfo)
+Method System.NumberFormatter:FormatDecimal (int,System.Globalization.NumberFormatInfo) emitted at 0x1be4dd8 to 0x1be4e59 (code length 129) [client.exe]
+converting method Ice.LoggerI:error (string)
+Method Ice.LoggerI:error (string) emitted at 0x1b77390 to 0x1b77546 (code length 438) [client.exe]
+converting method string:CharCo!! 31/03/2014 11:35:47:240 client.exe: error: unknown exception:
+ System.NullReferenceException: Object reference not set to an instance of an object
+ at Client+App.run (System.String[] args) [0x00000] in <filename unknown>:0
+ at Ice.Application.doMain (System.String[] args, Ice.InitializationData initData) [0x00000] in <filename unknown>:0
+pyReverse (string,int,string,int,int)
+Method string:CharCopyReverse (string,int,string,int,int) emitted at 0x1be4e68 to 0x1be4e9d (code length 53) [client.exe]
+converting method string:CharCopyReverse (char*,char*,int)
+Method string:CharCopyReverse (char*,char*,int) emitted at 0x1be4eb0 to 0x1be4eec (code length 60) [client.exe]
+converting method Ice.ConsoleLoggerI:write (string)
+Method Ice.ConsoleLoggerI:write (string) emitted at 0x1be4ef0 to 0x1be4f0d (code length 29) [client.exe]
+converting method Ice.Application:ignoreInterrupt ()
+Method Ice.Application:ignoreInterrupt () emitted at 0x1be4f10 to 0x1be4fc8 (code length 184) [client.exe]
+converting method System.MulticastDelegate:Equals (object)
+Method System.MulticastDelegate:Equals (object) emitted at 0x1b77548 to 0x1b775ed (code length 165) [client.exe]
+converting method System.Delegate:Equals (object)
+Method System.Delegate:Equals (object) emitted at 0x1b775f0 to 0x1b7763f (code length 79) [client.exe]
+converting method System.Delegate:Compare (System.Delegate)
+Method System.Delegate:Compare (System.Delegate) emitted at 0x1b77640 to 0x1b776ea (code length 170) [client.exe]
+converting method Ice.CommunicatorI:destroy ()
+Method Ice.CommunicatorI:destroy () emitted at 0x1be4fe0 to 0x1be4ffd (code length 29) [client.exe]
+converting method IceInternal.Instance:destroy ()
+Method IceInternal.Instance:destroy () emitted at 0x1b77720 to 0x1b77be9 (code length 1225) [client.exe]
+converting method IceInternal.ObjectAdapterFactory:shutdown ()
+Method IceInternal.ObjectAdapterFactory:shutdown () emitted at 0x1b77cb8 to 0x1b77e00 (code length 328) [client.exe]
+converting gshared method System.Collections.Generic.List`1<Ice.ObjectAdapterI>:.ctor (System.Collections.Generic.IEnumerable`1<Ice.ObjectAdapterI>)
+Method System.Collections.Generic.List`1:.ctor (System.Collections.Generic.IEnumerable`1<T>) emitted at 0x1b77e28 to 0x1b77fd0 (code length 424) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:destroy ()
+Method IceInternal.OutgoingConnectionFactory:destroy () emitted at 0x1bf6000 to 0x1bf61ca (code length 458) [client.exe]
+converting method IceInternal.ObjectAdapterFactory:destroy ()
+Method IceInternal.ObjectAdapterFactory:destroy () emitted at 0x1bf61f0 to 0x1bf6352 (code length 354) [client.exe]
+converting method IceInternal.ObjectAdapterFactory:waitForShutdown ()
+Method IceInternal.ObjectAdapterFactory:waitForShutdown () emitted at 0x1bf6370 to 0x1bf6498 (code length 296) [client.exe]
+converting method IceInternal.OutgoingConnectionFactory:waitUntilFinished ()
+Method IceInternal.OutgoingConnectionFactory:waitUntilFinished () emitted at 0x1bf6498 to 0x1bf68ab (code length 1043) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<IceInternal.Connector, System.Collections.Generic.ICollection`1<Ice.ConnectionI>>:.ctor (System.Collections.Generic.IDictionary`2<IceInternal.Connector, System.Collections.Generic.ICollection`1<Ice.ConnectionI>>)
+Method System.Collections.Generic.Dictionary`2:.ctor (System.Collections.Generic.IDictionary`2<TKey, TValue>) emitted at 0x1bf68d0 to 0x1bf68ed (code length 29) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<IceInternal.Connector, System.Collections.Generic.ICollection`1<Ice.ConnectionI>>:.ctor (System.Collections.Generic.IDictionary`2<IceInternal.Connector, System.Collections.Generic.ICollection`1<Ice.ConnectionI>>,System.Collections.Generic.IEqualityComparer`1<IceInternal.Connector>)
+Method System.Collections.Generic.Dictionary`2:.ctor (System.Collections.Generic.IDictionary`2<TKey, TValue>,System.Collections.Generic.IEqualityComparer`1<TKey>) emitted at 0x1bf6900 to 0x1bf6abc (code length 444) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<IceInternal.Connector, System.Collections.Generic.ICollection`1<Ice.ConnectionI>>:get_Count ()
+Method System.Collections.Generic.Dictionary`2:get_Count () emitted at 0x1bf6b10 to 0x1bf6b1e (code length 14) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2<IceInternal.Connector, System.Collections.Generic.ICollection`1<Ice.ConnectionI>>:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator ()
+Method System.Collections.Generic.Dictionary`2:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator () emitted at 0x1bf6b50 to 0x1bf6c5d (code length 269) [client.exe]
+converting gshared method System.Collections.Generic.Dictionary`2/Enumerator<IceInternal.Connector, System.Collections.Generic.ICollection`1<Ice.ConnectionI>>:Dispose ()
+Method System.Collections.Generic.Dictionary`2/Enumerator:Dispose () emitted at 0x1bf6c80 to 0x1bf6c94 (code length 20) [client.exe]
+converting method IceInternal.RetryQueue:destroy ()
+Method IceInternal.RetryQueue:destroy () emitted at 0x1bf6cb8 to 0x1bf6dde (code length 294) [client.exe]
+converting method IceInternal.ConnectionMonitor:destroy ()
+Method IceInternal.ConnectionMonitor:destroy () emitted at 0x1bf6e20 to 0x1bf6e91 (code length 113) [client.exe]
+converting method IceInternal.ThreadPool:destroy ()
+Method IceInternal.ThreadPool:destroy () emitted at 0x1bf6e98 to 0x1bf6f16 (code length 126) [client.exe]
+converting method IceInternal.EndpointHostResolver:destroy ()
+Method IceInternal.EndpointHostResolver:destroy () emitted at 0x1bf6f18 to 0x1bf6f96 (code length 126) [client.exe]
+converting method IceInternal.Timer:destroy ()
+Method IceInternal.Timer:destroy () emitted at 0x1bf6f98 to 0x1bf7059 (code length 193) [client.exe]
+converting gshared method System.Collections.Generic.SortedDictionary`2<IceInternal.Timer/Token, object>:Clear ()
+Method System.Collections.Generic.SortedDictionary`2:Clear () emitted at 0x1bf7090 to 0x1bf70ad (code length 29) [client.exe]
+converting method System.Collections.Generic.RBTree:Clear ()
+Method System.Collections.Generic.RBTree:Clear () emitted at 0x1bf70c0 to 0x1bf70d9 (code length 25) [client.exe]
+converting method System.Threading.Thread:Join ()
+Method System.Threading.Thread:Join () emitted at 0x1bf70e0 to 0x1bf7125 (code length 69) [client.exe]
+converting method (wrapper managed-to-native) System.Threading.Thread:Join_internal (System.Threading.InternalThread,int,intptr)
+Restoring : local R12 <-
+Method (wrapper managed-to-native) System.Threading.Thread:Join_internal (System.Threading.InternalThread,int,intptr) emitted at 0x1bf7138 to 0x1bf71b6 (code length 126) [client.exe]
+converting method IceInternal.ObjectFactoryManager:destroy ()
+Method IceInternal.ObjectFactoryManager:destroy () emitted at 0x1bf71b8 to 0x1bf72f5 (code length 317) [client.exe]
+converting method IceInternal.RouterManager:destroy ()
+Method IceInternal.RouterManager:destroy () emitted at 0x1bf7320 to 0x1bf7429 (code length 265) [client.exe]
+converting method IceInternal.LocatorManager:destroy ()
+Method IceInternal.LocatorManager:destroy () emitted at 0x1bf7468 to 0x1bf7582 (code length 282) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<IceInternal.LocatorManager/LocatorKey, IceInternal.LocatorTable>:Clear ()
+Method System.Collections.Generic.Dictionary`2<IceInternal.LocatorManager/LocatorKey, IceInternal.LocatorTable>:Clear () emitted at 0x1bf75d0 to 0x1bf7661 (code length 145) [client.exe]
+converting method IceInternal.EndpointFactoryManager:destroy ()
+Method IceInternal.EndpointFactoryManager:destroy () emitted at 0x1bf7668 to 0x1bf7727 (code length 191) [client.exe]
+converting method IceInternal.TcpEndpointFactory:destroy ()
+Method IceInternal.TcpEndpointFactory:destroy () emitted at 0x1bf7738 to 0x1bf774a (code length 18) [client.exe]
+converting method IceInternal.UdpEndpointFactory:destroy ()
+Method IceInternal.UdpEndpointFactory:destroy () emitted at 0x1bf7750 to 0x1bf7762 (code length 18) [client.exe]
+converting method Ice.PluginManagerI:destroy ()
+Method Ice.PluginManagerI:destroy () emitted at 0x1bf7780 to 0x1bf7a4f (code length 719) [client.exe]
+converting method System.Collections.ArrayList:Clone ()
+Method System.Collections.ArrayList:Clone () emitted at 0x1bf7a50 to 0x1bf7a94 (code length 68) [client.exe]
+converting method System.Collections.ArrayList:.ctor (object[],int,int)
+Method System.Collections.ArrayList:.ctor (object[],int,int) emitted at 0x1bf7aa0 to 0x1bf7b52 (code length 178) [client.exe]
+converting method System.Collections.ArrayList:Reverse ()
+Method System.Collections.ArrayList:Reverse () emitted at 0x1bf7b58 to 0x1bf7b87 (code length 47) [client.exe]
+converting method System.Array:Reverse (System.Array,int,int)
+Restoring : local R22 <-
+Restoring : local R25 <-
+Method System.Array:Reverse (System.Array,int,int) emitted at 0x1bf7b98 to 0x1bf8088 (code length 1264) [client.exe]
+converting method IceDiscovery.PluginI:destroy ()
+Method IceDiscovery.PluginI:destroy () emitted at 0x1bf8108 to 0x1bf8127 (code length 31) [client.exe]
+converting method Ice.ObjectAdapterI:deactivate ()
+Method Ice.ObjectAdapterI:deactivate () emitted at 0x1bf8128 to 0x1bf839e (code length 630) [client.exe]
+converting method IceInternal.IncomingConnectionFactory:destroy ()
+Method IceInternal.IncomingConnectionFactory:destroy () emitted at 0x1bf8400 to 0x1bf8456 (code length 86) [client.exe]
+converting method Ice.ConnectionI:destroy (int)
+Method Ice.ConnectionI:destroy (int) emitted at 0x1bf8458 to 0x1bf8536 (code length 222) [client.exe]
+converting method Ice.ObjectAdapterDeactivatedException:.ctor ()
+Method Ice.ObjectAdapterDeactivatedException:.ctor () emitted at 0x1bf8538 to 0x1bf854a (code length 18) [client.exe]
+converting method Ice.ConnectionI:setState (int,Ice.LocalException)
+Method Ice.ConnectionI:setState (int,Ice.LocalException) emitted at 0x1bf8550 to 0x1bf86fa (code length 426) [client.exe]
+converting method IceInternal.ThreadPool:finish (IceInternal.EventHandler)
+Method IceInternal.ThreadPool:finish (IceInternal.EventHandler) emitted at 0x1bf8700 to 0x1bf8884 (code length 388) [client.exe]
+converting method IceInternal.UdpTransceiver:close ()
+Method IceInternal.UdpTransceiver:close () emitted at 0x1bf8888 to 0x1bf8952 (code length 202) [client.exe]
+converting method (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr)
+converting method IceInternal.TcpAcceptor:close ()
+Method (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr) emitted at 0x1bf8958 to 0x1bf8a02 (code length 170) [client.exe]
+Method IceInternal.TcpAcceptor:close () emitted at 0x1bf8a08 to 0x1bf8a9f (code length 151) [client.exe]
+converting method System.Net.Sockets.Socket/Worker:DispatcherCB (System.Net.Sockets.Socket/SocketAsyncResult)
+converting method IceInternal.OutgoingConnectionFactory:removeAdapter (Ice.ObjectAdapter)
+Method System.Net.Sockets.Socket/Worker:DispatcherCB (System.Net.Sockets.Socket/SocketAsyncResult) emitted at 0x1bf8aa0 to 0x1bf8c12 (code length 370) [client.exe]
+converting method System.Net.Sockets.Socket/Worker:ReceiveFrom ()
+Method System.Net.Sockets.Socket/Worker:ReceiveFrom () emitted at 0x1bf8c78 to 0x1bf8d60 (code length 232) [client.exe]
+converting method System.Net.Sockets.Socket:ReceiveFrom_nochecks (byte[],int,int,System.Net.Sockets.SocketFlags,System.Net.EndPoint&)
+Method System.Net.Sockets.Socket:ReceiveFrom_nochecks (byte[],int,int,System.Net.Sockets.SocketFlags,System.Net.EndPoint&) emitted at 0x1bf8d88 to 0x1bf8db9 (code length 49) [client.exe]
+converting method System.Net.Sockets.Socket:ReceiveFrom_nochecks_exc (byte[],int,int,System.Net.Sockets.SocketFlags,System.Net.EndPoint&,bool,int&)
+Method IceInternal.OutgoingConnectionFactory:removeAdapter (Ice.ObjectAdapter) emitted at 0x1bf8dc8 to 0x1bf8f83 (code length 443) [client.exe]
+converting method Ice.ConnectionI:getAdapter ()
+Method System.Net.Sockets.Socket:ReceiveFrom_nochecks_exc (byte[],int,int,System.Net.Sockets.SocketFlags,System.Net.EndPoint&,bool,int&) emitted at 0x1bf8fe8 to 0x1bf918c (code length 420) [client.exe]
+Method Ice.ConnectionI:getAdapter () emitted at 0x1bf91a8 to 0x1bf91f9 (code length 81) [client.exe]
+converting method (wrapper managed-to-native) System.Net.Sockets.Socket:RecvFrom_internal (intptr,byte[],int,int,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&,int&)
+converting method Ice.CommunicatorDestroyedException:.ctor ()
+Restoring : local R16 <-
+Method Ice.CommunicatorDestroyedException:.ctor () emitted at 0x1bf9220 to 0x1bf9232 (code length 18) [client.exe]
+Method (wrapper managed-to-native) System.Net.Sockets.Socket:RecvFrom_internal (intptr,byte[],int,int,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&,int&) emitted at 0x1bf9238 to 0x1bf92be (code length 134) [client.exe]
+converting method System.Net.Sockets.Socket:Linger (intptr)
+converting method System.Net.Sockets.SocketException:.ctor (int)
+Method System.Net.Sockets.SocketException:.ctor (int) emitted at 0x1bf92c0 to 0x1bf92d9 (code length 25) [client.exe]
+converting method System.ComponentModel.Win32Exception:.ctor (int)
+Method System.ComponentModel.Win32Exception:.ctor (int) emitted at 0x1bf92e8 to 0x1bf931a (code length 50) [client.exe]
+converting method (wrapper managed-to-native) System.ComponentModel.Win32Exception:W32ErrorMessage (int)
+Method System.Net.Sockets.Socket:Linger (intptr) emitted at 0x1bf9338 to 0x1bf942d (code length 245) [client.exe]
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.ComponentModel.Win32Exception:W32ErrorMessage (int) emitted at 0x1bf9458 to 0x1bf94ce (code length 118) [client.exe]
+converting method System.Runtime.InteropServices.ExternalException:.ctor (string)
+converting method Ice.ObjectAdapterI:waitForDeactivate ()
+Method System.Runtime.InteropServices.ExternalException:.ctor (string) emitted at 0x1bf94d0 to 0x1bf94f3 (code length 35) [client.exe]
+converting method System.Net.Sockets.Socket/SocketAsyncResult:Complete (System.Exception)
+Method System.Net.Sockets.Socket/SocketAsyncResult:Complete (System.Exception) emitted at 0x1bf94f8 to 0x1bf9539 (code length 65) [client.exe]
+converting method System.ObjectDisposedException:.ctor (string)
+Method Ice.ObjectAdapterI:waitForDeactivate () emitted at 0x1bf9540 to 0x1bf962e (code length 238) [client.exe]
+Method System.ObjectDisposedException:.ctor (string) emitted at 0x1bf9630 to 0x1bf96a4 (code length 116) [client.exe]
+converting method System.InvalidOperationException:.ctor (string)
+Method System.InvalidOperationException:.ctor (string) emitted at 0x1bf96c8 to 0x1bf96eb (code length 35) [client.exe]
+converting method IceInternal.IncomingConnectionFactory:waitUntilFinished ()
+converting method System.Collections.Queue:Dequeue ()
+Method System.Collections.Queue:Dequeue () emitted at 0x1bf96f0 to 0x1bf97b3 (code length 195) [client.exe]
+Method IceInternal.IncomingConnectionFactory:waitUntilFinished () emitted at 0x1bf97b8 to 0x1bf99b7 (code length 511) [client.exe]
+converting gshared method System.Collections.Generic.HashSet`1<Ice.ConnectionI>:get_Count ()
+converting method System.Net.Sockets.Socket/Worker:Accept ()
+converting method IceInternal.UdpTransceiver:readCompleted (System.IAsyncResult)
+Method IceInternal.UdpTransceiver:readCompleted (System.IAsyncResult) emitted at 0x1bf99c8 to 0x1bf9a23 (code length 91) [client.exe]
+Method System.Collections.Generic.HashSet`1:get_Count () emitted at 0x1bf9a28 to 0x1bf9a36 (code length 14) [client.exe]
+converting method System.Net.Sockets.Socket/SocketAsyncResult:get_AsyncState ()
+Method System.Net.Sockets.Socket/SocketAsyncResult:get_AsyncState () emitted at 0x1bf9a38 to 0x1bf9a46 (code length 14) [client.exe]
+converting method IceInternal.ThreadPool:asyncReadCallback (object)
+converting gshared method System.Collections.Generic.HashSet`1<Ice.ConnectionI>:CopyTo (Ice.ConnectionI[],int)
+Method IceInternal.ThreadPool:asyncReadCallback (object) emitted at 0x1bf9a48 to 0x1bf9b00 (code length 184) [client.exe]
+converting method IceInternal.UdpTransceiver:finishRead (IceInternal.Buffer)
+Method System.Net.Sockets.Socket/Worker:Accept () emitted at 0x1bf9b00 to 0x1bf9c28 (code length 296) [client.exe]
+Method System.Collections.Generic.HashSet`1:CopyTo (T[],int) emitted at 0x1bf9c68 to 0x1bf9c89 (code length 33) [client.exe]
+converting method System.Net.Sockets.Socket:Accept ()
+converting gshared method System.Collections.Generic.HashSet`1<Ice.ConnectionI>:CopyTo (Ice.ConnectionI[],int,int)
+Method System.Collections.Generic.HashSet`1:CopyTo (T[],int,int) emitted at 0x1bf9c98 to 0x1bf9e1b (code length 387) [client.exe]
+converting method Ice.ConnectionI:waitUntilFinished ()
+Method System.Net.Sockets.Socket:Accept () emitted at 0x1bf9e28 to 0x1bf9ff8 (code length 464) [client.exe]
+Method Ice.ConnectionI:waitUntilFinished () emitted at 0x1bfa028 to 0x1bfa0ed (code length 197) [client.exe]
+converting method System.Net.Sockets.Socket/Worker:Receive ()
+Method System.Net.Sockets.Socket/Worker:Receive () emitted at 0x1bfa0f0 to 0x1bfa131 (code length 65) [client.exe]
+Method IceInternal.UdpTransceiver:finishRead (IceInternal.Buffer) emitted at 0x1bfa140 to 0x1bfa6ef (code length 1455) [client.exe]
+converting method IceInternal.TcpAcceptor/<startAccept>c__AnonStorey0:<>m__0 (System.IAsyncResult)
+converting method IceInternal.ThreadPool/<finish>c__AnonStorey1:<>m__0 ()
+Method IceInternal.TcpAcceptor/<startAccept>c__AnonStorey0:<>m__0 (System.IAsyncResult) emitted at 0x1bfa718 to 0x1bfa773 (code length 91) [client.exe]
+Method IceInternal.ThreadPool/<finish>c__AnonStorey1:<>m__0 () emitted at 0x1bfa778 to 0x1bfa7cb (code length 83) [client.exe]
+converting method IceInternal.IncomingConnectionFactory:finishAsync (int)
+converting method Ice.ConnectionI:finished (IceInternal.ThreadPoolCurrent&)
+Method Ice.ConnectionI:finished (IceInternal.ThreadPoolCurrent&) emitted at 0x1bfa7d0 to 0x1bfa93c (code length 364) [client.exe]
+converting method Ice.ConnectionI:finish ()
+Method IceInternal.IncomingConnectionFactory:finishAsync (int) emitted at 0x1bfa948 to 0x1bfacd0 (code length 904) [client.exe]
+converting method IceInternal.TcpAcceptor:finishAccept ()
+Method IceInternal.TcpAcceptor:finishAccept () emitted at 0x1bfacd0 to 0x1bfad98 (code length 200) [client.exe]
+Method Ice.ConnectionI:finish () emitted at 0x1bfada8 to 0x1bfb2b3 (code length 1291) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:get_Values ()
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:get_Values () emitted at 0x1bfb398 to 0x1bfb3c8 (code length 48) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/ValueCollection<int, IceInternal.Outgoing>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>)
+Method System.Collections.Generic.Dictionary`2/ValueCollection<int, IceInternal.Outgoing>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>) emitted at 0x1bfb3d8 to 0x1bfb440 (code length 104) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/ValueCollection<int, IceInternal.Outgoing>:GetEnumerator ()
+Method System.Collections.Generic.Dictionary`2/ValueCollection<int, IceInternal.Outgoing>:GetEnumerator () emitted at 0x1bfb440 to 0x1bfb505 (code length 197) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator<int, IceInternal.Outgoing>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>)
+Method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator<int, IceInternal.Outgoing>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>) emitted at 0x1bfb518 to 0x1bfb59d (code length 133) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:GetEnumerator ()
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:GetEnumerator () emitted at 0x1bfb5b0 to 0x1bfb671 (code length 193) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.Outgoing>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>)
+Method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.Outgoing>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>) emitted at 0x1bfb680 to 0x1bfb6d7 (code length 87) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator<int, IceInternal.Outgoing>:MoveNext ()
+Method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator<int, IceInternal.Outgoing>:MoveNext () emitted at 0x1bfb6d8 to 0x1bfb6f4 (code length 28) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.Outgoing>:MoveNext ()
+Method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.Outgoing>:MoveNext () emitted at 0x1bfb700 to 0x1bfb842 (code length 322) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.Outgoing>:VerifyState ()
+Method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.Outgoing>:VerifyState () emitted at 0x1bfb850 to 0x1bfb8bc (code length 108) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:Clear ()
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.Outgoing>:Clear () emitted at 0x1bfb8c0 to 0x1bfb951 (code length 145) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:get_Values ()
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:get_Values () emitted at 0x1bfb958 to 0x1bfb988 (code length 48) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/ValueCollection<int, IceInternal.OutgoingAsync>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>)
+Method System.Collections.Generic.Dictionary`2/ValueCollection<int, IceInternal.OutgoingAsync>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>) emitted at 0x1bfb998 to 0x1bfba00 (code length 104) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/ValueCollection<int, IceInternal.OutgoingAsync>:GetEnumerator ()
+Method System.Collections.Generic.Dictionary`2/ValueCollection<int, IceInternal.OutgoingAsync>:GetEnumerator () emitted at 0x1bfba00 to 0x1bfbac5 (code length 197) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator<int, IceInternal.OutgoingAsync>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>)
+Method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator<int, IceInternal.OutgoingAsync>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>) emitted at 0x1bfbad8 to 0x1bfbb5d (code length 133) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:GetEnumerator ()
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:GetEnumerator () emitted at 0x1bfbb70 to 0x1bfbc31 (code length 193) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.OutgoingAsync>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>)
+Method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.OutgoingAsync>:.ctor (System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>) emitted at 0x1bfbc40 to 0x1bfbc97 (code length 87) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator<int, IceInternal.OutgoingAsync>:MoveNext ()
+Method System.Collections.Generic.Dictionary`2/ValueCollection/Enumerator<int, IceInternal.OutgoingAsync>:MoveNext () emitted at 0x1bfbc98 to 0x1bfbcb4 (code length 28) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.OutgoingAsync>:MoveNext ()
+Method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.OutgoingAsync>:MoveNext () emitted at 0x1bfbcc0 to 0x1bfbe02 (code length 322) [client.exe]
+converting method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.OutgoingAsync>:VerifyState ()
+Method System.Collections.Generic.Dictionary`2/Enumerator<int, IceInternal.OutgoingAsync>:VerifyState () emitted at 0x1bfbe10 to 0x1bfbe7c (code length 108) [client.exe]
+converting method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:Clear ()
+Method System.Collections.Generic.Dictionary`2<int, IceInternal.OutgoingAsync>:Clear () emitted at 0x1bfbe80 to 0x1bfbf11 (code length 145) [client.exe]
+converting method IceInternal.ConnectionReaper:add (Ice.ConnectionI,Ice.Instrumentation.Observer)
+Method IceInternal.ConnectionReaper:add (Ice.ConnectionI,Ice.Instrumentation.Observer) emitted at 0x1bfbf18 to 0x1bfbf86 (code length 110) [client.exe]
+converting method IceInternal.IncomingConnectionFactory:finished (IceInternal.ThreadPoolCurrent&)
+converting gshared method System.Collections.Generic.HashSet`1<Ice.ConnectionI>:Clear ()
+Method IceInternal.IncomingConnectionFactory:finished (IceInternal.ThreadPoolCurrent&) emitted at 0x1bfbf88 to 0x1bfbffe (code length 118) [client.exe]
+Method System.Collections.Generic.HashSet`1:Clear () emitted at 0x1bfc000 to 0x1bfc08f (code length 143) [client.exe]
+converting method Ice.ObjectAdapterI:destroy ()
+Method Ice.ObjectAdapterI:destroy () emitted at 0x1bfc090 to 0x1bfc26c (code length 476) [client.exe]
+converting method IceInternal.ServantManager:destroy ()
+Method IceInternal.ServantManager:destroy () emitted at 0x1bfc2a8 to 0x1bfc648 (code length 928) [client.exe]
+converting method IceInternal.ObjectAdapterFactory:removeObjectAdapter (Ice.ObjectAdapterI)
+Method IceInternal.ObjectAdapterFactory:removeObjectAdapter (Ice.ObjectAdapterI) emitted at 0x1bfc710 to 0x1bfc7bd (code length 173) [client.exe]
+converting gshared method System.Collections.Generic.KeyValuePair`2<IceInternal.Connector, System.Collections.Generic.ICollection`1<Ice.ConnectionI>>:get_Key ()
+Method System.Collections.Generic.KeyValuePair`2:get_Key () emitted at 0x1bfc7f8 to 0x1bfc808 (code length 16) [client.exe]
+converting gshared method System.Collections.Generic.KeyValuePair`2<IceInternal.Connector, System.Collections.Generic.ICollection`1<Ice.ConnectionI>>:get_Value ()
+Method System.Collections.Generic.KeyValuePair`2:get_Value () emitted at 0x1bfc808 to 0x1bfc819 (code length 17) [client.exe]
+converting method IceInternal.AsyncIOThread:destroy ()
+Method IceInternal.AsyncIOThread:destroy () emitted at 0x1bfc820 to 0x1bfc89e (code length 126) [client.exe]
+converting method IceInternal.ThreadPool:joinWithAllThreads ()
+Method IceInternal.ThreadPool:joinWithAllThreads () emitted at 0x1bfc8a0 to 0x1bfc94b (code length 171) [client.exe]
+converting method IceInternal.ThreadPool/WorkerThread:join ()
+Method IceInternal.ThreadPool/WorkerThread:join () emitted at 0x1bfc970 to 0x1bfc98d (code length 29) [client.exe]
+converting method IceInternal.AsyncIOThread:joinWithThread ()
+Method IceInternal.AsyncIOThread:joinWithThread () emitted at 0x1bfc990 to 0x1bfc9b9 (code length 41) [client.exe]
+converting method IceInternal.AsyncIOThread/HelperThread:Join ()
+Method IceInternal.AsyncIOThread/HelperThread:Join () emitted at 0x1bfc9c8 to 0x1bfc9e5 (code length 29) [client.exe]
+converting method IceInternal.EndpointHostResolver:joinWithThread ()
+Method IceInternal.EndpointHostResolver:joinWithThread () emitted at 0x1bfc9e8 to 0x1bfca11 (code length 41) [client.exe]
+converting method IceInternal.EndpointHostResolver/HelperThread:Join ()
+Method IceInternal.EndpointHostResolver/HelperThread:Join () emitted at 0x1bfca20 to 0x1bfca3d (code length 29) [client.exe]
+converting method Ice.Application/MonoSignals:destroy ()
+Method Ice.Application/MonoSignals:destroy () emitted at 0x1bfca40 to 0x1bfcacb (code length 139) [client.exe]
+converting method (wrapper managed-to-native) object:__icall_wrapper_mono_free_lparray (object,intptr)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) object:__icall_wrapper_mono_free_lparray (object,intptr) emitted at 0x1bfcad0 to 0x1bfcb3e (code length 110) [client.exe]
+converting method Ice.Application:signalHandler (int)
+Method Ice.Application:signalHandler (int) emitted at 0x1bfcb40 to 0x1bfcbd7 (code length 151) [client.exe]
+converting method (wrapper runtime-invoke) object:runtime_invoke_virtual_void__this__ (object,intptr,intptr,intptr)
+Method (wrapper runtime-invoke) object:runtime_invoke_virtual_void__this__ (object,intptr,intptr,intptr) emitted at 0x1bfcbd8 to 0x1bfcc7e (code length 166) [client.exe]
+converting method System.Threading.Thread:Finalize ()
+Method System.Threading.Thread:Finalize () emitted at 0x1bfcc80 to 0x1bfccad (code length 45) [client.exe]
+converting method System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize ()
+Method System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize () emitted at 0x1bfccc0 to 0x1bfcce2 (code length 34) [client.exe]
+converting method System.Threading.InternalThread:Finalize ()
+Method System.Threading.InternalThread:Finalize () emitted at 0x1bfcce8 to 0x1bfcd29 (code length 65) [client.exe]
+converting method (wrapper managed-to-native) System.Threading.InternalThread:Thread_free_internal (System.Threading.InternalThread,intptr)
+Restoring : local R10 <-
+Method (wrapper managed-to-native) System.Threading.InternalThread:Thread_free_internal (System.Threading.InternalThread,intptr) emitted at 0x1bfcd38 to 0x1bfcdcc (code length 148) [client.exe]
+converting method System.IO.FileStream:Finalize ()
+Method System.IO.FileStream:Finalize () emitted at 0x1bfcdd0 to 0x1bfce03 (code length 51) [client.exe]
+converting method System.Security.Cryptography.RNGCryptoServiceProvider:Finalize ()
+Method System.Security.Cryptography.RNGCryptoServiceProvider:Finalize () emitted at 0x1bfce08 to 0x1bfce65 (code length 93) [client.exe]
+converting method (wrapper managed-to-native) System.Security.Cryptography.RNGCryptoServiceProvider:RngClose (intptr)
+Restoring : local R9 <-
+Method (wrapper managed-to-native) System.Security.Cryptography.RNGCryptoServiceProvider:RngClose (intptr) emitted at 0x1bfce78 to 0x1bfcee6 (code length 110) [client.exe]
+converting method System.Runtime.InteropServices.SafeHandle:Finalize ()
+Method System.Runtime.InteropServices.SafeHandle:Finalize () emitted at 0x1bfcee8 to 0x1bfcf51 (code length 105) [client.exe]
+converting method Microsoft.Win32.RegistryKey:Finalize ()
+Method Microsoft.Win32.RegistryKey:Finalize () emitted at 0x1bfcf58 to 0x1bfcf8b (code length 51) [client.exe]
+converting method Microsoft.Win32.RegistryKey:Close ()
+Method Microsoft.Win32.RegistryKey:Close () emitted at 0x1bfcf98 to 0x1bfcff2 (code length 90) [client.exe]
+converting method Microsoft.Win32.RegistryKey:Flush ()
+Method Microsoft.Win32.RegistryKey:Flush () emitted at 0x1bfd010 to 0x1bfd032 (code length 34) [client.exe]
+converting method Microsoft.Win32.UnixRegistryApi:Flush (Microsoft.Win32.RegistryKey)
+Method Microsoft.Win32.UnixRegistryApi:Flush (Microsoft.Win32.RegistryKey) emitted at 0x1bfd038 to 0x1bfd070 (code length 56) [client.exe]
+converting method Microsoft.Win32.KeyHandler:Lookup (Microsoft.Win32.RegistryKey,bool)
+Method Microsoft.Win32.KeyHandler:Lookup (Microsoft.Win32.RegistryKey,bool) emitted at 0x1bfd088 to 0x1bfd311 (code length 649) [client.exe]
+converting method Microsoft.Win32.KeyHandler:.cctor ()
+Method Microsoft.Win32.KeyHandler:.cctor () emitted at 0x1bfd3a0 to 0x1bfd44e (code length 174) [client.exe]
+converting method Microsoft.Win32.KeyHandler:CleanVolatileKeys ()
+Method Microsoft.Win32.KeyHandler:CleanVolatileKeys () emitted at 0x1bfd460 to 0x1bfd639 (code length 473) [client.exe]
+converting method Microsoft.Win32.KeyHandler:GetSystemBootTime ()
+Method Microsoft.Win32.KeyHandler:GetSystemBootTime () emitted at 0x1bfd670 to 0x1bfd849 (code length 473) [client.exe]
+converting method Microsoft.Win32.KeyHandler:get_UserStore ()
+Method Microsoft.Win32.KeyHandler:get_UserStore () emitted at 0x1bfd858 to 0x1bfd8b0 (code length 88) [client.exe]
+converting method System.Environment:GetFolderPath (System.Environment/SpecialFolder)
+Method System.Environment:GetFolderPath (System.Environment/SpecialFolder) emitted at 0x1bfd8b0 to 0x1bfd8c9 (code length 25) [client.exe]
+converting method System.Environment:GetFolderPath (System.Environment/SpecialFolder,System.Environment/SpecialFolderOption)
+Method System.Environment:GetFolderPath (System.Environment/SpecialFolder,System.Environment/SpecialFolderOption) emitted at 0x1bfd8d8 to 0x1bfd962 (code length 138) [client.exe]
+converting method System.Environment:UnixGetFolderPath (System.Environment/SpecialFolder, \ No newline at end of file
diff --git a/cs/demo/IceDiscovery/hello/config.client b/cs/demo/IceDiscovery/hello/config.client
new file mode 100644
index 00000000000..879b4c378c6
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/config.client
@@ -0,0 +1,58 @@
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Warn about connection exceptions
+#
+Ice.Warn.Connections=1
+
+#
+# Locator tracing
+#
+Ice.Trace.Locator=1
+
+#
+# Network Tracing
+#
+# 0 = no network tracing
+# 1 = trace connection establishment and closure
+# 2 = like 1, but more detailed
+# 3 = like 2, but also trace data transfer
+#
+#Ice.Trace.Network=1
+
+#
+# Protocol Tracing
+#
+# 0 = no protocol tracing
+# 1 = trace protocol messages
+#
+#Ice.Trace.Protocol=1
+
+#
+# Security Tracing
+#
+# 0 = no security tracing
+# 1 = trace messages
+#
+#IceSSL.Trace.Security=1
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
+IceSSL.DefaultDir=../../../../certs
+IceSSL.ImportCert.CurrentUser.Root=cacert.pem
+IceSSL.CertFile=c_rsa1024.pfx
+IceSSL.Password=password
+
+#
+# IceMX configuration.
+#
+#Ice.Admin.Endpoints=tcp -h localhost -p 10003
+Ice.Admin.InstanceName=client
+IceMX.Metrics.Debug.GroupBy=id
+IceMX.Metrics.ByParent.GroupBy=parent
+
diff --git a/cs/demo/IceDiscovery/hello/config.server b/cs/demo/IceDiscovery/hello/config.server
new file mode 100644
index 00000000000..72d439f5275
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/config.server
@@ -0,0 +1,65 @@
+#
+# The server creates one single object adapter with the name
+# "Hello". The following sets the endpoints and the adapter ID for
+# this adapter.
+#
+Hello.Endpoints=tcp -h localhost:udp -h localhost:ssl -h localhost
+Hello.AdapterId=HelloAdapter
+
+#
+# Warn about connection exceptions
+#
+Ice.Warn.Connections=1
+
+#
+# Locator tracing
+#
+Ice.Trace.Locator=0
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Network Tracing
+#
+# 0 = no network tracing
+# 1 = trace connection establishment and closure
+# 2 = like 1, but more detailed
+# 3 = like 2, but also trace data transfer
+#
+#Ice.Trace.Network=1
+
+#
+# Protocol Tracing
+#
+# 0 = no protocol tracing
+# 1 = trace protocol messages
+#
+#Ice.Trace.Protocol=1
+
+#
+# Security Tracing
+#
+# 0 = no security tracing
+# 1 = trace messages
+#
+#IceSSL.Trace.Security=1
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
+IceSSL.DefaultDir=../../../../certs
+IceSSL.ImportCert.CurrentUser.Root=cacert.pem
+IceSSL.CertFile=c_rsa1024.pfx
+IceSSL.Password=password
+
+#
+# IceMX configuration.
+#
+#Ice.Admin.Endpoints=tcp -h localhost -p 10003
+Ice.Admin.InstanceName=client
+IceMX.Metrics.Debug.GroupBy=id
+IceMX.Metrics.ByParent.GroupBy=parent
diff --git a/cs/demo/IceDiscovery/hello/expect.py b/cs/demo/IceDiscovery/hello/expect.py
new file mode 100755
index 00000000000..af25a3ce17c
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/expect.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+import sys, os
+
+path = [ ".", "..", "../..", "../../..", "../../../.." ]
+head = os.path.dirname(sys.argv[0])
+if len(head) > 0:
+ path = [os.path.join(head, p) for p in path]
+path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "demoscript")) ]
+if len(path) == 0:
+ raise RuntimeError("can't find toplevel directory!")
+sys.path.append(path[0])
+
+from demoscript import Util
+from demoscript.Ice import hello
+
+server = Util.spawn('server.exe --Ice.PrintAdapterReady --Ice.Warn.Connections=0')
+server.expect('.* ready')
+client = Util.spawn('client.exe --Ice.Warn.Connections=0')
+client.expect('.*==>')
+
+hello.run(client, server)
diff --git a/cs/demo/IceDiscovery/hello/generated/.gitignore b/cs/demo/IceDiscovery/hello/generated/.gitignore
new file mode 100644
index 00000000000..39af5887579
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/generated/.gitignore
@@ -0,0 +1 @@
+# Dummy file, so that git retains this otherwise empty directory.
diff --git a/cs/demo/IceDiscovery/hello/server.csproj b/cs/demo/IceDiscovery/hello/server.csproj
new file mode 100644
index 00000000000..595c4894c51
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/server.csproj
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+ <PropertyGroup>
+ <ProjectType>Local</ProjectType>
+ <ProductVersion>9.0.30729</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{0B41ADFF-7802-4A36-8374-C32DE33B0290}</ProjectGuid>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ApplicationIcon>
+ </ApplicationIcon>
+ <AssemblyKeyContainerName>
+ </AssemblyKeyContainerName>
+ <AssemblyName>server</AssemblyName>
+ <AssemblyOriginatorKeyFile>
+ </AssemblyOriginatorKeyFile>
+ <DefaultClientScript>JScript</DefaultClientScript>
+ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
+ <DefaultTargetSchema>IE50</DefaultTargetSchema>
+ <DelaySign>false</DelaySign>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>
+ </RootNamespace>
+ <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+ <StartupObject>
+ </StartupObject>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <UpgradeBackupLocation>
+ </UpgradeBackupLocation>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <OutputPath>.\</OutputPath>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <BaseAddress>285212672</BaseAddress>
+ <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+ <ConfigurationOverrideFile>
+ </ConfigurationOverrideFile>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <DocumentationFile>
+ </DocumentationFile>
+ <DebugSymbols>true</DebugSymbols>
+ <FileAlignment>4096</FileAlignment>
+ <NoStdLib>false</NoStdLib>
+ <NoWarn>
+ </NoWarn>
+ <Optimize>false</Optimize>
+ <RegisterForComInterop>false</RegisterForComInterop>
+ <RemoveIntegerChecks>false</RemoveIntegerChecks>
+ <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+ <WarningLevel>4</WarningLevel>
+ <DebugType>full</DebugType>
+ <ErrorReport>prompt</ErrorReport>
+ <UseVSHostingProcess>true</UseVSHostingProcess>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <OutputPath>.\</OutputPath>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <BaseAddress>285212672</BaseAddress>
+ <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+ <ConfigurationOverrideFile>
+ </ConfigurationOverrideFile>
+ <DefineConstants>TRACE</DefineConstants>
+ <DocumentationFile>
+ </DocumentationFile>
+ <DebugSymbols>false</DebugSymbols>
+ <FileAlignment>4096</FileAlignment>
+ <NoStdLib>false</NoStdLib>
+ <NoWarn>
+ </NoWarn>
+ <Optimize>true</Optimize>
+ <RegisterForComInterop>false</RegisterForComInterop>
+ <RemoveIntegerChecks>false</RemoveIntegerChecks>
+ <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+ <WarningLevel>4</WarningLevel>
+ <DebugType>none</DebugType>
+ <ErrorReport>prompt</ErrorReport>
+ <UseVSHostingProcess>true</UseVSHostingProcess>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Ice, Version=3.5.1.0, Culture=neutral, PublicKeyToken=cdd571ade22f2f16, processorArchitecture=MSIL">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System">
+ <Name>System</Name>
+ </Reference>
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="generated\server\Hello.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="HelloI.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="Server.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ <None Include="Hello.ice" />
+ <None Include="config.server" />
+ <None Include="README" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <PropertyGroup>
+ <PreBuildEvent>
+ </PreBuildEvent>
+ <PostBuildEvent>
+ </PostBuildEvent>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties ZerocIce_OutputDir=".\generated\server" ZerocIce_VerboseLevel="1" ZerocIce_Enabled="True" ZerocIce_ProjectVersion="1" />
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/cs/demo/IceDiscovery/hello/server.exe.config b/cs/demo/IceDiscovery/hello/server.exe.config
new file mode 100755
index 00000000000..d3fa65b4563
--- /dev/null
+++ b/cs/demo/IceDiscovery/hello/server.exe.config
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<configuration>
+ <runtime>
+ <developmentMode developerInstallation="true"/>
+ </runtime>
+</configuration>
diff --git a/cs/demo/IceDiscovery/replication/.depend b/cs/demo/IceDiscovery/replication/.depend
new file mode 100644
index 00000000000..53afc3fc8ba
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/.depend
@@ -0,0 +1 @@
+generated/Hello.cs: ./Hello.ice $(SLICE2CS) $(SLICEPARSERLIB)
diff --git a/cs/demo/IceDiscovery/replication/.depend.mak b/cs/demo/IceDiscovery/replication/.depend.mak
new file mode 100644
index 00000000000..60c26e25192
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/.depend.mak
@@ -0,0 +1 @@
+generated/Hello.cs: ./Hello.ice "$(SLICE2CS)" "$(SLICEPARSERLIB)"
diff --git a/cs/demo/IceDiscovery/replication/Client.cs b/cs/demo/IceDiscovery/replication/Client.cs
new file mode 100644
index 00000000000..3b2cab28f2b
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/Client.cs
@@ -0,0 +1,92 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+using Demo;
+using System;
+using System.Reflection;
+
+[assembly: CLSCompliant(true)]
+
+[assembly: AssemblyTitle("IceDiscoveryReplicationClient")]
+[assembly: AssemblyDescription("IceDiscovery replication demo client")]
+[assembly: AssemblyCompany("ZeroC, Inc.")]
+
+public class Client
+{
+ public class App : Ice.Application
+ {
+ public override int run(string[] args)
+ {
+ if(args.Length > 0)
+ {
+ Console.Error.WriteLine(appName() + ": too many arguments");
+ return 1;
+ }
+
+ //
+ // Get the hello proxy. We configure the proxy to not cache the
+ // server connection with the proxy and to disable the locator
+ // cache. With this configuration, the IceGrid locator will be
+ // queried for each invocation on the proxy and the invocation
+ // will be sent over the server connection matching the returned
+ // endpoints.
+ //
+ Ice.ObjectPrx obj = communicator().stringToProxy("hello");
+ obj = obj.ice_connectionCached(false);
+ obj = obj.ice_locatorCacheTimeout(0);
+
+ HelloPrx hello = HelloPrxHelper.checkedCast(obj);
+ if(hello == null)
+ {
+ Console.Error.WriteLine("invalid proxy");
+ return 1;
+ }
+
+ while(true)
+ {
+ Console.Out.Write("enter the number of iterations: ");
+ Console.Out.Flush();
+ string line = Console.In.ReadLine();
+ if(line == null || line.Equals("x"))
+ {
+ break;
+ }
+ int count = Convert.ToInt32(line);
+
+ Console.Out.Write("enter the delay between each greetings (in ms): ");
+ Console.Out.Flush();
+ line = Console.In.ReadLine();
+ if(line == null || line.Equals("x"))
+ {
+ break;
+ }
+ int delay = Convert.ToInt32(line);
+
+ if(delay < 0)
+ {
+ delay = 500; // 500 milli-seconds
+ }
+
+ for(int i = 0; i < count; i++)
+ {
+ Console.Out.WriteLine(hello.getGreeting());
+ System.Threading.Thread.Sleep(delay);
+ }
+ }
+
+ return 0;
+ }
+ }
+
+ public static int Main(string[] args)
+ {
+ App app = new App();
+ return app.main(args, "config.client");
+ }
+}
diff --git a/cs/demo/IceDiscovery/replication/Hello.ice b/cs/demo/IceDiscovery/replication/Hello.ice
new file mode 100644
index 00000000000..dd12535592d
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/Hello.ice
@@ -0,0 +1,21 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+module Demo
+{
+
+interface Hello
+{
+ idempotent string getGreeting();
+ void shutdown();
+};
+
+};
diff --git a/cs/demo/IceDiscovery/replication/HelloI.cs b/cs/demo/IceDiscovery/replication/HelloI.cs
new file mode 100644
index 00000000000..a78cf1f0ddd
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/HelloI.cs
@@ -0,0 +1,31 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+using Demo;
+
+public class HelloI : HelloDisp_
+{
+ public HelloI(string name)
+ {
+ _name = name;
+ }
+
+ public override string getGreeting(Ice.Current current)
+ {
+ return _name + " says Hello World!";
+ }
+
+ public override void shutdown(Ice.Current current)
+ {
+ System.Console.Out.WriteLine("Shutting down...");
+ current.adapter.getCommunicator().shutdown();
+ }
+
+ private string _name;
+}
diff --git a/cs/demo/IceDiscovery/replication/Makefile b/cs/demo/IceDiscovery/replication/Makefile
new file mode 100644
index 00000000000..fff2adccb56
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/Makefile
@@ -0,0 +1,33 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../../..
+
+TARGETS = client.exe server.exe
+
+C_SRCS = Client.cs
+S_SRCS = HelloI.cs Server.cs
+
+SLICE_SRCS = $(SDIR)/Hello.ice
+
+SDIR = .
+
+GDIR = generated
+
+include $(top_srcdir)/config/Make.rules.cs
+
+MCSFLAGS := $(MCSFLAGS) -target:exe
+
+client.exe: $(C_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(subst /,$(DSEP),$^)
+
+server.exe: $(S_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(subst /,$(DSEP),$^)
+
+include .depend
diff --git a/cs/demo/IceDiscovery/replication/Makefile.mak b/cs/demo/IceDiscovery/replication/Makefile.mak
new file mode 100644
index 00000000000..e433a6293c7
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/Makefile.mak
@@ -0,0 +1,33 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+
+TARGETS = client.exe server.exe
+
+C_SRCS = Client.cs
+S_SRCS = HelloI.cs Server.cs
+
+GEN_SRCS = $(GDIR)\Hello.cs
+
+SDIR = .
+
+GDIR = generated
+
+!include $(top_srcdir)\config\Make.rules.mak.cs
+
+MCSFLAGS = $(MCSFLAGS) -target:exe
+
+client.exe: $(C_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ -r:"$(refdir)\Ice.dll" $(C_SRCS) $(GEN_SRCS)
+
+server.exe: $(S_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ -r:"$(refdir)\Ice.dll" $(S_SRCS) $(GEN_SRCS)
+
+!include .depend.mak
diff --git a/cs/demo/IceDiscovery/replication/README b/cs/demo/IceDiscovery/replication/README
new file mode 100644
index 00000000000..6b2f1ecee25
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/README
@@ -0,0 +1,18 @@
+To run the demo, start the 3 servers:
+
+$ server.exe --Ice.Config=config.server1
+$ server.exe --Ice.Config=config.server2
+$ server.exe --Ice.Config=config.server3
+
+In a separate window:
+
+$ client.exe
+
+The client invokes the number of specified iterations with a given
+delay on a well-known proxy configured to use per-request load
+balancing. Each invocation on the proxy queries the Ice locator
+implemented by the IceDiscovery plugin.
+
+While the client is running and invoking on the server, you can try to
+stop some of the servers. As long as one server is still running, the
+client will continue to work.
diff --git a/cs/demo/IceDiscovery/replication/Server.cs b/cs/demo/IceDiscovery/replication/Server.cs
new file mode 100644
index 00000000000..d257bf320cf
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/Server.cs
@@ -0,0 +1,45 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+using System;
+using System.Reflection;
+
+[assembly: CLSCompliant(true)]
+
+[assembly: AssemblyTitle("IceDiscoveryReplicationServer")]
+[assembly: AssemblyDescription("IceDiscovery replication demo server")]
+[assembly: AssemblyCompany("ZeroC, Inc.")]
+
+public class Server
+{
+ class App : Ice.Application
+ {
+ public override int run(string[] args)
+ {
+ if(args.Length > 0)
+ {
+ System.Console.Error.WriteLine(appName() + ": too many arguments");
+ return 1;
+ }
+
+ Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Hello");
+ HelloI hello = new HelloI(communicator().getProperties().getProperty("Ice.ProgramName"));
+ adapter.add(hello, communicator().stringToIdentity("hello"));
+ adapter.activate();
+ communicator().waitForShutdown();
+ return 0;
+ }
+ }
+
+ public static int Main(string[] args)
+ {
+ App app = new App();
+ return app.main(args);
+ }
+}
diff --git a/cs/demo/IceDiscovery/replication/app.config b/cs/demo/IceDiscovery/replication/app.config
new file mode 100644
index 00000000000..e3656033377
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/app.config
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<configuration>
+<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
diff --git a/cs/demo/IceDiscovery/replication/client.csproj b/cs/demo/IceDiscovery/replication/client.csproj
new file mode 100644
index 00000000000..81216b99324
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/client.csproj
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+ <PropertyGroup>
+ <ProjectType>Local</ProjectType>
+ <ProductVersion>9.0.30729</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{83A3CB76-564E-4180-8B6B-C7C1A6806D0D}</ProjectGuid>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ApplicationIcon>
+ </ApplicationIcon>
+ <AssemblyKeyContainerName>
+ </AssemblyKeyContainerName>
+ <AssemblyName>client</AssemblyName>
+ <AssemblyOriginatorKeyFile>
+ </AssemblyOriginatorKeyFile>
+ <DefaultClientScript>JScript</DefaultClientScript>
+ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
+ <DefaultTargetSchema>IE50</DefaultTargetSchema>
+ <DelaySign>false</DelaySign>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>
+ </RootNamespace>
+ <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+ <StartupObject>
+ </StartupObject>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <UpgradeBackupLocation>
+ </UpgradeBackupLocation>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <OutputPath>.\</OutputPath>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <BaseAddress>285212672</BaseAddress>
+ <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+ <ConfigurationOverrideFile>
+ </ConfigurationOverrideFile>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <DocumentationFile>
+ </DocumentationFile>
+ <DebugSymbols>true</DebugSymbols>
+ <FileAlignment>4096</FileAlignment>
+ <NoStdLib>false</NoStdLib>
+ <NoWarn>
+ </NoWarn>
+ <Optimize>false</Optimize>
+ <RegisterForComInterop>false</RegisterForComInterop>
+ <RemoveIntegerChecks>false</RemoveIntegerChecks>
+ <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+ <WarningLevel>4</WarningLevel>
+ <DebugType>full</DebugType>
+ <ErrorReport>prompt</ErrorReport>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <OutputPath>.\</OutputPath>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <BaseAddress>285212672</BaseAddress>
+ <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+ <ConfigurationOverrideFile>
+ </ConfigurationOverrideFile>
+ <DefineConstants>TRACE</DefineConstants>
+ <DocumentationFile>
+ </DocumentationFile>
+ <DebugSymbols>false</DebugSymbols>
+ <FileAlignment>4096</FileAlignment>
+ <NoStdLib>false</NoStdLib>
+ <NoWarn>
+ </NoWarn>
+ <Optimize>true</Optimize>
+ <RegisterForComInterop>false</RegisterForComInterop>
+ <RemoveIntegerChecks>false</RemoveIntegerChecks>
+ <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+ <WarningLevel>4</WarningLevel>
+ <DebugType>none</DebugType>
+ <ErrorReport>prompt</ErrorReport>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Ice, Version=3.5.1.0, Culture=neutral, PublicKeyToken=cdd571ade22f2f16, processorArchitecture=MSIL">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System">
+ <Name>System</Name>
+ </Reference>
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Client.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="generated\client\Hello.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ <None Include="Hello.ice" />
+ <None Include="config.client" />
+ <None Include="README" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <PropertyGroup>
+ <PreBuildEvent>
+ </PreBuildEvent>
+ <PostBuildEvent>
+ </PostBuildEvent>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties ZerocIce_OutputDir=".\generated\client" ZerocIce_ProjectVersion="1" ZerocIce_Enabled="True" ZerocIce_VerboseLevel="1" />
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/cs/demo/IceDiscovery/replication/client.exe.config b/cs/demo/IceDiscovery/replication/client.exe.config
new file mode 100755
index 00000000000..d3fa65b4563
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/client.exe.config
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<configuration>
+ <runtime>
+ <developmentMode developerInstallation="true"/>
+ </runtime>
+</configuration>
diff --git a/cs/demo/IceDiscovery/replication/config.client b/cs/demo/IceDiscovery/replication/config.client
new file mode 100644
index 00000000000..92ba5e5ccdb
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/config.client
@@ -0,0 +1,9 @@
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/cs/demo/IceDiscovery/replication/config.server b/cs/demo/IceDiscovery/replication/config.server
new file mode 100644
index 00000000000..72d439f5275
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/config.server
@@ -0,0 +1,65 @@
+#
+# The server creates one single object adapter with the name
+# "Hello". The following sets the endpoints and the adapter ID for
+# this adapter.
+#
+Hello.Endpoints=tcp -h localhost:udp -h localhost:ssl -h localhost
+Hello.AdapterId=HelloAdapter
+
+#
+# Warn about connection exceptions
+#
+Ice.Warn.Connections=1
+
+#
+# Locator tracing
+#
+Ice.Trace.Locator=0
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Network Tracing
+#
+# 0 = no network tracing
+# 1 = trace connection establishment and closure
+# 2 = like 1, but more detailed
+# 3 = like 2, but also trace data transfer
+#
+#Ice.Trace.Network=1
+
+#
+# Protocol Tracing
+#
+# 0 = no protocol tracing
+# 1 = trace protocol messages
+#
+#Ice.Trace.Protocol=1
+
+#
+# Security Tracing
+#
+# 0 = no security tracing
+# 1 = trace messages
+#
+#IceSSL.Trace.Security=1
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
+IceSSL.DefaultDir=../../../../certs
+IceSSL.ImportCert.CurrentUser.Root=cacert.pem
+IceSSL.CertFile=c_rsa1024.pfx
+IceSSL.Password=password
+
+#
+# IceMX configuration.
+#
+#Ice.Admin.Endpoints=tcp -h localhost -p 10003
+Ice.Admin.InstanceName=client
+IceMX.Metrics.Debug.GroupBy=id
+IceMX.Metrics.ByParent.GroupBy=parent
diff --git a/cs/demo/IceDiscovery/replication/config.server1 b/cs/demo/IceDiscovery/replication/config.server1
new file mode 100755
index 00000000000..ec49e0b279b
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/config.server1
@@ -0,0 +1,31 @@
+#
+# The server creates one single object adapter with the name "Hello".
+#
+# The following configures the object adapter. We set endpoints with
+# no fixed port and we assign it a unique adapter ID that will be
+# embedded in indirect proxies.
+#
+# We also configure the replica group ID, object adapters sharing the
+# same replica group ID are part of the same replica group. When the
+# client resolves an indirect proxy refering to this replica group,
+# the locator implementation will return the endpoints of all the
+# object adapters part of the replica group.
+#
+Hello.Endpoints=tcp
+Hello.AdapterId=HelloAdapter1
+Hello.ReplicaGroupId=ReplicatedHelloAdapter
+
+#
+# Identify the server
+#
+Ice.ProgramName=Server1
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/cs/demo/IceDiscovery/replication/config.server2 b/cs/demo/IceDiscovery/replication/config.server2
new file mode 100755
index 00000000000..5eabd1f91cf
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/config.server2
@@ -0,0 +1,31 @@
+#
+# The server creates one single object adapter with the name "Hello".
+#
+# The following configures the object adapter. We set endpoints with
+# no fixed port and we assign it a unique adapter ID that will be
+# embedded in indirect proxies.
+#
+# We also configure the replica group ID, object adapters sharing the
+# same replica group ID are part of the same replica group. When the
+# client resolves an indirect proxy refering to this replica group,
+# the locator implementation will return the endpoints of all the
+# object adapters part of the replica group.
+#
+Hello.Endpoints=tcp
+Hello.AdapterId=HelloAdapter2
+Hello.ReplicaGroupId=ReplicatedHelloAdapter
+
+#
+# Identify the server
+#
+Ice.ProgramName=Server2
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/cs/demo/IceDiscovery/replication/config.server3 b/cs/demo/IceDiscovery/replication/config.server3
new file mode 100755
index 00000000000..12362e47722
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/config.server3
@@ -0,0 +1,31 @@
+#
+# The server creates one single object adapter with the name "Hello".
+#
+# The following configures the object adapter. We set endpoints with
+# no fixed port and we assign it a unique adapter ID that will be
+# embedded in indirect proxies.
+#
+# We also configure the replica group ID, object adapters sharing the
+# same replica group ID are part of the same replica group. When the
+# client resolves an indirect proxy refering to this replica group,
+# the locator implementation will return the endpoints of all the
+# object adapters part of the replica group.
+#
+Hello.Endpoints=tcp
+Hello.AdapterId=HelloAdapter3
+Hello.ReplicaGroupId=ReplicatedHelloAdapter
+
+#
+# Identify the server
+#
+Ice.ProgramName=Server3
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/cs/demo/IceDiscovery/replication/expect.py b/cs/demo/IceDiscovery/replication/expect.py
new file mode 100755
index 00000000000..af25a3ce17c
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/expect.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+import sys, os
+
+path = [ ".", "..", "../..", "../../..", "../../../.." ]
+head = os.path.dirname(sys.argv[0])
+if len(head) > 0:
+ path = [os.path.join(head, p) for p in path]
+path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "demoscript")) ]
+if len(path) == 0:
+ raise RuntimeError("can't find toplevel directory!")
+sys.path.append(path[0])
+
+from demoscript import Util
+from demoscript.Ice import hello
+
+server = Util.spawn('server.exe --Ice.PrintAdapterReady --Ice.Warn.Connections=0')
+server.expect('.* ready')
+client = Util.spawn('client.exe --Ice.Warn.Connections=0')
+client.expect('.*==>')
+
+hello.run(client, server)
diff --git a/cs/demo/IceDiscovery/replication/server.csproj b/cs/demo/IceDiscovery/replication/server.csproj
new file mode 100644
index 00000000000..ec38a3cba3c
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/server.csproj
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+ <PropertyGroup>
+ <ProjectType>Local</ProjectType>
+ <ProductVersion>9.0.30729</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{0E26667C-F5DF-455F-A8FB-52E0B8305DF1}</ProjectGuid>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ApplicationIcon>
+ </ApplicationIcon>
+ <AssemblyKeyContainerName>
+ </AssemblyKeyContainerName>
+ <AssemblyName>server</AssemblyName>
+ <AssemblyOriginatorKeyFile>
+ </AssemblyOriginatorKeyFile>
+ <DefaultClientScript>JScript</DefaultClientScript>
+ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
+ <DefaultTargetSchema>IE50</DefaultTargetSchema>
+ <DelaySign>false</DelaySign>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>
+ </RootNamespace>
+ <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+ <StartupObject>
+ </StartupObject>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <UpgradeBackupLocation>
+ </UpgradeBackupLocation>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <OutputPath>.\</OutputPath>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <BaseAddress>285212672</BaseAddress>
+ <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+ <ConfigurationOverrideFile>
+ </ConfigurationOverrideFile>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <DocumentationFile>
+ </DocumentationFile>
+ <DebugSymbols>true</DebugSymbols>
+ <FileAlignment>4096</FileAlignment>
+ <NoStdLib>false</NoStdLib>
+ <NoWarn>
+ </NoWarn>
+ <Optimize>false</Optimize>
+ <RegisterForComInterop>false</RegisterForComInterop>
+ <RemoveIntegerChecks>false</RemoveIntegerChecks>
+ <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+ <WarningLevel>4</WarningLevel>
+ <DebugType>full</DebugType>
+ <ErrorReport>prompt</ErrorReport>
+ <UseVSHostingProcess>true</UseVSHostingProcess>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <OutputPath>.\</OutputPath>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <BaseAddress>285212672</BaseAddress>
+ <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+ <ConfigurationOverrideFile>
+ </ConfigurationOverrideFile>
+ <DefineConstants>TRACE</DefineConstants>
+ <DocumentationFile>
+ </DocumentationFile>
+ <DebugSymbols>false</DebugSymbols>
+ <FileAlignment>4096</FileAlignment>
+ <NoStdLib>false</NoStdLib>
+ <NoWarn>
+ </NoWarn>
+ <Optimize>true</Optimize>
+ <RegisterForComInterop>false</RegisterForComInterop>
+ <RemoveIntegerChecks>false</RemoveIntegerChecks>
+ <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+ <WarningLevel>4</WarningLevel>
+ <DebugType>none</DebugType>
+ <ErrorReport>prompt</ErrorReport>
+ <UseVSHostingProcess>true</UseVSHostingProcess>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Ice, Version=3.5.1.0, Culture=neutral, PublicKeyToken=cdd571ade22f2f16, processorArchitecture=MSIL">
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System">
+ <Name>System</Name>
+ </Reference>
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="generated\server\Hello.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="HelloI.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="Server.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ <None Include="Hello.ice" />
+ <None Include="README" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <PropertyGroup>
+ <PreBuildEvent>
+ </PreBuildEvent>
+ <PostBuildEvent>
+ </PostBuildEvent>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties ZerocIce_OutputDir=".\generated\server" ZerocIce_VerboseLevel="1" ZerocIce_Enabled="True" ZerocIce_ProjectVersion="1" />
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/cs/demo/IceDiscovery/replication/server.exe.config b/cs/demo/IceDiscovery/replication/server.exe.config
new file mode 100755
index 00000000000..d3fa65b4563
--- /dev/null
+++ b/cs/demo/IceDiscovery/replication/server.exe.config
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<configuration>
+ <runtime>
+ <developmentMode developerInstallation="true"/>
+ </runtime>
+</configuration>
diff --git a/cs/demo/Makefile b/cs/demo/Makefile
index fd75fb72143..022f57aca11 100644
--- a/cs/demo/Makefile
+++ b/cs/demo/Makefile
@@ -11,7 +11,7 @@ top_srcdir = ..
include $(top_srcdir)/config/Make.rules.cs
-SUBDIRS = Ice Glacier2 IceGrid IceStorm IceBox book
+SUBDIRS = Ice Glacier2 IceGrid IceStorm IceBox IceDiscovery book
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
diff --git a/cs/demo/Makefile.mak b/cs/demo/Makefile.mak
index d079afe0ad5..e44d2474769 100644
--- a/cs/demo/Makefile.mak
+++ b/cs/demo/Makefile.mak
@@ -11,7 +11,7 @@ top_srcdir = ..
!include $(top_srcdir)\config\Make.rules.mak.cs
-SUBDIRS = Ice Glacier2 IceGrid IceStorm IceBox book
+SUBDIRS = Ice Glacier2 IceGrid IceStorm IceBox IceDiscovery book
$(EVERYTHING)::
@for %i in ( $(SUBDIRS) ) do \
diff --git a/cs/demo/demo-icediscovery.sln b/cs/demo/demo-icediscovery.sln
new file mode 100755
index 00000000000..d32b0ad13a5
--- /dev/null
+++ b/cs/demo/demo-icediscovery.sln
@@ -0,0 +1,51 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "server", "IceDiscovery\hello\server.csproj", "{0B41ADFF-7802-4A36-8374-C32DE33B0290}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IceDiscovery", "IceDiscovery", "{106F60DE-337E-450F-AFA1-9B900FA1B3ED}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "hello", "hello", "{C24017C9-047A-487A-94E8-85C47C4CBD38}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "client", "IceDiscovery\hello\client.csproj", "{228B2AFC-57DC-4E1F-8335-D0CD657A987B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "replication", "replication", "{6439CD44-C21D-4715-8511-45211BAC17FF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "server", "IceDiscovery\replication\server.csproj", "{0E26667C-F5DF-455F-A8FB-52E0B8305DF1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "client", "IceDiscovery\replication\client.csproj", "{83A3CB76-564E-4180-8B6B-C7C1A6806D0D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0B41ADFF-7802-4A36-8374-C32DE33B0290}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0B41ADFF-7802-4A36-8374-C32DE33B0290}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0B41ADFF-7802-4A36-8374-C32DE33B0290}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0B41ADFF-7802-4A36-8374-C32DE33B0290}.Release|Any CPU.Build.0 = Release|Any CPU
+ {228B2AFC-57DC-4E1F-8335-D0CD657A987B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {228B2AFC-57DC-4E1F-8335-D0CD657A987B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {228B2AFC-57DC-4E1F-8335-D0CD657A987B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {228B2AFC-57DC-4E1F-8335-D0CD657A987B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0E26667C-F5DF-455F-A8FB-52E0B8305DF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0E26667C-F5DF-455F-A8FB-52E0B8305DF1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0E26667C-F5DF-455F-A8FB-52E0B8305DF1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0E26667C-F5DF-455F-A8FB-52E0B8305DF1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {83A3CB76-564E-4180-8B6B-C7C1A6806D0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {83A3CB76-564E-4180-8B6B-C7C1A6806D0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {83A3CB76-564E-4180-8B6B-C7C1A6806D0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {83A3CB76-564E-4180-8B6B-C7C1A6806D0D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {C24017C9-047A-487A-94E8-85C47C4CBD38} = {106F60DE-337E-450F-AFA1-9B900FA1B3ED}
+ {6439CD44-C21D-4715-8511-45211BAC17FF} = {106F60DE-337E-450F-AFA1-9B900FA1B3ED}
+ {0B41ADFF-7802-4A36-8374-C32DE33B0290} = {C24017C9-047A-487A-94E8-85C47C4CBD38}
+ {228B2AFC-57DC-4E1F-8335-D0CD657A987B} = {C24017C9-047A-487A-94E8-85C47C4CBD38}
+ {0E26667C-F5DF-455F-A8FB-52E0B8305DF1} = {6439CD44-C21D-4715-8511-45211BAC17FF}
+ {83A3CB76-564E-4180-8B6B-C7C1A6806D0D} = {6439CD44-C21D-4715-8511-45211BAC17FF}
+ EndGlobalSection
+EndGlobal
diff --git a/cs/src/Ice/LocatorInfo.cs b/cs/src/Ice/LocatorInfo.cs
index fcad0643668..61dcc327874 100644
--- a/cs/src/Ice/LocatorInfo.cs
+++ b/cs/src/Ice/LocatorInfo.cs
@@ -122,7 +122,7 @@ namespace IceInternal
if(!_sent)
{
_sent = true;
- send(true);
+ send();
}
}
}
@@ -148,7 +148,7 @@ namespace IceInternal
if(!_sent)
{
_sent = true;
- send(true);
+ send();
}
while(!_response && _exception == null)
@@ -227,12 +227,6 @@ namespace IceInternal
public void
exception(Ice.Exception ex)
{
- if(ex is Ice.CollocationOptimizationException)
- {
- send(false); // Use synchronous collocation optimized locator request instead.
- return;
- }
-
_m.Lock();
try
{
@@ -250,7 +244,7 @@ namespace IceInternal
}
}
- protected abstract void send(bool async);
+ protected abstract void send();
readonly protected LocatorInfo _locatorInfo;
readonly protected Reference _ref;
@@ -272,19 +266,12 @@ namespace IceInternal
}
override protected void
- send(bool async)
+ send()
{
try
{
- if(async)
- {
- _locatorInfo.getLocator().begin_findObjectById(_ref.getIdentity()).whenCompleted(
- this.response, this.exception);
- }
- else
- {
- response(_locatorInfo.getLocator().findObjectById(_ref.getIdentity()));
- }
+ _locatorInfo.getLocator().begin_findObjectById(_ref.getIdentity()).whenCompleted(
+ this.response, this.exception);
}
catch(Ice.Exception ex)
{
@@ -300,19 +287,12 @@ namespace IceInternal
}
override protected void
- send(bool async)
+ send()
{
try
{
- if(async)
- {
- _locatorInfo.getLocator().begin_findAdapterById(_ref.getAdapterId()).whenCompleted(
- this.response, this.exception);
- }
- else
- {
- response(_locatorInfo.getLocator().findAdapterById(_ref.getAdapterId()));
- }
+ _locatorInfo.getLocator().begin_findAdapterById(_ref.getAdapterId()).whenCompleted(
+ this.response, this.exception);
}
catch(Ice.Exception ex)
{
@@ -323,7 +303,7 @@ namespace IceInternal
internal LocatorInfo(Ice.LocatorPrx locator, LocatorTable table, bool background)
{
- _locator = locator;
+ _locator = (Ice.LocatorPrx)locator.ice_collocationOptimized(false);
_table = table;
_background = background;
}
@@ -374,7 +354,8 @@ namespace IceInternal
//
// Do not make locator calls from within sync.
//
- Ice.LocatorRegistryPrx locatorRegistry = _locator.getRegistry();
+ Ice.LocatorRegistryPrx locatorRegistry =
+ (Ice.LocatorRegistryPrx)_locator.getRegistry().ice_collocationOptimized(false);
lock(this)
{
diff --git a/cs/src/Ice/Network.cs b/cs/src/Ice/Network.cs
index 1b9f52152ac..b17d3535285 100644
--- a/cs/src/Ice/Network.cs
+++ b/cs/src/Ice/Network.cs
@@ -643,50 +643,41 @@ namespace IceInternal
}
}
- public static void setMcastGroup(Socket socket, IPAddress group, string iface)
+ public static void setMcastGroup(Socket s, IPAddress group, string iface)
{
try
{
+ int index = getInterfaceIndex(iface, group.AddressFamily);
if(group.AddressFamily == AddressFamily.InterNetwork)
{
- IPAddress ifaceAddr = IPAddress.Any;
- if(iface.Length != 0)
+ MulticastOption option;
+ if(index == -1)
{
- ifaceAddr = getInterfaceAddress(iface);
- if(ifaceAddr == IPAddress.Any)
- {
- ifaceAddr = ((IPEndPoint)getAddressForServer(iface, 0, EnableIPv4, false)).Address;
- }
+ option = new MulticastOption(group);
}
- socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership,
- new MulticastOption(group, ifaceAddr));
+ else
+ {
+ option = new MulticastOption(group, index);
+ }
+ s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, option);
}
else
{
- int ifaceIndex = 0;
- if(iface.Length != 0)
+ IPv6MulticastOption option;
+ if(index == -1)
{
- ifaceIndex = getInterfaceIndex(iface);
- if(ifaceIndex == 0)
- {
- try
- {
- ifaceIndex = System.Int32.Parse(iface, CultureInfo.InvariantCulture);
- }
- catch(System.FormatException ex)
- {
- closeSocketNoThrow(socket);
- throw new Ice.SocketException(ex);
- }
- }
+ option = new IPv6MulticastOption(group);
+ }
+ else
+ {
+ option = new IPv6MulticastOption(group, index);
}
- socket.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.AddMembership,
- new IPv6MulticastOption(group, ifaceIndex));
+ s.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.AddMembership, option);
}
}
- catch(SocketException ex)
+ catch(Exception ex)
{
- closeSocketNoThrow(socket);
+ closeSocketNoThrow(s);
throw new Ice.SocketException(ex);
}
}
@@ -1320,54 +1311,89 @@ namespace IceInternal
}
private static int
- getInterfaceIndex(string name)
+ getInterfaceIndex(string iface, AddressFamily family)
{
+ if(iface.Length == 0)
+ {
+ return -1;
+ }
+
+ //
+ // The iface parameter must either be an IP address, an
+ // index or the name of an interface. If it's an index we
+ // just return it. If it's an IP addess we search for an
+ // interface which has this IP address. If it's a name we
+ // search an interface with this name.
+ //
+ try
+ {
+ return System.Int32.Parse(iface, CultureInfo.InvariantCulture);
+ }
+ catch(System.FormatException)
+ {
+ }
+
#if !COMPACT && !SILVERLIGHT && !UNITY
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
- foreach(NetworkInterface ni in nics)
+ try
{
- if(ni.Name == name)
+ IPAddress addr = IPAddress.Parse(iface);
+ foreach(NetworkInterface ni in nics)
{
IPInterfaceProperties ipProps = ni.GetIPProperties();
- try
+ foreach(UnicastIPAddressInformation uni in ipProps.UnicastAddresses)
{
- IPv6InterfaceProperties ipv6Props = ipProps.GetIPv6Properties();
- if(ipv6Props != null)
+ if(uni.Address.Equals(addr))
{
- return ipv6Props.Index;
+ if(addr.AddressFamily == AddressFamily.InterNetwork)
+ {
+ IPv4InterfaceProperties ipv4Props = ipProps.GetIPv4Properties();
+ if(ipv4Props != null)
+ {
+ return ipv4Props.Index;
+ }
+ }
+ else
+ {
+ IPv6InterfaceProperties ipv6Props = ipProps.GetIPv6Properties();
+ if(ipv6Props != null)
+ {
+ return ipv6Props.Index;
+ }
+ }
}
}
- catch(System.NotImplementedException)
- {
- }
}
}
-#endif
- return 0;
- }
+ catch(FormatException)
+ {
+ }
- private static IPAddress
- getInterfaceAddress(string name)
- {
-#if !COMPACT && !SILVERLIGHT && !UNITY
- NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach(NetworkInterface ni in nics)
{
- if(ni.Name == name)
+ if(ni.Name == iface)
{
IPInterfaceProperties ipProps = ni.GetIPProperties();
- UnicastIPAddressInformationCollection uniColl = ipProps.UnicastAddresses;
- foreach(UnicastIPAddressInformation uni in uniColl)
+ if(family == AddressFamily.InterNetwork)
+ {
+ IPv4InterfaceProperties ipv4Props = ipProps.GetIPv4Properties();
+ if(ipv4Props != null)
+ {
+ return ipv4Props.Index;
+ }
+ }
+ else
{
- if(uni.Address.AddressFamily == AddressFamily.InterNetwork)
+ IPv6InterfaceProperties ipv6Props = ipProps.GetIPv6Properties();
+ if(ipv6Props != null)
{
- return uni.Address;
+ return ipv6Props.Index;
}
}
}
}
#endif
- return IPAddress.Any;
+ return -1;
}
public static string
diff --git a/cs/src/Ice/PropertyNames.cs b/cs/src/Ice/PropertyNames.cs
index d877fe1ddbd..5826c53b686 100644
--- a/cs/src/Ice/PropertyNames.cs
+++ b/cs/src/Ice/PropertyNames.cs
@@ -8,7 +8,7 @@
// **********************************************************************
///* jshint -W044*/
-// Generated by makeprops.py from file ../config/PropertyNames.xml, Mon Apr 7 14:21:14 2014
+// Generated by makeprops.py from file ./config/PropertyNames.xml, Tue Apr 22 17:39:32 2014
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
@@ -173,6 +173,112 @@ namespace IceInternal
null
};
+ public static Property[] IceDiscoveryProps =
+ {
+ new Property(@"^IceDiscovery\.Multicast\.ACM$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.AdapterId$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Endpoints$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Locator\.EndpointSelection$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Locator\.ConnectionCached$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Locator\.PreferSecure$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Locator\.LocatorCacheTimeout$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Locator\.Locator$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Locator\.Router$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Locator\.CollocationOptimized$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Locator\.Context\.[^\s]+$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Locator$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.PublishedEndpoints$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.ReplicaGroupId$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Router\.EndpointSelection$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Router\.ConnectionCached$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Router\.PreferSecure$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Router\.LocatorCacheTimeout$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Router\.Locator$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Router\.Router$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Router\.CollocationOptimized$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Router\.Context\.[^\s]+$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.Router$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.ProxyOptions$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.ThreadPool\.Size$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.ThreadPool\.SizeMax$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.ThreadPool\.SizeWarn$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.ThreadPool\.StackSize$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.ThreadPool\.Serialize$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.ThreadPool\.ThreadIdleTime$", false, null),
+ new Property(@"^IceDiscovery\.Multicast\.ThreadPool\.ThreadPriority$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.ACM$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.AdapterId$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Endpoints$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Locator\.EndpointSelection$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Locator\.ConnectionCached$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Locator\.PreferSecure$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Locator\.LocatorCacheTimeout$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Locator\.Locator$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Locator\.Router$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Locator\.CollocationOptimized$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Locator\.Context\.[^\s]+$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Locator$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.PublishedEndpoints$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.ReplicaGroupId$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Router\.EndpointSelection$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Router\.ConnectionCached$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Router\.PreferSecure$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Router\.LocatorCacheTimeout$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Router\.Locator$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Router\.Router$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Router\.CollocationOptimized$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Router\.Context\.[^\s]+$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.Router$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.ProxyOptions$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.ThreadPool\.Size$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.ThreadPool\.SizeMax$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.ThreadPool\.SizeWarn$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.ThreadPool\.StackSize$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.ThreadPool\.Serialize$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.ThreadPool\.ThreadIdleTime$", false, null),
+ new Property(@"^IceDiscovery\.Reply\.ThreadPool\.ThreadPriority$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.ACM$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.AdapterId$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Endpoints$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Locator\.EndpointSelection$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Locator\.ConnectionCached$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Locator\.PreferSecure$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Locator\.LocatorCacheTimeout$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Locator\.Locator$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Locator\.Router$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Locator\.CollocationOptimized$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Locator\.Context\.[^\s]+$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Locator$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.PublishedEndpoints$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.ReplicaGroupId$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Router\.EndpointSelection$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Router\.ConnectionCached$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Router\.PreferSecure$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Router\.LocatorCacheTimeout$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Router\.Locator$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Router\.Router$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Router\.CollocationOptimized$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Router\.Context\.[^\s]+$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.Router$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.ProxyOptions$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.ThreadPool\.Size$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.ThreadPool\.SizeMax$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.ThreadPool\.SizeWarn$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.ThreadPool\.StackSize$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.ThreadPool\.Serialize$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.ThreadPool\.ThreadIdleTime$", false, null),
+ new Property(@"^IceDiscovery\.Locator\.ThreadPool\.ThreadPriority$", false, null),
+ new Property(@"^IceDiscovery\.Lookup$", false, null),
+ new Property(@"^IceDiscovery\.Timeout$", false, null),
+ new Property(@"^IceDiscovery\.RetryCount$", false, null),
+ new Property(@"^IceDiscovery\.LatencyMultiplier$", false, null),
+ new Property(@"^IceDiscovery\.Address$", false, null),
+ new Property(@"^IceDiscovery\.Port$", false, null),
+ new Property(@"^IceDiscovery\.Interface$", false, null),
+ new Property(@"^IceDiscovery\.DomainId$", false, null),
+ null
+ };
+
public static Property[] IceBoxProps =
{
new Property(@"^IceBox\.InheritProperties$", false, null),
@@ -825,6 +931,7 @@ namespace IceInternal
{
IceProps,
IceMXProps,
+ IceDiscoveryProps,
IceBoxProps,
IceBoxAdminProps,
IceGridAdminProps,
@@ -842,6 +949,7 @@ namespace IceInternal
{
"Ice",
"IceMX",
+ "IceDiscovery",
"IceBox",
"IceBoxAdmin",
"IceGridAdmin",
diff --git a/cs/src/IceDiscovery/.depend b/cs/src/IceDiscovery/.depend
new file mode 100644
index 00000000000..9618a5e8738
--- /dev/null
+++ b/cs/src/IceDiscovery/.depend
@@ -0,0 +1 @@
+generated/Internal.cs: Internal.ice $(slicedir)/Ice/Identity.ice $(SLICE2CS) $(SLICEPARSERLIB)
diff --git a/cs/src/IceDiscovery/.depend.mak b/cs/src/IceDiscovery/.depend.mak
new file mode 100644
index 00000000000..961781ee7e3
--- /dev/null
+++ b/cs/src/IceDiscovery/.depend.mak
@@ -0,0 +1 @@
+generated/Internal.cs: Internal.ice "$(slicedir)/Ice/Identity.ice" "$(SLICE2CS)" "$(SLICEPARSERLIB)"
diff --git a/cs/src/IceDiscovery/Internal.cs b/cs/src/IceDiscovery/Internal.cs
new file mode 100644
index 00000000000..30104287bb4
--- /dev/null
+++ b/cs/src/IceDiscovery/Internal.cs
@@ -0,0 +1,1710 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+//
+// Ice version 3.5.1
+//
+// <auto-generated>
+//
+// Generated from file `Internal.ice'
+//
+// Warning: do not edit this file.
+//
+// </auto-generated>
+//
+
+
+using _System = global::System;
+using _Microsoft = global::Microsoft;
+
+#pragma warning disable 1591
+
+namespace IceCompactId
+{
+}
+
+namespace IceDiscovery
+{
+ [_System.Runtime.InteropServices.ComVisible(false)]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1707")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1711")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1715")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1722")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1724")]
+ public partial interface LookupReply : Ice.Object, LookupReplyOperations_, LookupReplyOperationsNC_
+ {
+ }
+
+ [_System.Runtime.InteropServices.ComVisible(false)]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1707")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1711")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1715")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1722")]
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1724")]
+ public partial interface Lookup : Ice.Object, LookupOperations_, LookupOperationsNC_
+ {
+ }
+}
+
+namespace IceDiscovery
+{
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public delegate void Callback_LookupReply_foundObjectById();
+
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public delegate void Callback_LookupReply_foundAdapterById();
+
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public delegate void Callback_Lookup_findObjectById();
+
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public delegate void Callback_Lookup_findAdapterById();
+}
+
+namespace IceDiscovery
+{
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public interface LookupReplyPrx : Ice.ObjectPrx
+ {
+ void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx);
+ void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> context__);
+
+ Ice.AsyncResult<IceDiscovery.Callback_LookupReply_foundObjectById> begin_foundObjectById(Ice.Identity id, Ice.ObjectPrx prx);
+ Ice.AsyncResult<IceDiscovery.Callback_LookupReply_foundObjectById> begin_foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> ctx__);
+
+ Ice.AsyncResult begin_foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, Ice.AsyncCallback cb__, object cookie__);
+ Ice.AsyncResult begin_foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__);
+
+ void end_foundObjectById(Ice.AsyncResult r__);
+
+ void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup);
+ void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> context__);
+
+ Ice.AsyncResult<IceDiscovery.Callback_LookupReply_foundAdapterById> begin_foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup);
+ Ice.AsyncResult<IceDiscovery.Callback_LookupReply_foundAdapterById> begin_foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> ctx__);
+
+ Ice.AsyncResult begin_foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, Ice.AsyncCallback cb__, object cookie__);
+ Ice.AsyncResult begin_foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__);
+
+ void end_foundAdapterById(Ice.AsyncResult r__);
+ }
+
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public interface LookupPrx : Ice.ObjectPrx
+ {
+ void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply);
+ void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__);
+
+ Ice.AsyncResult<IceDiscovery.Callback_Lookup_findObjectById> begin_findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply);
+ Ice.AsyncResult<IceDiscovery.Callback_Lookup_findObjectById> begin_findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> ctx__);
+
+ Ice.AsyncResult begin_findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, Ice.AsyncCallback cb__, object cookie__);
+ Ice.AsyncResult begin_findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__);
+
+ void end_findObjectById(Ice.AsyncResult r__);
+
+ void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply);
+ void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__);
+
+ Ice.AsyncResult<IceDiscovery.Callback_Lookup_findAdapterById> begin_findAdapterById(string id, IceDiscovery.LookupReplyPrx reply);
+ Ice.AsyncResult<IceDiscovery.Callback_Lookup_findAdapterById> begin_findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> ctx__);
+
+ Ice.AsyncResult begin_findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, Ice.AsyncCallback cb__, object cookie__);
+ Ice.AsyncResult begin_findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__);
+
+ void end_findAdapterById(Ice.AsyncResult r__);
+ }
+}
+
+namespace IceDiscovery
+{
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public interface LookupReplyOperations_
+ {
+ void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, Ice.Current current__);
+
+ void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, Ice.Current current__);
+ }
+
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public interface LookupReplyOperationsNC_
+ {
+ void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx);
+
+ void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup);
+ }
+
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public interface LookupOperations_
+ {
+ void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, Ice.Current current__);
+
+ void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, Ice.Current current__);
+ }
+
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public interface LookupOperationsNC_
+ {
+ void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply);
+
+ void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply);
+ }
+}
+
+namespace IceDiscovery
+{
+ [_System.Runtime.InteropServices.ComVisible(false)]
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public sealed class LookupReplyPrxHelper : Ice.ObjectPrxHelperBase, LookupReplyPrx
+ {
+ #region Synchronous operations
+
+ public void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup)
+ {
+ foundAdapterById(id, prx, isReplicaGroup, null, false);
+ }
+
+ public void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> context__)
+ {
+ foundAdapterById(id, prx, isReplicaGroup, context__, true);
+ }
+
+ private void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitContext__)
+ {
+ if(explicitContext__ && context__ == null)
+ {
+ context__ = emptyContext_;
+ }
+ Ice.Instrumentation.InvocationObserver observer__ = IceInternal.ObserverHelper.get(this, __foundAdapterById_name, context__);
+ int cnt__ = 0;
+ try
+ {
+ while(true)
+ {
+ Ice.ObjectDel_ delBase__ = null;
+ try
+ {
+ delBase__ = getDelegate__(false);
+ LookupReplyDel_ del__ = (LookupReplyDel_)delBase__;
+ del__.foundAdapterById(id, prx, isReplicaGroup, context__, observer__);
+ return;
+ }
+ catch(IceInternal.LocalExceptionWrapper ex__)
+ {
+ handleExceptionWrapper__(delBase__, ex__, observer__);
+ }
+ catch(Ice.LocalException ex__)
+ {
+ handleException__(delBase__, ex__, true, ref cnt__, observer__);
+ }
+ }
+ }
+ finally
+ {
+ if(observer__ != null)
+ {
+ observer__.detach();
+ }
+ }
+ }
+
+ public void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx)
+ {
+ foundObjectById(id, prx, null, false);
+ }
+
+ public void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> context__)
+ {
+ foundObjectById(id, prx, context__, true);
+ }
+
+ private void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitContext__)
+ {
+ if(explicitContext__ && context__ == null)
+ {
+ context__ = emptyContext_;
+ }
+ Ice.Instrumentation.InvocationObserver observer__ = IceInternal.ObserverHelper.get(this, __foundObjectById_name, context__);
+ int cnt__ = 0;
+ try
+ {
+ while(true)
+ {
+ Ice.ObjectDel_ delBase__ = null;
+ try
+ {
+ delBase__ = getDelegate__(false);
+ LookupReplyDel_ del__ = (LookupReplyDel_)delBase__;
+ del__.foundObjectById(id, prx, context__, observer__);
+ return;
+ }
+ catch(IceInternal.LocalExceptionWrapper ex__)
+ {
+ handleExceptionWrapper__(delBase__, ex__, observer__);
+ }
+ catch(Ice.LocalException ex__)
+ {
+ handleException__(delBase__, ex__, true, ref cnt__, observer__);
+ }
+ }
+ }
+ finally
+ {
+ if(observer__ != null)
+ {
+ observer__.detach();
+ }
+ }
+ }
+
+ #endregion
+
+ #region Asynchronous operations
+
+ public Ice.AsyncResult<IceDiscovery.Callback_LookupReply_foundAdapterById> begin_foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup)
+ {
+ return begin_foundAdapterById(id, prx, isReplicaGroup, null, false, null, null);
+ }
+
+ public Ice.AsyncResult<IceDiscovery.Callback_LookupReply_foundAdapterById> begin_foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> ctx__)
+ {
+ return begin_foundAdapterById(id, prx, isReplicaGroup, ctx__, true, null, null);
+ }
+
+ public Ice.AsyncResult begin_foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, Ice.AsyncCallback cb__, object cookie__)
+ {
+ return begin_foundAdapterById(id, prx, isReplicaGroup, null, false, cb__, cookie__);
+ }
+
+ public Ice.AsyncResult begin_foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__)
+ {
+ return begin_foundAdapterById(id, prx, isReplicaGroup, ctx__, true, cb__, cookie__);
+ }
+
+ private const string __foundAdapterById_name = "foundAdapterById";
+
+ public void end_foundAdapterById(Ice.AsyncResult r__)
+ {
+ end__(r__, __foundAdapterById_name);
+ }
+
+ private Ice.AsyncResult<IceDiscovery.Callback_LookupReply_foundAdapterById> begin_foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> ctx__, bool explicitContext__, Ice.AsyncCallback cb__, object cookie__)
+ {
+ IceInternal.OnewayOutgoingAsync<IceDiscovery.Callback_LookupReply_foundAdapterById> result__ = new IceInternal.OnewayOutgoingAsync<IceDiscovery.Callback_LookupReply_foundAdapterById>(this, __foundAdapterById_name, foundAdapterById_completed__, cookie__);
+ if(cb__ != null)
+ {
+ result__.whenCompletedWithAsyncCallback(cb__);
+ }
+ try
+ {
+ result__.prepare__(__foundAdapterById_name, Ice.OperationMode.Normal, ctx__, explicitContext__);
+ IceInternal.BasicStream os__ = result__.startWriteParams__(Ice.FormatType.DefaultFormat);
+ os__.writeString(id);
+ os__.writeProxy(prx);
+ os__.writeBool(isReplicaGroup);
+ result__.endWriteParams__();
+ result__.send__(true);
+ }
+ catch(Ice.LocalException ex__)
+ {
+ result__.exceptionAsync__(ex__);
+ }
+ return result__;
+ }
+
+ private void foundAdapterById_completed__(IceDiscovery.Callback_LookupReply_foundAdapterById cb__)
+ {
+ if(cb__ != null)
+ {
+ cb__();
+ }
+ }
+
+ public Ice.AsyncResult<IceDiscovery.Callback_LookupReply_foundObjectById> begin_foundObjectById(Ice.Identity id, Ice.ObjectPrx prx)
+ {
+ return begin_foundObjectById(id, prx, null, false, null, null);
+ }
+
+ public Ice.AsyncResult<IceDiscovery.Callback_LookupReply_foundObjectById> begin_foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> ctx__)
+ {
+ return begin_foundObjectById(id, prx, ctx__, true, null, null);
+ }
+
+ public Ice.AsyncResult begin_foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, Ice.AsyncCallback cb__, object cookie__)
+ {
+ return begin_foundObjectById(id, prx, null, false, cb__, cookie__);
+ }
+
+ public Ice.AsyncResult begin_foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__)
+ {
+ return begin_foundObjectById(id, prx, ctx__, true, cb__, cookie__);
+ }
+
+ private const string __foundObjectById_name = "foundObjectById";
+
+ public void end_foundObjectById(Ice.AsyncResult r__)
+ {
+ end__(r__, __foundObjectById_name);
+ }
+
+ private Ice.AsyncResult<IceDiscovery.Callback_LookupReply_foundObjectById> begin_foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> ctx__, bool explicitContext__, Ice.AsyncCallback cb__, object cookie__)
+ {
+ IceInternal.OnewayOutgoingAsync<IceDiscovery.Callback_LookupReply_foundObjectById> result__ = new IceInternal.OnewayOutgoingAsync<IceDiscovery.Callback_LookupReply_foundObjectById>(this, __foundObjectById_name, foundObjectById_completed__, cookie__);
+ if(cb__ != null)
+ {
+ result__.whenCompletedWithAsyncCallback(cb__);
+ }
+ try
+ {
+ result__.prepare__(__foundObjectById_name, Ice.OperationMode.Normal, ctx__, explicitContext__);
+ IceInternal.BasicStream os__ = result__.startWriteParams__(Ice.FormatType.DefaultFormat);
+ if(id == null)
+ {
+ Ice.Identity tmp__ = new Ice.Identity();
+ tmp__.write__(os__);
+ }
+ else
+ {
+ id.write__(os__);
+ }
+ os__.writeProxy(prx);
+ result__.endWriteParams__();
+ result__.send__(true);
+ }
+ catch(Ice.LocalException ex__)
+ {
+ result__.exceptionAsync__(ex__);
+ }
+ return result__;
+ }
+
+ private void foundObjectById_completed__(IceDiscovery.Callback_LookupReply_foundObjectById cb__)
+ {
+ if(cb__ != null)
+ {
+ cb__();
+ }
+ }
+
+ #endregion
+
+ #region Checked and unchecked cast operations
+
+ public static LookupReplyPrx checkedCast(Ice.ObjectPrx b)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ LookupReplyPrx r = b as LookupReplyPrx;
+ if((r == null) && b.ice_isA(ice_staticId()))
+ {
+ LookupReplyPrxHelper h = new LookupReplyPrxHelper();
+ h.copyFrom__(b);
+ r = h;
+ }
+ return r;
+ }
+
+ public static LookupReplyPrx checkedCast(Ice.ObjectPrx b, _System.Collections.Generic.Dictionary<string, string> ctx)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ LookupReplyPrx r = b as LookupReplyPrx;
+ if((r == null) && b.ice_isA(ice_staticId(), ctx))
+ {
+ LookupReplyPrxHelper h = new LookupReplyPrxHelper();
+ h.copyFrom__(b);
+ r = h;
+ }
+ return r;
+ }
+
+ public static LookupReplyPrx checkedCast(Ice.ObjectPrx b, string f)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ Ice.ObjectPrx bb = b.ice_facet(f);
+ try
+ {
+ if(bb.ice_isA(ice_staticId()))
+ {
+ LookupReplyPrxHelper h = new LookupReplyPrxHelper();
+ h.copyFrom__(bb);
+ return h;
+ }
+ }
+ catch(Ice.FacetNotExistException)
+ {
+ }
+ return null;
+ }
+
+ public static LookupReplyPrx checkedCast(Ice.ObjectPrx b, string f, _System.Collections.Generic.Dictionary<string, string> ctx)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ Ice.ObjectPrx bb = b.ice_facet(f);
+ try
+ {
+ if(bb.ice_isA(ice_staticId(), ctx))
+ {
+ LookupReplyPrxHelper h = new LookupReplyPrxHelper();
+ h.copyFrom__(bb);
+ return h;
+ }
+ }
+ catch(Ice.FacetNotExistException)
+ {
+ }
+ return null;
+ }
+
+ public static LookupReplyPrx uncheckedCast(Ice.ObjectPrx b)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ LookupReplyPrx r = b as LookupReplyPrx;
+ if(r == null)
+ {
+ LookupReplyPrxHelper h = new LookupReplyPrxHelper();
+ h.copyFrom__(b);
+ r = h;
+ }
+ return r;
+ }
+
+ public static LookupReplyPrx uncheckedCast(Ice.ObjectPrx b, string f)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ Ice.ObjectPrx bb = b.ice_facet(f);
+ LookupReplyPrxHelper h = new LookupReplyPrxHelper();
+ h.copyFrom__(bb);
+ return h;
+ }
+
+ public static readonly string[] ids__ =
+ {
+ "::Ice::Object",
+ "::IceDiscovery::LookupReply"
+ };
+
+ public static string ice_staticId()
+ {
+ return ids__[1];
+ }
+
+ #endregion
+
+ #region Marshaling support
+
+ protected override Ice.ObjectDelM_ createDelegateM__()
+ {
+ return new LookupReplyDelM_();
+ }
+
+ protected override Ice.ObjectDelD_ createDelegateD__()
+ {
+ return new LookupReplyDelD_();
+ }
+
+ public static void write__(IceInternal.BasicStream os__, LookupReplyPrx v__)
+ {
+ os__.writeProxy(v__);
+ }
+
+ public static LookupReplyPrx read__(IceInternal.BasicStream is__)
+ {
+ Ice.ObjectPrx proxy = is__.readProxy();
+ if(proxy != null)
+ {
+ LookupReplyPrxHelper result = new LookupReplyPrxHelper();
+ result.copyFrom__(proxy);
+ return result;
+ }
+ return null;
+ }
+
+ #endregion
+ }
+
+ [_System.Runtime.InteropServices.ComVisible(false)]
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public sealed class LookupPrxHelper : Ice.ObjectPrxHelperBase, LookupPrx
+ {
+ #region Synchronous operations
+
+ public void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply)
+ {
+ findAdapterById(id, reply, null, false);
+ }
+
+ public void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__)
+ {
+ findAdapterById(id, reply, context__, true);
+ }
+
+ private void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitContext__)
+ {
+ if(explicitContext__ && context__ == null)
+ {
+ context__ = emptyContext_;
+ }
+ Ice.Instrumentation.InvocationObserver observer__ = IceInternal.ObserverHelper.get(this, __findAdapterById_name, context__);
+ int cnt__ = 0;
+ try
+ {
+ while(true)
+ {
+ Ice.ObjectDel_ delBase__ = null;
+ try
+ {
+ delBase__ = getDelegate__(false);
+ LookupDel_ del__ = (LookupDel_)delBase__;
+ del__.findAdapterById(id, reply, context__, observer__);
+ return;
+ }
+ catch(IceInternal.LocalExceptionWrapper ex__)
+ {
+ handleExceptionWrapperRelaxed__(delBase__, ex__, true, ref cnt__, observer__);
+ }
+ catch(Ice.LocalException ex__)
+ {
+ handleException__(delBase__, ex__, true, ref cnt__, observer__);
+ }
+ }
+ }
+ finally
+ {
+ if(observer__ != null)
+ {
+ observer__.detach();
+ }
+ }
+ }
+
+ public void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply)
+ {
+ findObjectById(id, reply, null, false);
+ }
+
+ public void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__)
+ {
+ findObjectById(id, reply, context__, true);
+ }
+
+ private void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitContext__)
+ {
+ if(explicitContext__ && context__ == null)
+ {
+ context__ = emptyContext_;
+ }
+ Ice.Instrumentation.InvocationObserver observer__ = IceInternal.ObserverHelper.get(this, __findObjectById_name, context__);
+ int cnt__ = 0;
+ try
+ {
+ while(true)
+ {
+ Ice.ObjectDel_ delBase__ = null;
+ try
+ {
+ delBase__ = getDelegate__(false);
+ LookupDel_ del__ = (LookupDel_)delBase__;
+ del__.findObjectById(id, reply, context__, observer__);
+ return;
+ }
+ catch(IceInternal.LocalExceptionWrapper ex__)
+ {
+ handleExceptionWrapperRelaxed__(delBase__, ex__, true, ref cnt__, observer__);
+ }
+ catch(Ice.LocalException ex__)
+ {
+ handleException__(delBase__, ex__, true, ref cnt__, observer__);
+ }
+ }
+ }
+ finally
+ {
+ if(observer__ != null)
+ {
+ observer__.detach();
+ }
+ }
+ }
+
+ #endregion
+
+ #region Asynchronous operations
+
+ public Ice.AsyncResult<IceDiscovery.Callback_Lookup_findAdapterById> begin_findAdapterById(string id, IceDiscovery.LookupReplyPrx reply)
+ {
+ return begin_findAdapterById(id, reply, null, false, null, null);
+ }
+
+ public Ice.AsyncResult<IceDiscovery.Callback_Lookup_findAdapterById> begin_findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> ctx__)
+ {
+ return begin_findAdapterById(id, reply, ctx__, true, null, null);
+ }
+
+ public Ice.AsyncResult begin_findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, Ice.AsyncCallback cb__, object cookie__)
+ {
+ return begin_findAdapterById(id, reply, null, false, cb__, cookie__);
+ }
+
+ public Ice.AsyncResult begin_findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__)
+ {
+ return begin_findAdapterById(id, reply, ctx__, true, cb__, cookie__);
+ }
+
+ private const string __findAdapterById_name = "findAdapterById";
+
+ public void end_findAdapterById(Ice.AsyncResult r__)
+ {
+ end__(r__, __findAdapterById_name);
+ }
+
+ private Ice.AsyncResult<IceDiscovery.Callback_Lookup_findAdapterById> begin_findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> ctx__, bool explicitContext__, Ice.AsyncCallback cb__, object cookie__)
+ {
+ IceInternal.OnewayOutgoingAsync<IceDiscovery.Callback_Lookup_findAdapterById> result__ = new IceInternal.OnewayOutgoingAsync<IceDiscovery.Callback_Lookup_findAdapterById>(this, __findAdapterById_name, findAdapterById_completed__, cookie__);
+ if(cb__ != null)
+ {
+ result__.whenCompletedWithAsyncCallback(cb__);
+ }
+ try
+ {
+ result__.prepare__(__findAdapterById_name, Ice.OperationMode.Idempotent, ctx__, explicitContext__);
+ IceInternal.BasicStream os__ = result__.startWriteParams__(Ice.FormatType.DefaultFormat);
+ os__.writeString(id);
+ IceDiscovery.LookupReplyPrxHelper.write__(os__, reply);
+ result__.endWriteParams__();
+ result__.send__(true);
+ }
+ catch(Ice.LocalException ex__)
+ {
+ result__.exceptionAsync__(ex__);
+ }
+ return result__;
+ }
+
+ private void findAdapterById_completed__(IceDiscovery.Callback_Lookup_findAdapterById cb__)
+ {
+ if(cb__ != null)
+ {
+ cb__();
+ }
+ }
+
+ public Ice.AsyncResult<IceDiscovery.Callback_Lookup_findObjectById> begin_findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply)
+ {
+ return begin_findObjectById(id, reply, null, false, null, null);
+ }
+
+ public Ice.AsyncResult<IceDiscovery.Callback_Lookup_findObjectById> begin_findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> ctx__)
+ {
+ return begin_findObjectById(id, reply, ctx__, true, null, null);
+ }
+
+ public Ice.AsyncResult begin_findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, Ice.AsyncCallback cb__, object cookie__)
+ {
+ return begin_findObjectById(id, reply, null, false, cb__, cookie__);
+ }
+
+ public Ice.AsyncResult begin_findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__)
+ {
+ return begin_findObjectById(id, reply, ctx__, true, cb__, cookie__);
+ }
+
+ private const string __findObjectById_name = "findObjectById";
+
+ public void end_findObjectById(Ice.AsyncResult r__)
+ {
+ end__(r__, __findObjectById_name);
+ }
+
+ private Ice.AsyncResult<IceDiscovery.Callback_Lookup_findObjectById> begin_findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> ctx__, bool explicitContext__, Ice.AsyncCallback cb__, object cookie__)
+ {
+ IceInternal.OnewayOutgoingAsync<IceDiscovery.Callback_Lookup_findObjectById> result__ = new IceInternal.OnewayOutgoingAsync<IceDiscovery.Callback_Lookup_findObjectById>(this, __findObjectById_name, findObjectById_completed__, cookie__);
+ if(cb__ != null)
+ {
+ result__.whenCompletedWithAsyncCallback(cb__);
+ }
+ try
+ {
+ result__.prepare__(__findObjectById_name, Ice.OperationMode.Idempotent, ctx__, explicitContext__);
+ IceInternal.BasicStream os__ = result__.startWriteParams__(Ice.FormatType.DefaultFormat);
+ if(id == null)
+ {
+ Ice.Identity tmp__ = new Ice.Identity();
+ tmp__.write__(os__);
+ }
+ else
+ {
+ id.write__(os__);
+ }
+ IceDiscovery.LookupReplyPrxHelper.write__(os__, reply);
+ result__.endWriteParams__();
+ result__.send__(true);
+ }
+ catch(Ice.LocalException ex__)
+ {
+ result__.exceptionAsync__(ex__);
+ }
+ return result__;
+ }
+
+ private void findObjectById_completed__(IceDiscovery.Callback_Lookup_findObjectById cb__)
+ {
+ if(cb__ != null)
+ {
+ cb__();
+ }
+ }
+
+ #endregion
+
+ #region Checked and unchecked cast operations
+
+ public static LookupPrx checkedCast(Ice.ObjectPrx b)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ LookupPrx r = b as LookupPrx;
+ if((r == null) && b.ice_isA(ice_staticId()))
+ {
+ LookupPrxHelper h = new LookupPrxHelper();
+ h.copyFrom__(b);
+ r = h;
+ }
+ return r;
+ }
+
+ public static LookupPrx checkedCast(Ice.ObjectPrx b, _System.Collections.Generic.Dictionary<string, string> ctx)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ LookupPrx r = b as LookupPrx;
+ if((r == null) && b.ice_isA(ice_staticId(), ctx))
+ {
+ LookupPrxHelper h = new LookupPrxHelper();
+ h.copyFrom__(b);
+ r = h;
+ }
+ return r;
+ }
+
+ public static LookupPrx checkedCast(Ice.ObjectPrx b, string f)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ Ice.ObjectPrx bb = b.ice_facet(f);
+ try
+ {
+ if(bb.ice_isA(ice_staticId()))
+ {
+ LookupPrxHelper h = new LookupPrxHelper();
+ h.copyFrom__(bb);
+ return h;
+ }
+ }
+ catch(Ice.FacetNotExistException)
+ {
+ }
+ return null;
+ }
+
+ public static LookupPrx checkedCast(Ice.ObjectPrx b, string f, _System.Collections.Generic.Dictionary<string, string> ctx)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ Ice.ObjectPrx bb = b.ice_facet(f);
+ try
+ {
+ if(bb.ice_isA(ice_staticId(), ctx))
+ {
+ LookupPrxHelper h = new LookupPrxHelper();
+ h.copyFrom__(bb);
+ return h;
+ }
+ }
+ catch(Ice.FacetNotExistException)
+ {
+ }
+ return null;
+ }
+
+ public static LookupPrx uncheckedCast(Ice.ObjectPrx b)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ LookupPrx r = b as LookupPrx;
+ if(r == null)
+ {
+ LookupPrxHelper h = new LookupPrxHelper();
+ h.copyFrom__(b);
+ r = h;
+ }
+ return r;
+ }
+
+ public static LookupPrx uncheckedCast(Ice.ObjectPrx b, string f)
+ {
+ if(b == null)
+ {
+ return null;
+ }
+ Ice.ObjectPrx bb = b.ice_facet(f);
+ LookupPrxHelper h = new LookupPrxHelper();
+ h.copyFrom__(bb);
+ return h;
+ }
+
+ public static readonly string[] ids__ =
+ {
+ "::Ice::Object",
+ "::IceDiscovery::Lookup"
+ };
+
+ public static string ice_staticId()
+ {
+ return ids__[1];
+ }
+
+ #endregion
+
+ #region Marshaling support
+
+ protected override Ice.ObjectDelM_ createDelegateM__()
+ {
+ return new LookupDelM_();
+ }
+
+ protected override Ice.ObjectDelD_ createDelegateD__()
+ {
+ return new LookupDelD_();
+ }
+
+ public static void write__(IceInternal.BasicStream os__, LookupPrx v__)
+ {
+ os__.writeProxy(v__);
+ }
+
+ public static LookupPrx read__(IceInternal.BasicStream is__)
+ {
+ Ice.ObjectPrx proxy = is__.readProxy();
+ if(proxy != null)
+ {
+ LookupPrxHelper result = new LookupPrxHelper();
+ result.copyFrom__(proxy);
+ return result;
+ }
+ return null;
+ }
+
+ #endregion
+ }
+}
+
+namespace IceDiscovery
+{
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public interface LookupReplyDel_ : Ice.ObjectDel_
+ {
+ void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__);
+
+ void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__);
+ }
+
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public interface LookupDel_ : Ice.ObjectDel_
+ {
+ void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__);
+
+ void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__);
+ }
+}
+
+namespace IceDiscovery
+{
+ [_System.Runtime.InteropServices.ComVisible(false)]
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public sealed class LookupReplyDelM_ : Ice.ObjectDelM_, LookupReplyDel_
+ {
+ public void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
+ {
+ IceInternal.Outgoing og__ = handler__.getOutgoing("foundAdapterById", Ice.OperationMode.Normal, context__, observer__);
+ try
+ {
+ try
+ {
+ IceInternal.BasicStream os__ = og__.startWriteParams(Ice.FormatType.DefaultFormat);
+ os__.writeString(id);
+ os__.writeProxy(prx);
+ os__.writeBool(isReplicaGroup);
+ og__.endWriteParams();
+ }
+ catch(Ice.LocalException ex__)
+ {
+ og__.abort(ex__);
+ }
+ bool ok__ = og__.invoke();
+ if(og__.hasResponse())
+ {
+ try
+ {
+ if(!ok__)
+ {
+ try
+ {
+ og__.throwUserException();
+ }
+ catch(Ice.UserException ex__)
+ {
+ throw new Ice.UnknownUserException(ex__.ice_name(), ex__);
+ }
+ }
+ og__.readEmptyParams();
+ }
+ catch(Ice.LocalException ex__)
+ {
+ throw new IceInternal.LocalExceptionWrapper(ex__, false);
+ }
+ }
+ }
+ finally
+ {
+ handler__.reclaimOutgoing(og__);
+ }
+ }
+
+ public void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
+ {
+ IceInternal.Outgoing og__ = handler__.getOutgoing("foundObjectById", Ice.OperationMode.Normal, context__, observer__);
+ try
+ {
+ try
+ {
+ IceInternal.BasicStream os__ = og__.startWriteParams(Ice.FormatType.DefaultFormat);
+ if(id == null)
+ {
+ Ice.Identity tmp__ = new Ice.Identity();
+ tmp__.write__(os__);
+ }
+ else
+ {
+ id.write__(os__);
+ }
+ os__.writeProxy(prx);
+ og__.endWriteParams();
+ }
+ catch(Ice.LocalException ex__)
+ {
+ og__.abort(ex__);
+ }
+ bool ok__ = og__.invoke();
+ if(og__.hasResponse())
+ {
+ try
+ {
+ if(!ok__)
+ {
+ try
+ {
+ og__.throwUserException();
+ }
+ catch(Ice.UserException ex__)
+ {
+ throw new Ice.UnknownUserException(ex__.ice_name(), ex__);
+ }
+ }
+ og__.readEmptyParams();
+ }
+ catch(Ice.LocalException ex__)
+ {
+ throw new IceInternal.LocalExceptionWrapper(ex__, false);
+ }
+ }
+ }
+ finally
+ {
+ handler__.reclaimOutgoing(og__);
+ }
+ }
+ }
+
+ [_System.Runtime.InteropServices.ComVisible(false)]
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public sealed class LookupDelM_ : Ice.ObjectDelM_, LookupDel_
+ {
+ public void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
+ {
+ IceInternal.Outgoing og__ = handler__.getOutgoing("findAdapterById", Ice.OperationMode.Idempotent, context__, observer__);
+ try
+ {
+ try
+ {
+ IceInternal.BasicStream os__ = og__.startWriteParams(Ice.FormatType.DefaultFormat);
+ os__.writeString(id);
+ IceDiscovery.LookupReplyPrxHelper.write__(os__, reply);
+ og__.endWriteParams();
+ }
+ catch(Ice.LocalException ex__)
+ {
+ og__.abort(ex__);
+ }
+ bool ok__ = og__.invoke();
+ if(og__.hasResponse())
+ {
+ try
+ {
+ if(!ok__)
+ {
+ try
+ {
+ og__.throwUserException();
+ }
+ catch(Ice.UserException ex__)
+ {
+ throw new Ice.UnknownUserException(ex__.ice_name(), ex__);
+ }
+ }
+ og__.readEmptyParams();
+ }
+ catch(Ice.LocalException ex__)
+ {
+ throw new IceInternal.LocalExceptionWrapper(ex__, false);
+ }
+ }
+ }
+ finally
+ {
+ handler__.reclaimOutgoing(og__);
+ }
+ }
+
+ public void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
+ {
+ IceInternal.Outgoing og__ = handler__.getOutgoing("findObjectById", Ice.OperationMode.Idempotent, context__, observer__);
+ try
+ {
+ try
+ {
+ IceInternal.BasicStream os__ = og__.startWriteParams(Ice.FormatType.DefaultFormat);
+ if(id == null)
+ {
+ Ice.Identity tmp__ = new Ice.Identity();
+ tmp__.write__(os__);
+ }
+ else
+ {
+ id.write__(os__);
+ }
+ IceDiscovery.LookupReplyPrxHelper.write__(os__, reply);
+ og__.endWriteParams();
+ }
+ catch(Ice.LocalException ex__)
+ {
+ og__.abort(ex__);
+ }
+ bool ok__ = og__.invoke();
+ if(og__.hasResponse())
+ {
+ try
+ {
+ if(!ok__)
+ {
+ try
+ {
+ og__.throwUserException();
+ }
+ catch(Ice.UserException ex__)
+ {
+ throw new Ice.UnknownUserException(ex__.ice_name(), ex__);
+ }
+ }
+ og__.readEmptyParams();
+ }
+ catch(Ice.LocalException ex__)
+ {
+ throw new IceInternal.LocalExceptionWrapper(ex__, false);
+ }
+ }
+ }
+ finally
+ {
+ handler__.reclaimOutgoing(og__);
+ }
+ }
+ }
+}
+
+namespace IceDiscovery
+{
+ [_System.Runtime.InteropServices.ComVisible(false)]
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public sealed class LookupReplyDelD_ : Ice.ObjectDelD_, LookupReplyDel_
+ {
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031")]
+ public void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
+ {
+ Ice.Current current__ = new Ice.Current();
+ initCurrent__(ref current__, "foundAdapterById", Ice.OperationMode.Normal, context__);
+ IceInternal.Direct.RunDelegate run__ = delegate(Ice.Object obj__)
+ {
+ LookupReply servant__ = null;
+ try
+ {
+ servant__ = (LookupReply)obj__;
+ }
+ catch(_System.InvalidCastException)
+ {
+ throw new Ice.OperationNotExistException(current__.id, current__.facet, current__.operation);
+ }
+ servant__.foundAdapterById(id, prx, isReplicaGroup, current__);
+ return Ice.DispatchStatus.DispatchOK;
+ };
+ IceInternal.Direct direct__ = null;
+ try
+ {
+ direct__ = new IceInternal.Direct(current__, run__);
+ try
+ {
+ Ice.DispatchStatus status__ = direct__.getServant().collocDispatch__(direct__);
+ _System.Diagnostics.Debug.Assert(status__ == Ice.DispatchStatus.DispatchOK);
+ }
+ finally
+ {
+ direct__.destroy();
+ }
+ }
+ catch(Ice.SystemException)
+ {
+ throw;
+ }
+ catch(_System.Exception ex__)
+ {
+ IceInternal.LocalExceptionWrapper.throwWrapper(ex__);
+ }
+ }
+
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031")]
+ public void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
+ {
+ Ice.Current current__ = new Ice.Current();
+ initCurrent__(ref current__, "foundObjectById", Ice.OperationMode.Normal, context__);
+ IceInternal.Direct.RunDelegate run__ = delegate(Ice.Object obj__)
+ {
+ LookupReply servant__ = null;
+ try
+ {
+ servant__ = (LookupReply)obj__;
+ }
+ catch(_System.InvalidCastException)
+ {
+ throw new Ice.OperationNotExistException(current__.id, current__.facet, current__.operation);
+ }
+ servant__.foundObjectById(id, prx, current__);
+ return Ice.DispatchStatus.DispatchOK;
+ };
+ IceInternal.Direct direct__ = null;
+ try
+ {
+ direct__ = new IceInternal.Direct(current__, run__);
+ try
+ {
+ Ice.DispatchStatus status__ = direct__.getServant().collocDispatch__(direct__);
+ _System.Diagnostics.Debug.Assert(status__ == Ice.DispatchStatus.DispatchOK);
+ }
+ finally
+ {
+ direct__.destroy();
+ }
+ }
+ catch(Ice.SystemException)
+ {
+ throw;
+ }
+ catch(_System.Exception ex__)
+ {
+ IceInternal.LocalExceptionWrapper.throwWrapper(ex__);
+ }
+ }
+ }
+
+ [_System.Runtime.InteropServices.ComVisible(false)]
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public sealed class LookupDelD_ : Ice.ObjectDelD_, LookupDel_
+ {
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031")]
+ public void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
+ {
+ Ice.Current current__ = new Ice.Current();
+ initCurrent__(ref current__, "findAdapterById", Ice.OperationMode.Idempotent, context__);
+ IceInternal.Direct.RunDelegate run__ = delegate(Ice.Object obj__)
+ {
+ Lookup servant__ = null;
+ try
+ {
+ servant__ = (Lookup)obj__;
+ }
+ catch(_System.InvalidCastException)
+ {
+ throw new Ice.OperationNotExistException(current__.id, current__.facet, current__.operation);
+ }
+ servant__.findAdapterById(id, reply, current__);
+ return Ice.DispatchStatus.DispatchOK;
+ };
+ IceInternal.Direct direct__ = null;
+ try
+ {
+ direct__ = new IceInternal.Direct(current__, run__);
+ try
+ {
+ Ice.DispatchStatus status__ = direct__.getServant().collocDispatch__(direct__);
+ _System.Diagnostics.Debug.Assert(status__ == Ice.DispatchStatus.DispatchOK);
+ }
+ finally
+ {
+ direct__.destroy();
+ }
+ }
+ catch(Ice.SystemException)
+ {
+ throw;
+ }
+ catch(_System.Exception ex__)
+ {
+ IceInternal.LocalExceptionWrapper.throwWrapper(ex__);
+ }
+ }
+
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031")]
+ public void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, _System.Collections.Generic.Dictionary<string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
+ {
+ Ice.Current current__ = new Ice.Current();
+ initCurrent__(ref current__, "findObjectById", Ice.OperationMode.Idempotent, context__);
+ IceInternal.Direct.RunDelegate run__ = delegate(Ice.Object obj__)
+ {
+ Lookup servant__ = null;
+ try
+ {
+ servant__ = (Lookup)obj__;
+ }
+ catch(_System.InvalidCastException)
+ {
+ throw new Ice.OperationNotExistException(current__.id, current__.facet, current__.operation);
+ }
+ servant__.findObjectById(id, reply, current__);
+ return Ice.DispatchStatus.DispatchOK;
+ };
+ IceInternal.Direct direct__ = null;
+ try
+ {
+ direct__ = new IceInternal.Direct(current__, run__);
+ try
+ {
+ Ice.DispatchStatus status__ = direct__.getServant().collocDispatch__(direct__);
+ _System.Diagnostics.Debug.Assert(status__ == Ice.DispatchStatus.DispatchOK);
+ }
+ finally
+ {
+ direct__.destroy();
+ }
+ }
+ catch(Ice.SystemException)
+ {
+ throw;
+ }
+ catch(_System.Exception ex__)
+ {
+ IceInternal.LocalExceptionWrapper.throwWrapper(ex__);
+ }
+ }
+ }
+}
+
+namespace IceDiscovery
+{
+ [_System.Runtime.InteropServices.ComVisible(false)]
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public abstract class LookupReplyDisp_ : Ice.ObjectImpl, LookupReply
+ {
+ #region Slice operations
+
+ public void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx)
+ {
+ foundObjectById(id, prx, Ice.ObjectImpl.defaultCurrent);
+ }
+
+ public abstract void foundObjectById(Ice.Identity id, Ice.ObjectPrx prx, Ice.Current current__);
+
+ public void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup)
+ {
+ foundAdapterById(id, prx, isReplicaGroup, Ice.ObjectImpl.defaultCurrent);
+ }
+
+ public abstract void foundAdapterById(string id, Ice.ObjectPrx prx, bool isReplicaGroup, Ice.Current current__);
+
+ #endregion
+
+ #region Slice type-related members
+
+ public static new readonly string[] ids__ =
+ {
+ "::Ice::Object",
+ "::IceDiscovery::LookupReply"
+ };
+
+ public override bool ice_isA(string s)
+ {
+ return _System.Array.BinarySearch(ids__, s, IceUtilInternal.StringUtil.OrdinalStringComparer) >= 0;
+ }
+
+ public override bool ice_isA(string s, Ice.Current current__)
+ {
+ return _System.Array.BinarySearch(ids__, s, IceUtilInternal.StringUtil.OrdinalStringComparer) >= 0;
+ }
+
+ public override string[] ice_ids()
+ {
+ return ids__;
+ }
+
+ public override string[] ice_ids(Ice.Current current__)
+ {
+ return ids__;
+ }
+
+ public override string ice_id()
+ {
+ return ids__[1];
+ }
+
+ public override string ice_id(Ice.Current current__)
+ {
+ return ids__[1];
+ }
+
+ public static new string ice_staticId()
+ {
+ return ids__[1];
+ }
+
+ #endregion
+
+ #region Operation dispatch
+
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1011")]
+ public static Ice.DispatchStatus foundObjectById___(LookupReply obj__, IceInternal.Incoming inS__, Ice.Current current__)
+ {
+ checkMode__(Ice.OperationMode.Normal, current__.mode);
+ IceInternal.BasicStream is__ = inS__.startReadParams();
+ Ice.Identity id;
+ id = null;
+ Ice.ObjectPrx prx;
+ if(id == null)
+ {
+ id = new Ice.Identity();
+ }
+ id.read__(is__);
+ prx = is__.readProxy();
+ inS__.endReadParams();
+ obj__.foundObjectById(id, prx, current__);
+ inS__.writeEmptyParams__();
+ return Ice.DispatchStatus.DispatchOK;
+ }
+
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1011")]
+ public static Ice.DispatchStatus foundAdapterById___(LookupReply obj__, IceInternal.Incoming inS__, Ice.Current current__)
+ {
+ checkMode__(Ice.OperationMode.Normal, current__.mode);
+ IceInternal.BasicStream is__ = inS__.startReadParams();
+ string id;
+ Ice.ObjectPrx prx;
+ bool isReplicaGroup;
+ id = is__.readString();
+ prx = is__.readProxy();
+ isReplicaGroup = is__.readBool();
+ inS__.endReadParams();
+ obj__.foundAdapterById(id, prx, isReplicaGroup, current__);
+ inS__.writeEmptyParams__();
+ return Ice.DispatchStatus.DispatchOK;
+ }
+
+ private static string[] all__ =
+ {
+ "foundAdapterById",
+ "foundObjectById",
+ "ice_id",
+ "ice_ids",
+ "ice_isA",
+ "ice_ping"
+ };
+
+ public override Ice.DispatchStatus dispatch__(IceInternal.Incoming inS__, Ice.Current current__)
+ {
+ int pos = _System.Array.BinarySearch(all__, current__.operation, IceUtilInternal.StringUtil.OrdinalStringComparer);
+ if(pos < 0)
+ {
+ throw new Ice.OperationNotExistException(current__.id, current__.facet, current__.operation);
+ }
+
+ switch(pos)
+ {
+ case 0:
+ {
+ return foundAdapterById___(this, inS__, current__);
+ }
+ case 1:
+ {
+ return foundObjectById___(this, inS__, current__);
+ }
+ case 2:
+ {
+ return ice_id___(this, inS__, current__);
+ }
+ case 3:
+ {
+ return ice_ids___(this, inS__, current__);
+ }
+ case 4:
+ {
+ return ice_isA___(this, inS__, current__);
+ }
+ case 5:
+ {
+ return ice_ping___(this, inS__, current__);
+ }
+ }
+
+ _System.Diagnostics.Debug.Assert(false);
+ throw new Ice.OperationNotExistException(current__.id, current__.facet, current__.operation);
+ }
+
+ #endregion
+
+ #region Marshaling support
+
+ protected override void writeImpl__(IceInternal.BasicStream os__)
+ {
+ os__.startWriteSlice(ice_staticId(), -1, true);
+ os__.endWriteSlice();
+ }
+
+ protected override void readImpl__(IceInternal.BasicStream is__)
+ {
+ is__.startReadSlice();
+ is__.endReadSlice();
+ }
+
+ #endregion
+ }
+
+ [_System.Runtime.InteropServices.ComVisible(false)]
+ [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.5.1")]
+ public abstract class LookupDisp_ : Ice.ObjectImpl, Lookup
+ {
+ #region Slice operations
+
+ public void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply)
+ {
+ findObjectById(id, reply, Ice.ObjectImpl.defaultCurrent);
+ }
+
+ public abstract void findObjectById(Ice.Identity id, IceDiscovery.LookupReplyPrx reply, Ice.Current current__);
+
+ public void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply)
+ {
+ findAdapterById(id, reply, Ice.ObjectImpl.defaultCurrent);
+ }
+
+ public abstract void findAdapterById(string id, IceDiscovery.LookupReplyPrx reply, Ice.Current current__);
+
+ #endregion
+
+ #region Slice type-related members
+
+ public static new readonly string[] ids__ =
+ {
+ "::Ice::Object",
+ "::IceDiscovery::Lookup"
+ };
+
+ public override bool ice_isA(string s)
+ {
+ return _System.Array.BinarySearch(ids__, s, IceUtilInternal.StringUtil.OrdinalStringComparer) >= 0;
+ }
+
+ public override bool ice_isA(string s, Ice.Current current__)
+ {
+ return _System.Array.BinarySearch(ids__, s, IceUtilInternal.StringUtil.OrdinalStringComparer) >= 0;
+ }
+
+ public override string[] ice_ids()
+ {
+ return ids__;
+ }
+
+ public override string[] ice_ids(Ice.Current current__)
+ {
+ return ids__;
+ }
+
+ public override string ice_id()
+ {
+ return ids__[1];
+ }
+
+ public override string ice_id(Ice.Current current__)
+ {
+ return ids__[1];
+ }
+
+ public static new string ice_staticId()
+ {
+ return ids__[1];
+ }
+
+ #endregion
+
+ #region Operation dispatch
+
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1011")]
+ public static Ice.DispatchStatus findObjectById___(Lookup obj__, IceInternal.Incoming inS__, Ice.Current current__)
+ {
+ checkMode__(Ice.OperationMode.Idempotent, current__.mode);
+ IceInternal.BasicStream is__ = inS__.startReadParams();
+ Ice.Identity id;
+ id = null;
+ IceDiscovery.LookupReplyPrx reply;
+ if(id == null)
+ {
+ id = new Ice.Identity();
+ }
+ id.read__(is__);
+ reply = IceDiscovery.LookupReplyPrxHelper.read__(is__);
+ inS__.endReadParams();
+ obj__.findObjectById(id, reply, current__);
+ inS__.writeEmptyParams__();
+ return Ice.DispatchStatus.DispatchOK;
+ }
+
+ [_System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1011")]
+ public static Ice.DispatchStatus findAdapterById___(Lookup obj__, IceInternal.Incoming inS__, Ice.Current current__)
+ {
+ checkMode__(Ice.OperationMode.Idempotent, current__.mode);
+ IceInternal.BasicStream is__ = inS__.startReadParams();
+ string id;
+ IceDiscovery.LookupReplyPrx reply;
+ id = is__.readString();
+ reply = IceDiscovery.LookupReplyPrxHelper.read__(is__);
+ inS__.endReadParams();
+ obj__.findAdapterById(id, reply, current__);
+ inS__.writeEmptyParams__();
+ return Ice.DispatchStatus.DispatchOK;
+ }
+
+ private static string[] all__ =
+ {
+ "findAdapterById",
+ "findObjectById",
+ "ice_id",
+ "ice_ids",
+ "ice_isA",
+ "ice_ping"
+ };
+
+ public override Ice.DispatchStatus dispatch__(IceInternal.Incoming inS__, Ice.Current current__)
+ {
+ int pos = _System.Array.BinarySearch(all__, current__.operation, IceUtilInternal.StringUtil.OrdinalStringComparer);
+ if(pos < 0)
+ {
+ throw new Ice.OperationNotExistException(current__.id, current__.facet, current__.operation);
+ }
+
+ switch(pos)
+ {
+ case 0:
+ {
+ return findAdapterById___(this, inS__, current__);
+ }
+ case 1:
+ {
+ return findObjectById___(this, inS__, current__);
+ }
+ case 2:
+ {
+ return ice_id___(this, inS__, current__);
+ }
+ case 3:
+ {
+ return ice_ids___(this, inS__, current__);
+ }
+ case 4:
+ {
+ return ice_isA___(this, inS__, current__);
+ }
+ case 5:
+ {
+ return ice_ping___(this, inS__, current__);
+ }
+ }
+
+ _System.Diagnostics.Debug.Assert(false);
+ throw new Ice.OperationNotExistException(current__.id, current__.facet, current__.operation);
+ }
+
+ #endregion
+
+ #region Marshaling support
+
+ protected override void writeImpl__(IceInternal.BasicStream os__)
+ {
+ os__.startWriteSlice(ice_staticId(), -1, true);
+ os__.endWriteSlice();
+ }
+
+ protected override void readImpl__(IceInternal.BasicStream is__)
+ {
+ is__.startReadSlice();
+ is__.endReadSlice();
+ }
+
+ #endregion
+ }
+}
diff --git a/cs/src/IceDiscovery/Internal.ice b/cs/src/IceDiscovery/Internal.ice
new file mode 100644
index 00000000000..a6c237c4dbc
--- /dev/null
+++ b/cs/src/IceDiscovery/Internal.ice
@@ -0,0 +1,31 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+#include <Ice/Identity.ice>
+
+module IceDiscovery
+{
+
+interface LookupReply
+{
+ void foundObjectById(Ice::Identity id, Object* prx);
+
+ void foundAdapterById(string id, Object* prx, bool isReplicaGroup);
+};
+
+interface Lookup
+{
+ idempotent void findObjectById(string domainId, Ice::Identity id, LookupReply* reply);
+
+ idempotent void findAdapterById(string domainId, string id, LookupReply* reply);
+};
+
+};
diff --git a/cs/src/IceDiscovery/LocatorI.cs b/cs/src/IceDiscovery/LocatorI.cs
new file mode 100644
index 00000000000..75fd38e6436
--- /dev/null
+++ b/cs/src/IceDiscovery/LocatorI.cs
@@ -0,0 +1,210 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+namespace IceDiscovery
+{
+ using System;
+ using System.Collections.Generic;
+
+ class LocatorRegistryI : Ice.LocatorRegistryDisp_
+ {
+ public
+ LocatorRegistryI(Ice.Communicator com)
+ {
+ _wellKnownProxy = com.stringToProxy("p").ice_locator(null).ice_router(null).ice_collocationOptimized(true);
+ }
+
+ public override void
+ setAdapterDirectProxy_async(Ice.AMD_LocatorRegistry_setAdapterDirectProxy cb,
+ string adapterId,
+ Ice.ObjectPrx proxy,
+ Ice.Current current)
+ {
+ lock(this)
+ {
+ if(proxy != null)
+ {
+ _adapters.Add(adapterId, proxy);
+ }
+ else
+ {
+ _adapters.Remove(adapterId);
+ }
+ cb.ice_response();
+ }
+ }
+
+ public override void
+ setReplicatedAdapterDirectProxy_async(Ice.AMD_LocatorRegistry_setReplicatedAdapterDirectProxy cb,
+ string adapterId,
+ string replicaGroupId,
+ Ice.ObjectPrx proxy,
+ Ice.Current current)
+ {
+ lock(this)
+ {
+ if(proxy != null)
+ {
+ _adapters.Add(adapterId, proxy);
+ HashSet<string> adapterIds;
+ if(!_replicaGroups.TryGetValue(replicaGroupId, out adapterIds))
+ {
+ adapterIds = new HashSet<string>();
+ _replicaGroups.Add(replicaGroupId, adapterIds);
+ }
+ adapterIds.Add(adapterId);
+ }
+ else
+ {
+ _adapters.Remove(adapterId);
+ HashSet<string> adapterIds;
+ if(_replicaGroups.TryGetValue(replicaGroupId, out adapterIds))
+ {
+ adapterIds.Remove(adapterId);
+ if(adapterIds.Count == 0)
+ {
+ _replicaGroups.Remove(replicaGroupId);
+ }
+ }
+ }
+ }
+ cb.ice_response();
+ }
+
+ public override void
+ setServerProcessProxy_async(Ice.AMD_LocatorRegistry_setServerProcessProxy cb,
+ string id,
+ Ice.ProcessPrx process,
+ Ice.Current current)
+ {
+ cb.ice_response();
+ }
+
+ internal Ice.ObjectPrx findObject(Ice.Identity id)
+ {
+ lock(this)
+ {
+ if(id.name.Length == 0)
+ {
+ return null;
+ }
+
+ Ice.ObjectPrx prx = _wellKnownProxy.ice_identity(id);
+
+ List<string> adapterIds = new List<string>();
+ foreach(KeyValuePair<string, HashSet<string>> entry in _replicaGroups)
+ {
+ try
+ {
+ prx.ice_adapterId(entry.Key).ice_ping();
+ adapterIds.Add(entry.Key);
+ }
+ catch(Ice.Exception)
+ {
+ }
+ }
+ if(adapterIds.Count == 0)
+ {
+ foreach(KeyValuePair<string, Ice.ObjectPrx> entry in _adapters)
+ {
+ try
+ {
+ prx.ice_adapterId(entry.Key).ice_ping();
+ adapterIds.Add(entry.Key);
+ }
+ catch(Ice.Exception)
+ {
+ }
+ }
+ }
+
+ if(adapterIds.Count == 0)
+ {
+ return null;
+ }
+ //adapterIds.Suffle();
+ return prx.ice_adapterId(adapterIds[0]);
+ }
+ }
+
+ internal Ice.ObjectPrx findAdapter(string adapterId, out bool isReplicaGroup)
+ {
+ lock(this)
+ {
+ Ice.ObjectPrx result = null;
+ if(_adapters.TryGetValue(adapterId, out result))
+ {
+ isReplicaGroup = false;
+ return result;
+ }
+
+ HashSet<string> adapterIds;
+ if(_replicaGroups.TryGetValue(adapterId, out adapterIds))
+ {
+ List<Ice.Endpoint> endpoints = new List<Ice.Endpoint>();
+ foreach(string a in adapterIds)
+ {
+ Ice.ObjectPrx proxy;
+ if(!_adapters.TryGetValue(a, out proxy))
+ {
+ continue; // TODO: Inconsistency
+ }
+
+ if(result == null)
+ {
+ result = proxy;
+ }
+
+ endpoints.AddRange(proxy.ice_getEndpoints());
+ }
+
+ if(result != null)
+ {
+ isReplicaGroup = true;
+ return result.ice_endpoints(endpoints.ToArray());
+ }
+ }
+
+ isReplicaGroup = false;
+ return null;
+ }
+ }
+
+ private readonly Ice.ObjectPrx _wellKnownProxy;
+ private Dictionary<string, Ice.ObjectPrx> _adapters = new Dictionary<string, Ice.ObjectPrx>();
+ private Dictionary<string, HashSet<string>> _replicaGroups = new Dictionary<string, HashSet<string>>();
+ };
+
+ class LocatorI : Ice.LocatorDisp_
+ {
+ public LocatorI(LookupI lookup, Ice.LocatorRegistryPrx registry)
+ {
+ _lookup = lookup;
+ _registry = registry;
+ }
+
+ public override void findObjectById_async(Ice.AMD_Locator_findObjectById cb, Ice.Identity id, Ice.Current c)
+ {
+ _lookup.findObject(cb, id);
+ }
+
+ public override void findAdapterById_async(Ice.AMD_Locator_findAdapterById cb, string adapterId, Ice.Current c)
+ {
+ _lookup.findAdapter(cb, adapterId);
+ }
+
+ public override Ice.LocatorRegistryPrx getRegistry(Ice.Current current)
+ {
+ return _registry;
+ }
+
+ private LookupI _lookup;
+ private Ice.LocatorRegistryPrx _registry;
+ };
+} \ No newline at end of file
diff --git a/cs/src/IceDiscovery/LookupI.cs b/cs/src/IceDiscovery/LookupI.cs
new file mode 100644
index 00000000000..01efaf0457d
--- /dev/null
+++ b/cs/src/IceDiscovery/LookupI.cs
@@ -0,0 +1,385 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+namespace IceDiscovery
+{
+ using System;
+ using System.Collections.Generic;
+
+ class Request<T, AmdCB>
+ {
+ protected Request(LookupI lookup, T id, int retryCount)
+ {
+ lookup_ = lookup;
+ nRetry_ = retryCount;
+ _id = id;
+ }
+
+ public T getId()
+ {
+ return _id;
+ }
+
+ public bool addCallback(AmdCB cb)
+ {
+ callbacks_.Add(cb);
+ return callbacks_.Count == 1;
+ }
+
+ public virtual bool retry()
+ {
+ return --nRetry_ >= 0;
+ }
+
+ protected LookupI lookup_;
+ protected int nRetry_;
+ protected List<AmdCB> callbacks_ = new List<AmdCB>();
+
+ private T _id;
+ };
+
+ class AdapterRequest : Request<string, Ice.AMD_Locator_findAdapterById>, IceInternal.TimerTask
+ {
+ public AdapterRequest(LookupI lookup, string id, int retryCount) : base(lookup, id, retryCount)
+ {
+ _start = System.DateTime.Now.Ticks;
+ }
+
+ public override bool retry()
+ {
+ return _proxies.Count == 0 && --nRetry_ >= 0;
+ }
+
+ public bool response(Ice.ObjectPrx proxy, bool isReplicaGroup)
+ {
+ if(isReplicaGroup)
+ {
+ _proxies.Add(proxy);
+ if(_latency == 0)
+ {
+ _latency = (long)((System.DateTime.Now.Ticks - _start) * lookup_.latencyMultiplier() / 10000.0);
+ if(_latency == 0)
+ {
+ _latency = 1; // 1ms
+ }
+ lookup_.timer().cancel(this);
+ lookup_.timer().schedule(this, _latency);
+ }
+ return false;
+ }
+ finished(proxy);
+ return true;
+ }
+
+ public void finished(Ice.ObjectPrx proxy)
+ {
+ if(proxy != null || _proxies.Count == 0)
+ {
+ sendResponse(proxy);
+ return;
+ }
+ else if(_proxies.Count == 1)
+ {
+ sendResponse(_proxies[0]);
+ return;
+ }
+
+ List<Ice.Endpoint> endpoints = new List<Ice.Endpoint>();
+ Ice.ObjectPrx result = null;
+ foreach(Ice.ObjectPrx prx in _proxies)
+ {
+ if(result == null)
+ {
+ result = prx;
+ }
+ endpoints.AddRange(prx.ice_getEndpoints());
+ }
+ sendResponse(result.ice_endpoints(endpoints.ToArray()));
+ }
+
+ public void runTimerTask()
+ {
+ lookup_.adapterRequestTimedOut(this);
+ }
+
+ private void sendResponse(Ice.ObjectPrx proxy)
+ {
+ foreach(Ice.AMD_Locator_findAdapterById cb in callbacks_)
+ {
+ cb.ice_response(proxy);
+ }
+ callbacks_.Clear();
+ }
+
+ private List<Ice.ObjectPrx> _proxies = new List<Ice.ObjectPrx>();
+ private long _start;
+ private long _latency;
+ };
+
+ class ObjectRequest : Request<Ice.Identity, Ice.AMD_Locator_findObjectById>, IceInternal.TimerTask
+ {
+ public ObjectRequest(LookupI lookup, Ice.Identity id, int retryCount) : base(lookup, id, retryCount)
+ {
+ }
+
+ public void response(Ice.ObjectPrx proxy)
+ {
+ finished(proxy);
+ }
+
+ public void finished(Ice.ObjectPrx proxy)
+ {
+ foreach(Ice.AMD_Locator_findObjectById cb in callbacks_)
+ {
+ cb.ice_response(proxy);
+ }
+ callbacks_.Clear();
+ }
+
+ public void runTimerTask()
+ {
+ lookup_.objectRequestTimedOut(this);
+ }
+ };
+
+ class LookupI : LookupDisp_
+ {
+ public LookupI(LocatorRegistryI registry, LookupPrx lookup, Ice.Properties properties)
+ {
+ _registry = registry;
+ _lookup = lookup;
+ _timeout = properties.getPropertyAsIntWithDefault("IceDiscovery.Timeout", 300);
+ _retryCount = properties.getPropertyAsIntWithDefault("IceDiscovery.RetryCount", 3);
+ _latencyMultiplier = properties.getPropertyAsIntWithDefault("IceDiscovery.LatencyMultiplier", 1);
+ _domainId = properties.getProperty("IceDiscovery.DomainId");
+ _timer = IceInternal.Util.getInstance(lookup.ice_getCommunicator()).timer();
+ }
+
+ public void setLookupReply(LookupReplyPrx lookupReply)
+ {
+ _lookupReply = lookupReply;
+ }
+
+ public override void findObjectById(string domainId, Ice.Identity id, IceDiscovery.LookupReplyPrx reply,
+ Ice.Current c)
+ {
+ if(!domainId.Equals(_domainId))
+ {
+ return; // Ignore
+ }
+
+ Ice.ObjectPrx proxy = _registry.findObject(id);
+ if(proxy != null)
+ {
+ //
+ // Reply to the mulicast request using the given proxy.
+ //
+ getLookupReply(reply, c).begin_foundObjectById(id, proxy);
+ }
+ }
+
+ public override void findAdapterById(string domainId, string adapterId, IceDiscovery.LookupReplyPrx reply,
+ Ice.Current c)
+ {
+ if(!domainId.Equals(_domainId))
+ {
+ return; // Ignore
+ }
+
+ bool isReplicaGroup;
+ Ice.ObjectPrx proxy = _registry.findAdapter(adapterId, out isReplicaGroup);
+ if(proxy != null)
+ {
+ //
+ // Reply to the multicast request using the given proxy.
+ //
+ getLookupReply(reply, c).begin_foundAdapterById(adapterId, proxy, isReplicaGroup);
+ }
+ }
+
+ internal void findObject(Ice.AMD_Locator_findObjectById cb, Ice.Identity id)
+ {
+ lock(this)
+ {
+ ObjectRequest request;
+ if(!_objectRequests.TryGetValue(id, out request))
+ {
+ request = new ObjectRequest(this, id, _retryCount);
+ _objectRequests.Add(id, request);
+ }
+ if(request.addCallback(cb))
+ {
+ _lookup.findObjectById(_domainId, id, _lookupReply);
+ _timer.schedule(request, _timeout);
+ }
+ }
+ }
+
+ internal void findAdapter(Ice.AMD_Locator_findAdapterById cb, string adapterId)
+ {
+ lock(this)
+ {
+ AdapterRequest request;
+ if(!_adapterRequests.TryGetValue(adapterId, out request))
+ {
+ request = new AdapterRequest(this, adapterId, _retryCount);
+ _adapterRequests.Add(adapterId, request);
+ }
+ if(request.addCallback(cb))
+ {
+ _lookup.findAdapterById(_domainId, adapterId, _lookupReply);
+ _timer.schedule(request, _timeout);
+ }
+ }
+ }
+
+ internal void foundObject(Ice.Identity id, Ice.ObjectPrx proxy)
+ {
+ lock(this)
+ {
+ ObjectRequest request;
+ if(!_objectRequests.TryGetValue(id, out request))
+ {
+ return;
+ }
+ request.response(proxy);
+ _timer.cancel(request);
+ _objectRequests.Remove(id);
+ }
+ }
+
+ internal void foundAdapter(string adapterId, Ice.ObjectPrx proxy, bool isReplicaGroup)
+ {
+ lock(this)
+ {
+ AdapterRequest request;
+ if(!_adapterRequests.TryGetValue(adapterId, out request))
+ {
+ return;
+ }
+
+ if(request.response(proxy, isReplicaGroup))
+ {
+ _timer.cancel(request);
+ _adapterRequests.Remove(request.getId());
+ }
+ }
+ }
+
+ internal void objectRequestTimedOut(ObjectRequest request)
+ {
+ lock(this)
+ {
+ ObjectRequest r;
+ if(!_objectRequests.TryGetValue(request.getId(), out r) || r != request)
+ {
+ return;
+ }
+
+ if(request.retry())
+ {
+ _lookup.findObjectById(_domainId, request.getId(), _lookupReply);
+ _timer.schedule(request, _timeout);
+ }
+ else
+ {
+ request.finished(null);
+ _objectRequests.Remove(request.getId());
+ _timer.cancel(request);
+ }
+ }
+ }
+
+ internal void adapterRequestTimedOut(AdapterRequest request)
+ {
+ lock(this)
+ {
+ AdapterRequest r;
+ if(!_adapterRequests.TryGetValue(request.getId(), out r) || r != request)
+ {
+ return;
+ }
+
+ if(request.retry())
+ {
+ _lookup.findAdapterById(_domainId, request.getId(), _lookupReply);
+ _timer.schedule(request, _timeout);
+ }
+ else
+ {
+ request.finished(null);
+ _adapterRequests.Remove(request.getId());
+ _timer.cancel(request);
+ }
+ }
+ }
+
+ internal IceInternal.Timer timer()
+ {
+ return _timer;
+ }
+
+ internal int latencyMultiplier()
+ {
+ return _latencyMultiplier;
+ }
+
+ private LookupReplyPrx getLookupReply(LookupReplyPrx reply, Ice.Current current)
+ {
+ // Ice.UDPConnectionInfo info = Ice.UDPConnectionInfoPtr.dynamicCast(current.con.getInfo());
+ // if(info)
+ // {
+ // Ice.Communicator com = current.adapter.getCommunicator();
+ // ostringstream os;
+ // os << "\"" << com.identityToString(reply.ice_getIdentity()) << "\"";
+ // os << ":udp -h " << info.remoteAddress << " -p " << info.remotePort;
+ // return LookupReplyPrx.uncheckedCast(com.stringToProxy(os.str()).ice_datagram());
+ // }
+ // else
+ {
+ return reply;
+ }
+ }
+
+ private LocatorRegistryI _registry;
+ private readonly LookupPrx _lookup;
+ private LookupReplyPrx _lookupReply;
+ private readonly int _timeout;
+ private readonly int _retryCount;
+ private readonly int _latencyMultiplier;
+ private readonly string _domainId;
+
+ private IceInternal.Timer _timer;
+
+ private Dictionary<Ice.Identity, ObjectRequest> _objectRequests = new Dictionary<Ice.Identity, ObjectRequest>();
+ private Dictionary<string, AdapterRequest> _adapterRequests = new Dictionary<string, AdapterRequest>();
+ };
+
+ class LookupReplyI : LookupReplyDisp_
+ {
+ public LookupReplyI(LookupI lookup)
+ {
+ _lookup = lookup;
+ }
+
+ public override void foundObjectById(Ice.Identity id, Ice.ObjectPrx proxy, Ice.Current c)
+ {
+ _lookup.foundObject(id, proxy);
+ }
+
+ public override void foundAdapterById(string adapterId, Ice.ObjectPrx proxy, bool isReplicaGroup, Ice.Current c)
+ {
+ _lookup.foundAdapter(adapterId, proxy, isReplicaGroup);
+ }
+
+ private LookupI _lookup;
+ };
+
+}
+
diff --git a/cs/src/IceDiscovery/Makefile b/cs/src/IceDiscovery/Makefile
new file mode 100644
index 00000000000..d01ee1b3091
--- /dev/null
+++ b/cs/src/IceDiscovery/Makefile
@@ -0,0 +1,51 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../..
+
+PKG = IceDiscovery
+LIBNAME = $(PKG).dll
+TARGETS = $(assembliesdir)/$(LIBNAME)
+POLICY_TARGET = $(POLICY).dll
+
+SRCS = LocatorI.cs \
+ LookupI.cs \
+ PluginI.cs
+
+SLICE_SRCS = $(SDIR)/IceDiscovery.ice
+GDIR = generated
+
+include $(top_srcdir)/config/Make.rules.cs
+
+MCSFLAGS := $(MCSFLAGS) -target:library -out:$(TARGETS) -warnaserror-
+MCSFLAGS := $(MCSFLAGS) -keyfile:$(KEYFILE)
+MCSFLAGS := $(MCSFLAGS) /doc:$(assembliesdir)/$(PKG).xml /nowarn:1591
+
+SLICE2CSFLAGS := $(SLICE2CSFLAGS) --ice -I$(slicedir)
+
+$(TARGETS):: $(SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) $(call ref,Ice) $(subst /,$(DSEP),$^)
+
+$(GDIR)/IceDiscovery.cs: $(slicedir)/IceDiscovery/IceDiscovery.ice
+ $(SLICE2CS) --output-dir $(GDIR) $(SLICE2CSFLAGS) $<
+
+install:: all
+ (cd $(assembliesdir); $(call installassembly,$(LIBNAME),$(PKG)); $(call installpolicy,$(POLICY)); \
+ $(call installmdb,$(LIBNAME).mdb); \
+ $(call installdata,$(PKG).xml,$(DESTDIR)$(install_assembliesdir)))
+
+ifeq ($(GACINSTALL),yes)
+install:: all
+ $(call installdata,../../lib/pkgconfig/$(PKG).pc,$(DESTDIR)$(install_pkgconfigdir))
+endif
+
+clean::
+ -rm -f $(assembliesdir)/$(PKG).xml
+
+include .depend
diff --git a/cs/src/IceDiscovery/Makefile.mak b/cs/src/IceDiscovery/Makefile.mak
new file mode 100644
index 00000000000..07d23f9047a
--- /dev/null
+++ b/cs/src/IceDiscovery/Makefile.mak
@@ -0,0 +1,58 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..
+
+PKG = IceDiscovery
+LIBNAME = $(PKG).dll
+TARGETS = $(assembliesdir)\$(LIBNAME)
+POLICY_TARGET = $(POLICY).dll
+
+SRCS = LocatorI.cs \
+ LookupI.cs \
+ PluginI.cs
+
+GEN_SRCS = $(GDIR)\IceDiscovery.cs
+
+GDIR = generated
+
+!include $(top_srcdir)\config\Make.rules.mak.cs
+
+MCSFLAGS = $(MCSFLAGS) -target:library -out:$(TARGETS) -warnaserror-
+MCSFLAGS = $(MCSFLAGS) -keyfile:"$(KEYFILE)"
+MCSFLAGS = $(MCSFLAGS) /doc:$(assembliesdir)\$(PKG).xml /nowarn:1591
+
+SLICE2CSFLAGS = $(SLICE2CSFLAGS) --ice -I$(slicedir)
+
+$(TARGETS):: $(SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -r:$(refdir)\Ice.dll $(SRCS) $(GEN_SRCS)
+
+$(GDIR)\IceDiscovery.cs: $(slicedir)\IceDiscovery\IceDiscovery.ice $(SLICE2CS) $(SLICEPARSERLIB)
+ del /q $(*F).cs
+ "$(SLICE2CS)" --output-dir $(GDIR) $(SLICE2CSFLAGS) $(slicedir)\IceDiscovery\IceDiscovery.ice
+
+!if "$(DEBUG)" == "yes"
+clean::
+ del /q $(assembliesdir)\$(PKG).pdb
+!endif
+
+clean::
+ del /q $(assembliesdir)\$(PKG).xml
+
+install:: all
+ copy $(assembliesdir)\$(LIBNAME) "$(install_assembliesdir)"
+ copy $(assembliesdir)\$(PKG).xml "$(install_assembliesdir)"
+!if "$(generate_policies)" == "yes"
+ copy $(assembliesdir)\$(POLICY_TARGET) "$(install_assembliesdir)"
+!endif
+!if "$(DEBUG)" == "yes"
+ copy $(assembliesdir)\$(PKG).pdb "$(install_assembliesdir)"
+!endif
+
+!include .depend.mak
diff --git a/cs/src/IceDiscovery/PluginI.cs b/cs/src/IceDiscovery/PluginI.cs
new file mode 100644
index 00000000000..bc997e971fb
--- /dev/null
+++ b/cs/src/IceDiscovery/PluginI.cs
@@ -0,0 +1,148 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+namespace IceDiscovery
+{
+ using System;
+ using System.Text;
+ using System.Collections.Generic;
+
+ public sealed class PluginFactory : Ice.PluginFactory
+ {
+ public Ice.Plugin
+ create(Ice.Communicator communicator, string name, string[] args)
+ {
+ return new PluginI(communicator);
+ }
+ }
+
+ public sealed class PluginI : Ice.Plugin
+ {
+ public
+ PluginI(Ice.Communicator communicator)
+ {
+ _communicator = communicator;
+
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = communicator.getProperties().ice_clone_();
+ initData.properties.setProperty("Ice.Default.CollocationOptimized", "0");
+ Dictionary<string, string> props = initData.properties.getPropertiesForPrefix("Ice.Plugin.");
+ foreach(string key in props.Keys)
+ {
+ initData.properties.setProperty(key, "");
+ }
+ _pluginCommunicator = Ice.Util.initialize(initData);
+ }
+
+ public void initialize()
+ {
+ Ice.Properties properties = _pluginCommunicator.getProperties();
+
+ bool ipv4 = properties.getPropertyAsIntWithDefault("Ice.IPv4", 1) > 0;
+ string address;
+ if(ipv4)
+ {
+ address = properties.getPropertyWithDefault("IceDiscovery.Address", "239.255.0.1");
+ }
+ else
+ {
+ address = properties.getPropertyWithDefault("IceDiscovery.Address", "ff15::1");
+ }
+ int port = properties.getPropertyAsIntWithDefault("IceDiscovery.Port", 4061);
+ string intf = properties.getProperty("IceDiscovery.Interface");
+
+ if(properties.getProperty("IceDiscovery.Multicast.Endpoints").Length == 0)
+ {
+ StringBuilder s = new StringBuilder();
+ s.Append("udp -h \"").Append(address).Append("\" -p ").Append(port);
+ if(intf.Length != 0)
+ {
+ s.Append(" --interface \"").Append(intf).Append("\"");
+ }
+ properties.setProperty("IceDiscovery.Multicast.Endpoints", s.ToString());
+ }
+ if(properties.getProperty("IceDiscovery.Reply.Endpoints").Length == 0)
+ {
+ StringBuilder s = new StringBuilder();
+ s.Append("udp");
+ if(intf.Length != 0)
+ {
+ s.Append(" -h \"").Append(intf).Append("\"");
+ }
+ properties.setProperty("IceDiscovery.Reply.Endpoints", s.ToString());
+ }
+ if(properties.getProperty("IceDiscovery.Locator.Endpoints").Length == 0)
+ {
+ if(ipv4)
+ {
+ properties.setProperty("IceDiscovery.Locator.Endpoints", "tcp -h 127.0.0.1");
+ }
+ else
+ {
+ properties.setProperty("IceDiscovery.Locator.Endpoints", "tcp -h \"::1\"");
+ }
+ }
+
+ Ice.ObjectAdapter multicastAdapter = _pluginCommunicator.createObjectAdapter("IceDiscovery.Multicast");
+ Ice.ObjectAdapter replyAdapter = _pluginCommunicator.createObjectAdapter("IceDiscovery.Reply");
+ Ice.ObjectAdapter locatorAdapter = _pluginCommunicator.createObjectAdapter("IceDiscovery.Locator");
+
+ //
+ // Setup locatory registry.
+ //
+ LocatorRegistryI locatorRegistry = new LocatorRegistryI(_communicator);
+ Ice.LocatorRegistryPrx locatorRegistryPrx = Ice.LocatorRegistryPrxHelper.uncheckedCast(
+ locatorAdapter.addWithUUID(locatorRegistry));
+
+ string lookupEndpoints = properties.getProperty("IceDiscovery.Lookup");
+ if(lookupEndpoints.Length == 0)
+ {
+ lookupEndpoints = "udp -h \"" + address + "\" -p " + port;
+ if(intf.Length > 0)
+ {
+ lookupEndpoints += " --interface \"" + intf + "\"";
+ }
+ }
+
+ Ice.ObjectPrx lookupPrx = _pluginCommunicator.stringToProxy("IceDiscovery/Lookup -d:" + lookupEndpoints);
+ lookupPrx = lookupPrx.ice_collocationOptimized(false);
+
+ //
+ // Add lookup and lookup reply Ice objects
+ //
+ LookupI lookup = new LookupI(locatorRegistry, LookupPrxHelper.uncheckedCast(lookupPrx), properties);
+ multicastAdapter.add(lookup, _pluginCommunicator.stringToIdentity("IceDiscovery/Lookup"));
+
+ Ice.ObjectPrx lookupReply = replyAdapter.addWithUUID(new LookupReplyI(lookup)).ice_datagram();
+ lookup.setLookupReply(LookupReplyPrxHelper.uncheckedCast(lookupReply));
+
+ //
+ // Setup locator on the communicator.
+ //
+ Ice.ObjectPrx loc;
+ loc = locatorAdapter.addWithUUID(
+ new LocatorI(lookup, Ice.LocatorRegistryPrxHelper.uncheckedCast(locatorRegistryPrx)));
+ _communicator.setDefaultLocator(
+ Ice.LocatorPrxHelper.uncheckedCast(_communicator.stringToProxy(loc.ToString())));
+
+ multicastAdapter.activate();
+ replyAdapter.activate();
+ locatorAdapter.activate();
+ }
+
+ public void destroy()
+ {
+ _pluginCommunicator.destroy();
+ }
+
+ private Ice.Communicator _communicator;
+ private Ice.Communicator _pluginCommunicator;
+ }
+
+} \ No newline at end of file
diff --git a/cs/src/IceDiscovery/generated/.gitignore b/cs/src/IceDiscovery/generated/.gitignore
new file mode 100644
index 00000000000..39af5887579
--- /dev/null
+++ b/cs/src/IceDiscovery/generated/.gitignore
@@ -0,0 +1 @@
+# Dummy file, so that git retains this otherwise empty directory.
diff --git a/cs/src/Makefile b/cs/src/Makefile
index 2afc19e373c..7c4ec17ed1f 100644
--- a/cs/src/Makefile
+++ b/cs/src/Makefile
@@ -11,7 +11,7 @@ top_srcdir = ..
include $(top_srcdir)/config/Make.rules.cs
-SUBDIRS = Ice IceStorm Glacier2 IcePatch2 IceGrid IceBox
+SUBDIRS = Ice IceStorm Glacier2 IcePatch2 IceGrid IceBox IceDiscovery
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
diff --git a/cs/src/Makefile.mak b/cs/src/Makefile.mak
index 212e52eaad6..48ff302c1b0 100644
--- a/cs/src/Makefile.mak
+++ b/cs/src/Makefile.mak
@@ -11,7 +11,7 @@ top_srcdir = ..
!include $(top_srcdir)\config\Make.rules.mak.cs
-SUBDIRS = Ice IceStorm Glacier2 IcePatch2 IceGrid
+SUBDIRS = Ice IceStorm Glacier2 IcePatch2 IceGrid IceDiscovery
!if "$(COMPACT)" != "yes" && "$(SILVERLIGHT)" != "yes"
SUBDIRS = $(SUBDIRS) IceSSL
diff --git a/cs/test/Ice/proxy/AllTests.cs b/cs/test/Ice/proxy/AllTests.cs
index 1330c3fbb84..f547aaf2531 100644
--- a/cs/test/Ice/proxy/AllTests.cs
+++ b/cs/test/Ice/proxy/AllTests.cs
@@ -412,7 +412,8 @@ public class AllTests : TestCommon.TestApp
test(proxyProps["Test.Locator"].Equals(
"locator -t -e " + Ice.Util.encodingVersionToString(Ice.Util.currentEncoding)));
- test(proxyProps["Test.Locator.CollocationOptimized"].Equals("1"));
+ // Locator collocation optimization is always disabled.
+ //test(proxyProps["Test.Locator.CollocationOptimized"].Equals("1"));
test(proxyProps["Test.Locator.ConnectionCached"].Equals("0"));
test(proxyProps["Test.Locator.PreferSecure"].Equals("1"));
test(proxyProps["Test.Locator.EndpointSelection"].Equals("Random"));
diff --git a/cs/test/IceDiscovery/Makefile b/cs/test/IceDiscovery/Makefile
new file mode 100644
index 00000000000..0627d5ebe79
--- /dev/null
+++ b/cs/test/IceDiscovery/Makefile
@@ -0,0 +1,32 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../..
+
+include $(top_srcdir)/config/Make.rules.cs
+
+
+SUBDIRS = simple
+
+
+.PHONY: $(EVERYTHING) $(SUBDIRS)
+
+all:: $(SUBDIRS)
+
+$(SUBDIRS):
+ @echo "making all in $@"
+ @$(MAKE) all --directory=$@
+
+
+$(EVERYTHING_EXCEPT_ALL)::
+ @for subdir in $(SUBDIRS); \
+ do \
+ echo "making $@ in $$subdir"; \
+ ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
+ done
diff --git a/cs/test/IceDiscovery/Makefile.mak b/cs/test/IceDiscovery/Makefile.mak
new file mode 100644
index 00000000000..f0cd4aecdf9
--- /dev/null
+++ b/cs/test/IceDiscovery/Makefile.mak
@@ -0,0 +1,19 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..
+
+!include $(top_srcdir)/config/Make.rules.mak.cs
+
+SUBDIRS = simple
+
+$(EVERYTHING)::
+ @for %i in ( $(SUBDIRS) ) do \
+ @echo "making $@ in %i" && \
+ cmd /c "cd %i && $(MAKE) -nologo -f Makefile.mak $@" || exit 1
diff --git a/cs/test/IceDiscovery/simple/.depend b/cs/test/IceDiscovery/simple/.depend
new file mode 100644
index 00000000000..e452bf88cbb
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/.depend
@@ -0,0 +1 @@
+generated/Test.cs: ./Test.ice $(SLICE2CS) $(SLICEPARSERLIB)
diff --git a/cs/test/IceDiscovery/simple/.depend.mak b/cs/test/IceDiscovery/simple/.depend.mak
new file mode 100644
index 00000000000..a96a221bea2
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/.depend.mak
@@ -0,0 +1 @@
+generated/Test.cs: ./Test.ice "$(SLICE2CS)" "$(SLICEPARSERLIB)"
diff --git a/cs/test/IceDiscovery/simple/.gitignore b/cs/test/IceDiscovery/simple/.gitignore
new file mode 100644
index 00000000000..67872faa673
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/.gitignore
@@ -0,0 +1,7 @@
+// Generated by makegitignore.py
+
+// IMPORTANT: Do not edit this file -- any edits made here will be lost!
+client
+server
+Test.cpp
+Test.h
diff --git a/cs/test/IceDiscovery/simple/AllTests.cs b/cs/test/IceDiscovery/simple/AllTests.cs
new file mode 100644
index 00000000000..c9137183310
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/AllTests.cs
@@ -0,0 +1,214 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+using Test;
+using System;
+using System.Collections.Generic;
+using System.Threading;
+
+public class AllTests
+{
+ private static void test(bool b)
+ {
+ if(!b)
+ {
+ throw new Exception();
+ }
+ }
+
+ public static void
+ allTests(Ice.Communicator communicator, int num)
+ {
+ List<ControllerPrx> proxies = new List<ControllerPrx>();
+ List<ControllerPrx> indirectProxies = new List<ControllerPrx>();
+ for(int i = 0; i < num; ++i)
+ {
+ string id = "controller" + i;
+ proxies.Add(ControllerPrxHelper.uncheckedCast(communicator.stringToProxy(id)));
+ indirectProxies.Add(ControllerPrxHelper.uncheckedCast(communicator.stringToProxy(id + "@control" + i)));
+ }
+
+ Console.Out.Write("testing indirect proxies... ");
+ Console.Out.Flush();
+ {
+ foreach(ControllerPrx prx in indirectProxies)
+ {
+ prx.ice_ping();
+ }
+ }
+ Console.Out.WriteLine("ok");
+
+ Console.Out.Write("testing well-known proxies... ");
+ Console.Out.Flush();
+ {
+ foreach(ControllerPrx prx in proxies)
+ {
+ prx.ice_ping();
+ }
+ }
+ Console.Out.WriteLine("ok");
+
+ Console.Out.Write("testing object adapter registration... ");
+ Console.Out.Flush();
+ {
+ try
+ {
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ }
+ catch(Ice.NoEndpointException)
+ {
+ }
+
+ proxies[0].activateObjectAdapter("oa", "oa1", "");
+
+ try
+ {
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ }
+ catch(Ice.ObjectNotExistException)
+ {
+ }
+
+ proxies[0].deactivateObjectAdapter("oa");
+
+ try
+ {
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ }
+ catch(Ice.NoEndpointException)
+ {
+ }
+ }
+ Console.Out.WriteLine("ok");
+
+ Console.Out.Write("testing object adapter migration...");
+ Console.Out.Flush();
+ {
+ proxies[0].activateObjectAdapter("oa", "oa1", "");
+ proxies[0].addObject("oa", "object");
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ proxies[0].removeObject("oa", "object");
+ proxies[0].deactivateObjectAdapter("oa");
+
+ proxies[1].activateObjectAdapter("oa", "oa1", "");
+ proxies[1].addObject("oa", "object");
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ proxies[1].removeObject("oa", "object");
+ proxies[1].deactivateObjectAdapter("oa");
+ }
+ Console.Out.WriteLine("ok");
+
+ Console.Out.Write("testing object migration...");
+ Console.Out.Flush();
+ {
+ proxies[0].activateObjectAdapter("oa", "oa1", "");
+ proxies[1].activateObjectAdapter("oa", "oa2", "");
+
+ proxies[0].addObject("oa", "object");
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ communicator.stringToProxy("object").ice_ping();
+ proxies[0].removeObject("oa", "object");
+
+ proxies[1].addObject("oa", "object");
+ communicator.stringToProxy("object @ oa2").ice_ping();
+ communicator.stringToProxy("object").ice_ping();
+ proxies[1].removeObject("oa", "object");
+
+ try
+ {
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ }
+ catch(Ice.ObjectNotExistException)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("object @ oa2").ice_ping();
+ }
+ catch(Ice.ObjectNotExistException)
+ {
+ }
+
+ proxies[0].deactivateObjectAdapter("oa");
+ proxies[1].deactivateObjectAdapter("oa");
+ }
+ Console.Out.WriteLine("ok");
+
+ Console.Out.Write("testing replica groups...");
+ Console.Out.Flush();
+ {
+ proxies[0].activateObjectAdapter("oa", "oa1", "rg");
+ proxies[1].activateObjectAdapter("oa", "oa2", "rg");
+ proxies[2].activateObjectAdapter("oa", "oa3", "rg");
+
+ proxies[0].addObject("oa", "object");
+ proxies[1].addObject("oa", "object");
+ proxies[2].addObject("oa", "object");
+
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ communicator.stringToProxy("object @ oa2").ice_ping();
+ communicator.stringToProxy("object @ oa3").ice_ping();
+
+ communicator.stringToProxy("object @ rg").ice_ping();
+
+ List<string> adapterIds = new List<string>();
+ adapterIds.Add("oa1");
+ adapterIds.Add("oa2");
+ adapterIds.Add("oa3");
+ TestIntfPrx intf = TestIntfPrxHelper.uncheckedCast(communicator.stringToProxy("object"));
+ intf = (TestIntfPrx)intf.ice_connectionCached(false).ice_locatorCacheTimeout(0);
+ while(adapterIds.Count > 0)
+ {
+ adapterIds.Remove(intf.getAdapterId());
+ }
+
+ while(true)
+ {
+ adapterIds.Add("oa1");
+ adapterIds.Add("oa2");
+ adapterIds.Add("oa3");
+ intf = TestIntfPrxHelper.uncheckedCast(
+ communicator.stringToProxy("object @ rg").ice_connectionCached(false));
+ int nRetry = 100;
+ while(adapterIds.Count > 0 && --nRetry > 0)
+ {
+ adapterIds.Remove(intf.getAdapterId());
+ }
+ if(nRetry > 0)
+ {
+ break;
+ }
+
+ // The previous locator lookup probably didn't return all the replicas... try again.
+ communicator.stringToProxy("object @ rg").ice_locatorCacheTimeout(0).ice_ping();
+ }
+
+ proxies[0].deactivateObjectAdapter("oa");
+ proxies[1].deactivateObjectAdapter("oa");
+ test(TestIntfPrxHelper.uncheckedCast(
+ communicator.stringToProxy("object @ rg")).getAdapterId().Equals("oa3"));
+ proxies[2].deactivateObjectAdapter("oa");
+
+ proxies[0].activateObjectAdapter("oa", "oa1", "rg");
+ proxies[0].addObject("oa", "object");
+ test(TestIntfPrxHelper.uncheckedCast(
+ communicator.stringToProxy("object @ rg")).getAdapterId().Equals("oa1"));
+ proxies[0].deactivateObjectAdapter("oa");
+ }
+ Console.Out.WriteLine("ok");
+
+ Console.Out.Write("shutting down... ");
+ Console.Out.Flush();
+ foreach(ControllerPrx prx in proxies)
+ {
+ prx.shutdown();
+ }
+ Console.Out.WriteLine("ok");
+ }
+}
diff --git a/cs/test/IceDiscovery/simple/Client.cs b/cs/test/IceDiscovery/simple/Client.cs
new file mode 100644
index 00000000000..de5b76daff5
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/Client.cs
@@ -0,0 +1,68 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+using System;
+using System.Diagnostics;
+using System.Reflection;
+
+[assembly: CLSCompliant(true)]
+
+[assembly: AssemblyTitle("IceDiscoveryTest")]
+[assembly: AssemblyDescription("IceDiscovery test")]
+[assembly: AssemblyCompany("ZeroC, Inc.")]
+
+public class Client
+{
+ private static int run(string[] args, Ice.Communicator communicator)
+ {
+ int num;
+ try
+ {
+ num = args.Length == 1 ? System.Int32.Parse(args[0]) : 0;
+ }
+ catch(System.FormatException)
+ {
+ num = 0;
+ }
+ AllTests.allTests(communicator, num);
+ return 0;
+ }
+
+ public static int Main(string[] args)
+ {
+ int status = 0;
+ Ice.Communicator communicator = null;
+
+ try
+ {
+ communicator = Ice.Util.initialize(ref args);
+ status = run(args, communicator);
+ }
+ catch(System.Exception ex)
+ {
+ System.Console.Error.WriteLine(ex);
+ status = 1;
+ }
+
+ if(communicator != null)
+ {
+ try
+ {
+ communicator.destroy();
+ }
+ catch(Ice.LocalException ex)
+ {
+ System.Console.Error.WriteLine(ex);
+ status = 1;
+ }
+ }
+
+ return status;
+ }
+}
diff --git a/cs/test/IceDiscovery/simple/Makefile b/cs/test/IceDiscovery/simple/Makefile
new file mode 100644
index 00000000000..5ea035624dc
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/Makefile
@@ -0,0 +1,35 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ../../..
+
+TARGETS = client.exe server.exe
+
+C_SRCS = AllTests.cs Client.cs
+S_SRCS = TestI.cs Server.cs
+
+SLICE_SRCS = $(SDIR)/Test.ice
+
+SDIR = .
+
+GDIR = generated
+
+include $(top_srcdir)/config/Make.rules.cs
+
+MCSFLAGS := $(MCSFLAGS) -target:exe
+
+SLICE2CSFLAGS := $(SLICE2CSFLAGS) -I. -I$(slicedir)
+
+client.exe: $(C_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(subst /,$(DSEP),$^)
+
+server.exe: $(S_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(subst /,$(DSEP),$^)
+
+include .depend
diff --git a/cs/test/IceDiscovery/simple/Makefile.mak b/cs/test/IceDiscovery/simple/Makefile.mak
new file mode 100644
index 00000000000..c66583286ec
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/Makefile.mak
@@ -0,0 +1,35 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+
+TARGETS = client.exe server.exe
+
+C_SRCS = AllTests.cs Client.cs
+S_SRCS = TestI.cs Server.cs
+
+GEN_SRCS = $(GDIR)\Test.cs
+
+SDIR = .
+
+GDIR = generated
+
+!include $(top_srcdir)\config\Make.rules.mak.cs
+
+MCSFLAGS = $(MCSFLAGS) -target:exe
+
+SLICE2CSFLAGS = $(SLICE2CSFLAGS) -I. -I"$(slicedir)"
+
+client.exe: $(C_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ -r:"$(refdir)\Ice.dll" $(C_SRCS) $(GEN_SRCS)
+
+server.exe: $(S_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ -r:"$(refdir)\Ice.dll" $(S_SRCS) $(GEN_SRCS)
+
+!include .depend.mak
diff --git a/cs/test/IceDiscovery/simple/Server.cs b/cs/test/IceDiscovery/simple/Server.cs
new file mode 100644
index 00000000000..82e802cfe96
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/Server.cs
@@ -0,0 +1,78 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+using System;
+using System.Diagnostics;
+using System.Reflection;
+
+[assembly: CLSCompliant(true)]
+
+[assembly: AssemblyTitle("IceDiscoveryTest")]
+[assembly: AssemblyDescription("IceDiscovery test")]
+[assembly: AssemblyCompany("ZeroC, Inc.")]
+
+public class Server
+{
+ private static int run(string[] args, Ice.Communicator communicator)
+ {
+ Ice.Properties properties = communicator.getProperties();
+
+ int num = 0;
+ try
+ {
+ num = System.Int32.Parse(args[0]);
+ }
+ catch(System.FormatException)
+ {
+ }
+
+ properties.setProperty("ControlAdapter.Endpoints", "default -p " + (12010 + num));
+ properties.setProperty("ControlAdapter.AdapterId", "control" + num);
+ properties.setProperty("ControlAdapter.ThreadPool.Size", "1");
+
+ Ice.ObjectAdapter adapter = communicator.createObjectAdapter("ControlAdapter");
+ adapter.add(new ControllerI(), communicator.stringToIdentity("controller" + num));
+ adapter.activate();
+
+ communicator.waitForShutdown();
+ return 0;
+ }
+
+ public static int Main(string[] args)
+ {
+ int status = 0;
+ Ice.Communicator communicator = null;
+
+ try
+ {
+ communicator = Ice.Util.initialize(ref args);
+ status = run(args, communicator);
+ }
+ catch(System.Exception ex)
+ {
+ System.Console.Error.WriteLine(ex);
+ status = 1;
+ }
+
+ if(communicator != null)
+ {
+ try
+ {
+ communicator.destroy();
+ }
+ catch(Ice.LocalException ex)
+ {
+ System.Console.Error.WriteLine(ex);
+ status = 1;
+ }
+ }
+
+ return status;
+ }
+}
diff --git a/cs/test/IceDiscovery/simple/Test.ice b/cs/test/IceDiscovery/simple/Test.ice
new file mode 100644
index 00000000000..03d59e513a7
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/Test.ice
@@ -0,0 +1,33 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+
+[["java:package:test.IceDiscovery.simple"]]
+module Test
+{
+
+interface TestIntf
+{
+ string getAdapterId();
+};
+
+interface Controller
+{
+ void activateObjectAdapter(string name, string adapterId, string replicaGroupId);
+ void deactivateObjectAdapter(string name);
+
+ void addObject(string oaName, string id);
+ void removeObject(string oaName, string id);
+
+ void shutdown();
+};
+
+};
diff --git a/cs/test/IceDiscovery/simple/TestI.cs b/cs/test/IceDiscovery/simple/TestI.cs
new file mode 100644
index 00000000000..515c14ff450
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/TestI.cs
@@ -0,0 +1,69 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+using System.Diagnostics;
+using System.Collections.Generic;
+
+public sealed class ControllerI : Test.ControllerDisp_
+{
+ public override void
+ activateObjectAdapter(string name, string adapterId, string replicaGroupId, Ice.Current current)
+ {
+ Ice.Communicator communicator = current.adapter.getCommunicator();
+ Ice.Properties properties = communicator.getProperties();
+ properties.setProperty(name + ".AdapterId", adapterId);
+ properties.setProperty(name + ".ReplicaGroupId", replicaGroupId);
+ properties.setProperty(name + ".Endpoints", "default");
+ Ice.ObjectAdapter oa = communicator.createObjectAdapter(name);
+ _adapters[name] = oa;
+ oa.activate();
+ }
+
+ public override void
+ deactivateObjectAdapter(string name, Ice.Current current)
+ {
+ _adapters[name].destroy();
+ _adapters.Remove(name);
+ }
+
+ public override void
+ addObject(string oaName, string id, Ice.Current current)
+ {
+ Debug.Assert(_adapters.ContainsKey(oaName));
+ Ice.Identity identity = new Ice.Identity();
+ identity.name = id;
+ _adapters[oaName].add(new TestIntfI(), identity);
+ }
+
+ public override void
+ removeObject(string oaName, string id, Ice.Current current)
+ {
+ Debug.Assert(_adapters.ContainsKey(oaName));
+ Ice.Identity identity = new Ice.Identity();
+ identity.name = id;
+ _adapters[oaName].remove(identity);
+ }
+
+ public override void
+ shutdown(Ice.Current current)
+ {
+ current.adapter.getCommunicator().shutdown();
+ }
+
+ private Dictionary<string, Ice.ObjectAdapter> _adapters = new Dictionary<string, Ice.ObjectAdapter>();
+}
+
+public sealed class TestIntfI : Test.TestIntfDisp_
+{
+ public override string
+ getAdapterId(Ice.Current current)
+ {
+ return current.adapter.getCommunicator().getProperties().getProperty(current.adapter.getName() + ".AdapterId");
+ }
+} \ No newline at end of file
diff --git a/cs/test/IceDiscovery/simple/generated/.gitignore b/cs/test/IceDiscovery/simple/generated/.gitignore
new file mode 100644
index 00000000000..39af5887579
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/generated/.gitignore
@@ -0,0 +1 @@
+# Dummy file, so that git retains this otherwise empty directory.
diff --git a/cs/test/IceDiscovery/simple/run.py b/cs/test/IceDiscovery/simple/run.py
new file mode 100755
index 00000000000..95207a0eb0d
--- /dev/null
+++ b/cs/test/IceDiscovery/simple/run.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+import os, sys
+
+path = [ ".", "..", "../..", "../../..", "../../../.." ]
+head = os.path.dirname(sys.argv[0])
+if len(head) > 0:
+ path = [os.path.join(head, p) for p in path]
+path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
+ raise RuntimeError("can't find toplevel directory!")
+sys.path.append(os.path.join(path[0], "scripts"))
+import TestUtil
+
+server = os.path.join(os.getcwd(), "server")
+client = os.path.join(os.getcwd(), "client")
+
+num = 3
+
+args = " --Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory"
+args += " --IceDiscovery.Timeout=30"
+args += " --IceDiscovery.RetryCount=1"
+
+if TestUtil.isDarwin() and TestUtil.ipv6:
+ print("test not supported on OS X with IPv6")
+ sys.exit(0)
+
+if TestUtil.ipv6:
+ args += " --IceDiscovery.Interface=0:0:0:0:0:0:0:1"
+else:
+ args += " --IceDiscovery.Interface=127.0.0.1"
+
+serverProc = []
+for i in range(0, num):
+ sys.stdout.write("starting server #%d... " % (i + 1))
+ sys.stdout.flush()
+ serverProc.append(TestUtil.startServer(server, "%d %s" % (i, args)))
+ print("ok")
+
+sys.stdout.write("starting client... ")
+sys.stdout.flush()
+clientProc = TestUtil.startClient(client, "%d %s" % (num, args), startReader = False)
+print("ok")
+clientProc.startReader()
+
+clientProc.waitTestSuccess()
+for p in serverProc:
+ p.waitTestSuccess()
diff --git a/cs/test/Makefile b/cs/test/Makefile
index 9ac48cc7d30..ddebb83a3ad 100644
--- a/cs/test/Makefile
+++ b/cs/test/Makefile
@@ -11,7 +11,7 @@ top_srcdir = ..
include $(top_srcdir)/config/Make.rules.cs
-SUBDIRS = Slice IceUtil Ice IceBox Glacier2 IceGrid
+SUBDIRS = Slice IceUtil Ice IceBox Glacier2 IceGrid IceDiscovery
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
diff --git a/cs/test/Makefile.mak b/cs/test/Makefile.mak
index 67e05058a9d..10b412f48d2 100644
--- a/cs/test/Makefile.mak
+++ b/cs/test/Makefile.mak
@@ -13,7 +13,7 @@ top_srcdir = ..
SUBDIRS = Slice IceUtil Ice IceBox Glacier2 IceGrid
!if "$(COMPACT)" == ""
-SUBDIRS = $(SUBDIRS) IceSSL
+SUBDIRS = $(SUBDIRS) IceSSL IceDiscovery
!endif
diff --git a/demoscript/Ice/multicast.py b/demoscript/Ice/multicast.py
index 059fe37cf9c..5da2fcaadd3 100644
--- a/demoscript/Ice/multicast.py
+++ b/demoscript/Ice/multicast.py
@@ -77,7 +77,7 @@ def run(clientCmd, serverCmd):
# a "Host not reachable" error, instead we use a link-local address with on loopback.
#
if Util.isDarwin():
- endpoint = 'udp -h \\"ff02::1:1\\" -p 10000 --interface \\"lo0\\"'
+ endpoint = 'udp -h \\"ff02::1:1\\" -p 10000 --interface \\"::1\\"'
else:
endpoint = 'udp -h \\"ff01::1:1\\" -p 10000'
serverCmd += ' --Ice.IPv6=1 --Discover.Endpoints="%s"' % (endpoint)
diff --git a/java/allTests.py b/java/allTests.py
index 8b9a0509525..069c3e307a9 100755
--- a/java/allTests.py
+++ b/java/allTests.py
@@ -79,6 +79,7 @@ tests = [
("Freeze/fileLock", ["once"]),
("Glacier2/router", ["service"]),
("Glacier2/sessionHelper", ["service", "nossl", "noipv6"]),
+ ("IceDiscovery/simple", ["service"]),
("IceGrid/simple", ["service"]),
("IceSSL/configuration", ["once"])
]
diff --git a/java/build.xml b/java/build.xml
index 924c5669ee5..0e22cdecb97 100644
--- a/java/build.xml
+++ b/java/build.xml
@@ -79,6 +79,9 @@
<include name="Instrumentation.ice" />
<include name="Metrics.ice" />
</fileset>
+ <fileset dir="${slice.dir}/IceDiscovery">
+ <include name="IceDiscovery.ice" />
+ </fileset>
<fileset dir="${slice.dir}/Freeze">
<include name="DB.ice" />
<include name="Connection.ice" />
@@ -242,6 +245,34 @@
</jar>
</target>
+ <target name="icediscovery-compile" depends="ice-compile" unless="ice.bin.dist">
+ <mkdir dir="${lib.dir}"/>
+ <mkdir dir="${cache.dir}"/>
+ <depend srcdir=".:${src.dir}:${generated.dir}:${generated.test.dir}" destdir="${lib.dir}" cache="${cache.dir}">
+ <include name="IceDiscovery/**"/>
+ </depend>
+ <javac srcdir="${src.dir}:${generated.dir}" destdir="${lib.dir}" source="1.6" target="1.6" debug="${debug}"
+ deprecation="on">
+ <include name="IceDiscovery/**"/>
+ <compilerarg value="${javac.lint}"/>
+ </javac>
+ </target>
+
+ <target name="icediscovery-jar" depends="icediscovery-compile, ice-jar" unless="ice.bin.dist">
+ <jar jarfile="${lib.dir}/${icediscovery.jar.name}" basedir="${lib.dir}">
+ <include name="IceDiscovery/*.class"/>
+ <manifest>
+ <attribute name="Built-By" value="ZeroC, Inc."/>
+ </manifest>
+ </jar>
+ <jar jarfile="${lib.dir}/${icediscovery.jar.name}" basedir="${src.dir}" update="yes">
+ <include name="IceDiscovery/*.java"/>
+ </jar>
+ <jar jarfile="${lib.dir}/${icediscovery.jar.name}" basedir="${generated.dir}" update="yes">
+ <include name="IceDiscovery/*.java"/>
+ </jar>
+ </target>
+
<target name="freeze-compile" depends="ice-compile" unless="ice.bin.dist">
<mkdir dir="${lib.dir}"/>
<depend srcdir=".:${src.dir}:${generated.dir}:${generated.test.dir}" destdir="${lib.dir}" cache="${cache.dir}">
@@ -466,6 +497,7 @@
<include name="test/Freeze/complex/Complex.ice" />
<include name="test/Glacier2/router/Callback.ice" />
<include name="test/Glacier2/sessionHelper/Callback.ice" />
+ <include name="test/IceDiscovery/simple/Test.ice" />
<include name="test/IceGrid/simple/Test.ice" />
<include name="test/IceBox/admin/Test.ice" />
<include name="test/IceBox/configuration/Test.ice" />
@@ -573,7 +605,9 @@
</target>
<target name="test-compile" depends="ice-compile, freeze-compile, glacier2-compile, icebox-compile,
- icestorm-compile, icegrid-compile, test-generate">
+ icestorm-compile,
+ icegrid-compile,
+ icediscovery-compile, test-generate">
<mkdir dir="${lib.dir}"/>
<mkdir dir="${cache.dir}"/>
<depend srcdir=".:${generated.test.dir}" destdir="${lib.dir}" cache="${cache.dir}">
@@ -901,11 +935,14 @@
</target>
<target name="compile" depends="ice-compile, icebox-compile, glacier2-compile, icestorm-compile, icegrid-compile,
- freeze-compile, icepatch2-compile, icegridadmin-compile"/>
+ icediscovery-compile, freeze-compile, icepatch2-compile, icegridadmin-compile"/>
<target name="dist-jar"
- depends="ice-jar, icebox-jar, glacier2-jar, icestorm-jar, icegrid-jar, freeze-jar, icepatch2-jar,
- icegridadmin-plain-jar, icegridadmin-pro-jar, icegridadmin-javafx-jar, icegridadmin-bundle"/>
+ depends="ice-jar, icebox-jar, glacier2-jar, icestorm-jar,
+ icegrid-jar, freeze-jar, icepatch2-jar,
+ icediscovery-jar, icegridadmin-plain-jar,
+ icegridadmin-pro-jar,
+ icegridadmin-javafx-jar, icegridadmin-bundle"/>
<target name="jar" depends="dist-jar, test-jar, test-android-jar"/>
@@ -938,7 +975,8 @@
<target name="install-icegridgui-bundle" if="build-icegridadmin-bundle">
<mkdir dir="${prefix}/bin"/>
- <!-- Don't use the copy task, it will lost the folder flags -->
+ <!-- Don't use the copy task, it will lost the folder flags
+ -->
<exec executable="cp">
<arg value="-rf"/>
<arg value="${lib.dir}/IceGrid Admin.app"/>
diff --git a/java/config/common.xml b/java/config/common.xml
index 24afa396092..0c02b47914e 100644
--- a/java/config/common.xml
+++ b/java/config/common.xml
@@ -37,6 +37,7 @@
</condition>
<property name="ant-ice.jar.name" value="ant-ice${version.suffix}.jar"/>
+ <property name="icediscovery.jar.name" value="IceDiscovery${version.suffix}.jar"/>
<property name="freeze.jar.name" value="Freeze${version.suffix}.jar"/>
<property name="glacier2.jar.name" value="Glacier2${version.suffix}.jar"/>
<property name="icebox.jar.name" value="IceBox${version.suffix}.jar"/>
@@ -501,6 +502,25 @@
<pathelement location="${ice.jar.file}"/>
</path>
+ <!-- IceDiscovery jar file -->
+ <condition property="icediscovery.jar.file" value="${dist.lib.dir}/IceDiscovery-${ice.version}.jar">
+ <and>
+ <not><isset property="icediscovery.jar.file"/></not>
+ <available file="${dist.lib.dir}/IceDiscovery-${ice.version}.jar"/>
+ </and>
+ </condition>
+
+ <condition property="icediscovery.jar.file" value="${dist.lib.dir}/IceDiscovery.jar">
+ <and>
+ <not><isset property="icediscovery.jar.file"/></not>
+ <available file="${dist.lib.dir}/IceDiscovery.jar"/>
+ </and>
+ </condition>
+
+ <path id="icediscovery.classpath">
+ <pathelement location="${icediscovery.jar.file}"/>
+ </path>
+
<!-- Glacier2 jar file -->
<condition property="glacier2.jar.file" value="${dist.lib.dir}/Glacier2-${ice.version}.jar">
<and>
diff --git a/java/demo/IceDiscovery/build.xml b/java/demo/IceDiscovery/build.xml
new file mode 100644
index 00000000000..a181b6bb5ae
--- /dev/null
+++ b/java/demo/IceDiscovery/build.xml
@@ -0,0 +1,24 @@
+<!--
+ **********************************************************************
+
+ Copyright (c) 2003-2013 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.
+
+ **********************************************************************
+-->
+
+<project name="demo_IceDiscovery" default="all" basedir=".">
+
+ <target name="all">
+ <ant dir="hello"/>
+ <ant dir="replication"/>
+ </target>
+
+ <target name="clean">
+ <ant dir="hello" target="clean"/>
+ <ant dir="replication" target="clean"/>
+ </target>
+
+</project>
diff --git a/java/demo/IceDiscovery/hello/Client.java b/java/demo/IceDiscovery/hello/Client.java
new file mode 100644
index 00000000000..31d55f70c8c
--- /dev/null
+++ b/java/demo/IceDiscovery/hello/Client.java
@@ -0,0 +1,237 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+import Demo.*;
+
+public class Client extends Ice.Application
+{
+ class ShutdownHook extends Thread
+ {
+ public void
+ run()
+ {
+ try
+ {
+ communicator().destroy();
+ }
+ catch(Ice.LocalException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ private static void
+ menu()
+ {
+ System.out.println(
+ "usage:\n" +
+ "t: send greeting as twoway\n" +
+ "o: send greeting as oneway\n" +
+ "O: send greeting as batch oneway\n" +
+ "d: send greeting as datagram\n" +
+ "D: send greeting as batch datagram\n" +
+ "f: flush all batch requests\n" +
+ "T: set a timeout\n" +
+ "P: set a server delay\n" +
+ "S: switch secure mode on/off\n" +
+ "s: shutdown server\n" +
+ "x: exit\n" +
+ "?: help\n");
+ }
+
+ public int
+ run(String[] args)
+ {
+ if(args.length > 0)
+ {
+ System.err.println(appName() + ": too many arguments");
+ return 1;
+ }
+
+ //
+ // Since this is an interactive demo we want to clear the
+ // Application installed interrupt callback and install our
+ // own shutdown hook.
+ //
+ setInterruptHook(new ShutdownHook());
+
+ HelloPrx twoway = HelloPrxHelper.checkedCast(communicator().stringToProxy("hello").ice_timeout(-1));
+ if(twoway == null)
+ {
+ System.err.println("invalid proxy");
+ return 1;
+ }
+ HelloPrx oneway = (HelloPrx)twoway.ice_oneway();
+ HelloPrx batchOneway = (HelloPrx)twoway.ice_batchOneway();
+ HelloPrx datagram = (HelloPrx)twoway.ice_datagram();
+ HelloPrx batchDatagram = (HelloPrx)twoway.ice_batchDatagram();
+
+ boolean secure = false;
+ int timeout = -1;
+ int delay = 0;
+
+ menu();
+
+ java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
+
+ String line = null;
+ do
+ {
+ try
+ {
+ System.out.print("==> ");
+ System.out.flush();
+ line = in.readLine();
+ if(line == null)
+ {
+ break;
+ }
+ if(line.equals("t"))
+ {
+ twoway.sayHello(delay);
+ }
+ else if(line.equals("o"))
+ {
+ oneway.sayHello(delay);
+ }
+ else if(line.equals("O"))
+ {
+ batchOneway.sayHello(delay);
+ }
+ else if(line.equals("d"))
+ {
+ if(secure)
+ {
+ System.out.println("secure datagrams are not supported");
+ }
+ else
+ {
+ datagram.sayHello(delay);
+ }
+ }
+ else if(line.equals("D"))
+ {
+ if(secure)
+ {
+ System.out.println("secure datagrams are not supported");
+ }
+ else
+ {
+ batchDatagram.sayHello(delay);
+ }
+ }
+ else if(line.equals("f"))
+ {
+ communicator().flushBatchRequests();
+ }
+ else if(line.equals("T"))
+ {
+ if(timeout == -1)
+ {
+ timeout = 2000;
+ }
+ else
+ {
+ timeout = -1;
+ }
+
+ twoway = (HelloPrx)twoway.ice_timeout(timeout);
+ oneway = (HelloPrx)oneway.ice_timeout(timeout);
+ batchOneway = (HelloPrx)batchOneway.ice_timeout(timeout);
+
+ if(timeout == -1)
+ {
+ System.out.println("timeout is now switched off");
+ }
+ else
+ {
+ System.out.println("timeout is now set to 2000ms");
+ }
+ }
+ else if(line.equals("P"))
+ {
+ if(delay == 0)
+ {
+ delay = 2500;
+ }
+ else
+ {
+ delay = 0;
+ }
+
+ if(delay == 0)
+ {
+ System.out.println("server delay is now deactivated");
+ }
+ else
+ {
+ System.out.println("server delay is now set to 2500ms");
+ }
+ }
+ else if(line.equals("S"))
+ {
+ secure = !secure;
+
+ twoway = (HelloPrx)twoway.ice_secure(secure);
+ oneway = (HelloPrx)oneway.ice_secure(secure);
+ batchOneway = (HelloPrx)batchOneway.ice_secure(secure);
+ datagram = (HelloPrx)datagram.ice_secure(secure);
+ batchDatagram = (HelloPrx)batchDatagram.ice_secure(secure);
+
+ if(secure)
+ {
+ System.out.println("secure mode is now on");
+ }
+ else
+ {
+ System.out.println("secure mode is now off");
+ }
+ }
+ else if(line.equals("s"))
+ {
+ twoway.shutdown();
+ }
+ else if(line.equals("x"))
+ {
+ // Nothing to do
+ }
+ else if(line.equals("?"))
+ {
+ menu();
+ }
+ else
+ {
+ System.out.println("unknown command `" + line + "'");
+ menu();
+ }
+ }
+ catch(java.io.IOException ex)
+ {
+ ex.printStackTrace();
+ }
+ catch(Ice.LocalException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ while(!line.equals("x"));
+
+ return 0;
+ }
+
+ public static void
+ main(String[] args)
+ {
+ Client app = new Client();
+ int status = app.main("Client", args, "config.client");
+ System.exit(status);
+ }
+}
+
diff --git a/java/demo/IceDiscovery/hello/Hello.ice b/java/demo/IceDiscovery/hello/Hello.ice
new file mode 100644
index 00000000000..aca54020837
--- /dev/null
+++ b/java/demo/IceDiscovery/hello/Hello.ice
@@ -0,0 +1,21 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+module Demo
+{
+
+interface Hello
+{
+ idempotent void sayHello(int delay);
+ void shutdown();
+};
+
+};
diff --git a/java/demo/IceDiscovery/hello/HelloI.java b/java/demo/IceDiscovery/hello/HelloI.java
new file mode 100644
index 00000000000..416ee68e93b
--- /dev/null
+++ b/java/demo/IceDiscovery/hello/HelloI.java
@@ -0,0 +1,36 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+import Demo.*;
+
+public class HelloI extends _HelloDisp
+{
+ public void
+ sayHello(int delay, Ice.Current current)
+ {
+ if(delay > 0)
+ {
+ try
+ {
+ Thread.currentThread().sleep(delay);
+ }
+ catch(InterruptedException ex1)
+ {
+ }
+ }
+ System.out.println("Hello World!");
+ }
+
+ public void
+ shutdown(Ice.Current current)
+ {
+ System.out.println("Shutting down...");
+ current.adapter.getCommunicator().shutdown();
+ }
+}
diff --git a/java/demo/IceDiscovery/hello/README b/java/demo/IceDiscovery/hello/README
new file mode 100644
index 00000000000..0cc7c5b7cc9
--- /dev/null
+++ b/java/demo/IceDiscovery/hello/README
@@ -0,0 +1,18 @@
+This demo illustrates how to invoke ordinary (twoway) operations, as
+well as how to make oneway, datagram, secure, and batched invocations.
+
+To run the demo, first start the server:
+
+$ java Server
+
+In a separate window, start the client:
+
+$ java Client
+
+To test timeouts you can use 'T' to set a timeout on the client proxy
+and 'P' to set a delayed response in the server to cause a timeout.
+You will notice that two "Hello World!" messages will be printed by
+the server in this case. This is because the sayHello method is marked
+as idempotent in the slice, meaning that Ice does not need to follow
+the at-most-once retry semantics. See the manual for more information
+about retry behavior.
diff --git a/java/demo/IceDiscovery/hello/Server.java b/java/demo/IceDiscovery/hello/Server.java
new file mode 100644
index 00000000000..809282f6b25
--- /dev/null
+++ b/java/demo/IceDiscovery/hello/Server.java
@@ -0,0 +1,37 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+import Demo.*;
+
+public class Server extends Ice.Application
+{
+ public int
+ run(String[] args)
+ {
+ if(args.length > 0)
+ {
+ System.err.println(appName() + ": too many arguments");
+ return 1;
+ }
+
+ Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Hello");
+ adapter.add(new HelloI(), communicator().stringToIdentity("hello"));
+ adapter.activate();
+ communicator().waitForShutdown();
+ return 0;
+ }
+
+ public static void
+ main(String[] args)
+ {
+ Server app = new Server();
+ int status = app.main("Server", args, "config.server");
+ System.exit(status);
+ }
+}
diff --git a/java/demo/IceDiscovery/hello/build.xml b/java/demo/IceDiscovery/hello/build.xml
new file mode 100644
index 00000000000..4b771656bca
--- /dev/null
+++ b/java/demo/IceDiscovery/hello/build.xml
@@ -0,0 +1,44 @@
+<!--
+ **********************************************************************
+
+ Copyright (c) 2003-2013 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.
+
+ **********************************************************************
+-->
+
+<project name="demo_IceDiscovery_hello" default="all" basedir=".">
+
+ <!-- set global properties for this build -->
+ <property name="top.dir" value="../../.."/>
+
+ <!-- import common definitions -->
+ <import file="${top.dir}/config/common.xml"/>
+
+ <target name="generate" depends="init">
+ <!-- Create the output directory for generated code -->
+ <mkdir dir="${generated.dir}"/>
+ <slice2java outputdir="${generated.dir}">
+ <fileset dir="." includes="Hello.ice"/>
+ </slice2java>
+ </target>
+
+ <target name="compile" depends="generate">
+ <mkdir dir="${class.dir}"/>
+ <javac srcdir=".:${generated.dir}" destdir="${class.dir}" debug="${debug}">
+ <exclude name="${generated.dir}/**"/>
+ <classpath refid="ice.classpath"/>
+ <compilerarg value="${javac.lint}"/>
+ </javac>
+ </target>
+
+ <target name="all" depends="compile"/>
+
+ <target name="clean">
+ <delete dir="${generated.dir}"/>
+ <delete dir="${class.dir}"/>
+ </target>
+
+</project>
diff --git a/java/demo/IceDiscovery/hello/config.client b/java/demo/IceDiscovery/hello/config.client
new file mode 100644
index 00000000000..879b4c378c6
--- /dev/null
+++ b/java/demo/IceDiscovery/hello/config.client
@@ -0,0 +1,58 @@
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Warn about connection exceptions
+#
+Ice.Warn.Connections=1
+
+#
+# Locator tracing
+#
+Ice.Trace.Locator=1
+
+#
+# Network Tracing
+#
+# 0 = no network tracing
+# 1 = trace connection establishment and closure
+# 2 = like 1, but more detailed
+# 3 = like 2, but also trace data transfer
+#
+#Ice.Trace.Network=1
+
+#
+# Protocol Tracing
+#
+# 0 = no protocol tracing
+# 1 = trace protocol messages
+#
+#Ice.Trace.Protocol=1
+
+#
+# Security Tracing
+#
+# 0 = no security tracing
+# 1 = trace messages
+#
+#IceSSL.Trace.Security=1
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
+IceSSL.DefaultDir=../../../../certs
+IceSSL.ImportCert.CurrentUser.Root=cacert.pem
+IceSSL.CertFile=c_rsa1024.pfx
+IceSSL.Password=password
+
+#
+# IceMX configuration.
+#
+#Ice.Admin.Endpoints=tcp -h localhost -p 10003
+Ice.Admin.InstanceName=client
+IceMX.Metrics.Debug.GroupBy=id
+IceMX.Metrics.ByParent.GroupBy=parent
+
diff --git a/java/demo/IceDiscovery/hello/config.server b/java/demo/IceDiscovery/hello/config.server
new file mode 100644
index 00000000000..72d439f5275
--- /dev/null
+++ b/java/demo/IceDiscovery/hello/config.server
@@ -0,0 +1,65 @@
+#
+# The server creates one single object adapter with the name
+# "Hello". The following sets the endpoints and the adapter ID for
+# this adapter.
+#
+Hello.Endpoints=tcp -h localhost:udp -h localhost:ssl -h localhost
+Hello.AdapterId=HelloAdapter
+
+#
+# Warn about connection exceptions
+#
+Ice.Warn.Connections=1
+
+#
+# Locator tracing
+#
+Ice.Trace.Locator=0
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Network Tracing
+#
+# 0 = no network tracing
+# 1 = trace connection establishment and closure
+# 2 = like 1, but more detailed
+# 3 = like 2, but also trace data transfer
+#
+#Ice.Trace.Network=1
+
+#
+# Protocol Tracing
+#
+# 0 = no protocol tracing
+# 1 = trace protocol messages
+#
+#Ice.Trace.Protocol=1
+
+#
+# Security Tracing
+#
+# 0 = no security tracing
+# 1 = trace messages
+#
+#IceSSL.Trace.Security=1
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
+IceSSL.DefaultDir=../../../../certs
+IceSSL.ImportCert.CurrentUser.Root=cacert.pem
+IceSSL.CertFile=c_rsa1024.pfx
+IceSSL.Password=password
+
+#
+# IceMX configuration.
+#
+#Ice.Admin.Endpoints=tcp -h localhost -p 10003
+Ice.Admin.InstanceName=client
+IceMX.Metrics.Debug.GroupBy=id
+IceMX.Metrics.ByParent.GroupBy=parent
diff --git a/java/demo/IceDiscovery/hello/expect.py b/java/demo/IceDiscovery/hello/expect.py
new file mode 100755
index 00000000000..f676194c10f
--- /dev/null
+++ b/java/demo/IceDiscovery/hello/expect.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+import sys, os
+
+path = [ ".", "..", "../..", "../../..", "../../../.." ]
+head = os.path.dirname(sys.argv[0])
+if len(head) > 0:
+ path = [os.path.join(head, p) for p in path]
+path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "demoscript")) ]
+if len(path) == 0:
+ raise RuntimeError("can't find toplevel directory!")
+sys.path.append(path[0])
+
+from demoscript import Util
+from demoscript.Ice import hello
+
+server = Util.spawn('java Server --Ice.PrintAdapterReady --Ice.Warn.Connections=0')
+server.expect('.* ready')
+client = Util.spawn('java Client --Ice.Warn.Connections=0')
+client.expect('.*==>')
+
+hello.run(client, server)
diff --git a/java/demo/IceDiscovery/replication/Client.java b/java/demo/IceDiscovery/replication/Client.java
new file mode 100644
index 00000000000..94e489d4724
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/Client.java
@@ -0,0 +1,131 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+import Demo.*;
+
+public class Client extends Ice.Application
+{
+ class ShutdownHook extends Thread
+ {
+ public void
+ run()
+ {
+ try
+ {
+ communicator().destroy();
+ }
+ catch(Ice.LocalException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ public int
+ run(String[] args)
+ {
+ if(args.length > 0)
+ {
+ System.err.println(appName() + ": too many arguments");
+ return 1;
+ }
+
+ //
+ // Since this is an interactive demo we want to clear the
+ // Application installed interrupt callback and install our
+ // own shutdown hook.
+ //
+ setInterruptHook(new ShutdownHook());
+
+ //
+ // Get the hello proxy. We configure the proxy to not cache the
+ // server connection with the proxy and to disable the locator
+ // cache. With this configuration, the IceGrid locator will be
+ // queried for each invocation on the proxy and the invocation
+ // will be sent over the server connection matching the returned
+ // endpoints.
+ //
+ Ice.ObjectPrx obj = communicator().stringToProxy("hello");
+ obj = obj.ice_connectionCached(false);
+ obj = obj.ice_locatorCacheTimeout(0);
+
+ HelloPrx hello = HelloPrxHelper.checkedCast(obj);
+ if(hello == null)
+ {
+ System.err.println("invalid proxy");
+ return 1;
+ }
+
+ while(true)
+ {
+ System.out.print("enter the number of iterations: ");
+ System.out.flush();
+
+ try
+ {
+ java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
+ String line = in.readLine();
+ if(line == null || line.equals("x"))
+ {
+ break;
+ }
+
+ int count = Integer.parseInt(line);
+
+ System.out.print("enter the delay between each greetings (in ms): ");
+ System.out.flush();
+ line = in.readLine();
+ if(line == null || line.equals("x"))
+ {
+ break;
+ }
+ int delay = Integer.parseInt(line);
+
+ if(delay < 0)
+ {
+ delay = 500; // 500 milli-seconds
+ }
+
+ for(int i = 0; i < count; i++)
+ {
+ System.out.println(hello.getGreeting());
+ try
+ {
+ Thread.currentThread().sleep(delay);
+ }
+ catch(InterruptedException ex1)
+ {
+ }
+ }
+ }
+ catch(Ice.LocalException ex)
+ {
+ ex.printStackTrace();
+ }
+ catch(NumberFormatException ex)
+ {
+ System.out.println("please specify a valid integer value");
+ }
+ catch(java.io.IOException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+
+ return 0;
+ }
+
+ public static void
+ main(String[] args)
+ {
+ Client app = new Client();
+ int status = app.main("Client", args, "config.client");
+ System.exit(status);
+ }
+}
diff --git a/java/demo/IceDiscovery/replication/Hello.ice b/java/demo/IceDiscovery/replication/Hello.ice
new file mode 100644
index 00000000000..dd12535592d
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/Hello.ice
@@ -0,0 +1,21 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+module Demo
+{
+
+interface Hello
+{
+ idempotent string getGreeting();
+ void shutdown();
+};
+
+};
diff --git a/java/demo/IceDiscovery/replication/HelloI.java b/java/demo/IceDiscovery/replication/HelloI.java
new file mode 100644
index 00000000000..83eff590b44
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/HelloI.java
@@ -0,0 +1,33 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+import Demo.*;
+
+public class HelloI extends _HelloDisp
+{
+ public HelloI(String name)
+ {
+ _name = name;
+ }
+
+ public String
+ getGreeting(Ice.Current current)
+ {
+ return _name + " says Hello World!";
+ }
+
+ public void
+ shutdown(Ice.Current current)
+ {
+ System.out.println("Shutting down...");
+ current.adapter.getCommunicator().shutdown();
+ }
+
+ final private String _name;
+};
diff --git a/java/demo/IceDiscovery/replication/README b/java/demo/IceDiscovery/replication/README
new file mode 100644
index 00000000000..6b2f1ecee25
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/README
@@ -0,0 +1,18 @@
+To run the demo, start the 3 servers:
+
+$ server.exe --Ice.Config=config.server1
+$ server.exe --Ice.Config=config.server2
+$ server.exe --Ice.Config=config.server3
+
+In a separate window:
+
+$ client.exe
+
+The client invokes the number of specified iterations with a given
+delay on a well-known proxy configured to use per-request load
+balancing. Each invocation on the proxy queries the Ice locator
+implemented by the IceDiscovery plugin.
+
+While the client is running and invoking on the server, you can try to
+stop some of the servers. As long as one server is still running, the
+client will continue to work.
diff --git a/java/demo/IceDiscovery/replication/Server.java b/java/demo/IceDiscovery/replication/Server.java
new file mode 100644
index 00000000000..523921ba2b0
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/Server.java
@@ -0,0 +1,38 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+import Demo.*;
+
+public class Server extends Ice.Application
+{
+ public int
+ run(String[] args)
+ {
+ if(args.length > 0)
+ {
+ System.err.println(appName() + ": too many arguments");
+ return 1;
+ }
+
+ Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Hello");
+ HelloI hello = new HelloI(communicator().getProperties().getProperty("Ice.ProgramName"));
+ adapter.add(hello, communicator().stringToIdentity("hello"));
+ adapter.activate();
+ communicator().waitForShutdown();
+ return 0;
+ }
+
+ public static void
+ main(String[] args)
+ {
+ Server app = new Server();
+ int status = app.main("Server", args);
+ System.exit(status);
+ }
+}
diff --git a/java/demo/IceDiscovery/replication/build.xml b/java/demo/IceDiscovery/replication/build.xml
new file mode 100644
index 00000000000..2bb8d11d282
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/build.xml
@@ -0,0 +1,44 @@
+<!--
+ **********************************************************************
+
+ Copyright (c) 2003-2013 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.
+
+ **********************************************************************
+-->
+
+<project name="demo_IceDiscovery_replication" default="all" basedir=".">
+
+ <!-- set global properties for this build -->
+ <property name="top.dir" value="../../.."/>
+
+ <!-- import common definitions -->
+ <import file="${top.dir}/config/common.xml"/>
+
+ <target name="generate" depends="init">
+ <!-- Create the output directory for generated code -->
+ <mkdir dir="${generated.dir}"/>
+ <slice2java outputdir="${generated.dir}">
+ <fileset dir="." includes="Hello.ice"/>
+ </slice2java>
+ </target>
+
+ <target name="compile" depends="generate">
+ <mkdir dir="${class.dir}"/>
+ <javac srcdir=".:${generated.dir}" destdir="${class.dir}" debug="${debug}">
+ <exclude name="${generated.dir}/**"/>
+ <classpath refid="ice.classpath"/>
+ <compilerarg value="${javac.lint}"/>
+ </javac>
+ </target>
+
+ <target name="all" depends="compile"/>
+
+ <target name="clean">
+ <delete dir="${generated.dir}"/>
+ <delete dir="${class.dir}"/>
+ </target>
+
+</project>
diff --git a/java/demo/IceDiscovery/replication/config.client b/java/demo/IceDiscovery/replication/config.client
new file mode 100644
index 00000000000..92ba5e5ccdb
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/config.client
@@ -0,0 +1,9 @@
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/java/demo/IceDiscovery/replication/config.server1 b/java/demo/IceDiscovery/replication/config.server1
new file mode 100755
index 00000000000..ec49e0b279b
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/config.server1
@@ -0,0 +1,31 @@
+#
+# The server creates one single object adapter with the name "Hello".
+#
+# The following configures the object adapter. We set endpoints with
+# no fixed port and we assign it a unique adapter ID that will be
+# embedded in indirect proxies.
+#
+# We also configure the replica group ID, object adapters sharing the
+# same replica group ID are part of the same replica group. When the
+# client resolves an indirect proxy refering to this replica group,
+# the locator implementation will return the endpoints of all the
+# object adapters part of the replica group.
+#
+Hello.Endpoints=tcp
+Hello.AdapterId=HelloAdapter1
+Hello.ReplicaGroupId=ReplicatedHelloAdapter
+
+#
+# Identify the server
+#
+Ice.ProgramName=Server1
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/java/demo/IceDiscovery/replication/config.server2 b/java/demo/IceDiscovery/replication/config.server2
new file mode 100755
index 00000000000..5eabd1f91cf
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/config.server2
@@ -0,0 +1,31 @@
+#
+# The server creates one single object adapter with the name "Hello".
+#
+# The following configures the object adapter. We set endpoints with
+# no fixed port and we assign it a unique adapter ID that will be
+# embedded in indirect proxies.
+#
+# We also configure the replica group ID, object adapters sharing the
+# same replica group ID are part of the same replica group. When the
+# client resolves an indirect proxy refering to this replica group,
+# the locator implementation will return the endpoints of all the
+# object adapters part of the replica group.
+#
+Hello.Endpoints=tcp
+Hello.AdapterId=HelloAdapter2
+Hello.ReplicaGroupId=ReplicatedHelloAdapter
+
+#
+# Identify the server
+#
+Ice.ProgramName=Server2
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/java/demo/IceDiscovery/replication/config.server3 b/java/demo/IceDiscovery/replication/config.server3
new file mode 100755
index 00000000000..12362e47722
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/config.server3
@@ -0,0 +1,31 @@
+#
+# The server creates one single object adapter with the name "Hello".
+#
+# The following configures the object adapter. We set endpoints with
+# no fixed port and we assign it a unique adapter ID that will be
+# embedded in indirect proxies.
+#
+# We also configure the replica group ID, object adapters sharing the
+# same replica group ID are part of the same replica group. When the
+# client resolves an indirect proxy refering to this replica group,
+# the locator implementation will return the endpoints of all the
+# object adapters part of the replica group.
+#
+Hello.Endpoints=tcp
+Hello.AdapterId=HelloAdapter3
+Hello.ReplicaGroupId=ReplicatedHelloAdapter
+
+#
+# Identify the server
+#
+Ice.ProgramName=Server3
+
+#
+# Enable the Ice discovery plugin
+#
+Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory
+
+#
+# Ensure connection establishment doesn't take too long.
+#
+Ice.Override.ConnectTimeout=1000
diff --git a/java/demo/IceDiscovery/replication/expect.py b/java/demo/IceDiscovery/replication/expect.py
new file mode 100755
index 00000000000..af25a3ce17c
--- /dev/null
+++ b/java/demo/IceDiscovery/replication/expect.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+import sys, os
+
+path = [ ".", "..", "../..", "../../..", "../../../.." ]
+head = os.path.dirname(sys.argv[0])
+if len(head) > 0:
+ path = [os.path.join(head, p) for p in path]
+path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "demoscript")) ]
+if len(path) == 0:
+ raise RuntimeError("can't find toplevel directory!")
+sys.path.append(path[0])
+
+from demoscript import Util
+from demoscript.Ice import hello
+
+server = Util.spawn('server.exe --Ice.PrintAdapterReady --Ice.Warn.Connections=0')
+server.expect('.* ready')
+client = Util.spawn('client.exe --Ice.Warn.Connections=0')
+client.expect('.*==>')
+
+hello.run(client, server)
diff --git a/java/src/IceDiscovery/LocatorI.java b/java/src/IceDiscovery/LocatorI.java
new file mode 100644
index 00000000000..be49f1f47ad
--- /dev/null
+++ b/java/src/IceDiscovery/LocatorI.java
@@ -0,0 +1,40 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package IceDiscovery;
+
+class LocatorI extends Ice._LocatorDisp
+{
+ public LocatorI(LookupI lookup, Ice.LocatorRegistryPrx registry)
+ {
+ _lookup = lookup;
+ _registry = registry;
+ }
+
+ public void
+ findObjectById_async(Ice.AMD_Locator_findObjectById cb, Ice.Identity id, Ice.Current current)
+ {
+ _lookup.findObject(cb, id);
+ }
+
+ public void
+ findAdapterById_async(Ice.AMD_Locator_findAdapterById cb, String adapterId, Ice.Current current)
+ {
+ _lookup.findAdapter(cb, adapterId);
+ }
+
+ public Ice.LocatorRegistryPrx
+ getRegistry(Ice.Current current)
+ {
+ return _registry;
+ }
+
+ private final LookupI _lookup;
+ private final Ice.LocatorRegistryPrx _registry;
+}
diff --git a/java/src/IceDiscovery/LocatorRegistryI.java b/java/src/IceDiscovery/LocatorRegistryI.java
new file mode 100644
index 00000000000..d1a03ecb713
--- /dev/null
+++ b/java/src/IceDiscovery/LocatorRegistryI.java
@@ -0,0 +1,176 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package IceDiscovery;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.List;
+import java.util.ArrayList;
+
+class LocatorRegistryI extends Ice._LocatorRegistryDisp
+{
+ public LocatorRegistryI(Ice.Communicator com)
+ {
+ _wellKnownProxy = com.stringToProxy("p").ice_locator(null).ice_router(null).ice_collocationOptimized(true);
+ }
+
+ synchronized public void
+ setAdapterDirectProxy_async(Ice.AMD_LocatorRegistry_setAdapterDirectProxy cb,
+ String adapterId,
+ Ice.ObjectPrx proxy,
+ Ice.Current current)
+ {
+ if(proxy != null)
+ {
+ _adapters.put(adapterId, proxy);
+ }
+ else
+ {
+ _adapters.remove(adapterId);
+ }
+ cb.ice_response();
+ }
+
+ synchronized public void
+ setReplicatedAdapterDirectProxy_async(Ice.AMD_LocatorRegistry_setReplicatedAdapterDirectProxy cb,
+ String adapterId,
+ String replicaGroupId,
+ Ice.ObjectPrx proxy,
+ Ice.Current current)
+ {
+ if(proxy != null)
+ {
+ _adapters.put(adapterId, proxy);
+ Set<String> s = _replicaGroups.get(replicaGroupId);
+ if(s == null)
+ {
+ s = new HashSet<String>();
+ _replicaGroups.put(replicaGroupId, s);
+ }
+ s.add(adapterId);
+ }
+ else
+ {
+ _adapters.remove(adapterId);
+ Set<String> s = _replicaGroups.get(replicaGroupId);
+ if(s != null)
+ {
+ s.remove(adapterId);
+ if(s.isEmpty())
+ {
+ _replicaGroups.remove(adapterId);
+ }
+ }
+ }
+ cb.ice_response();
+ }
+
+ public void
+ setServerProcessProxy_async(Ice.AMD_LocatorRegistry_setServerProcessProxy cb,
+ String serverId,
+ Ice.ProcessPrx process,
+ Ice.Current current)
+ {
+ cb.ice_response();
+ }
+
+ synchronized Ice.ObjectPrx
+ findObject(Ice.Identity id)
+ {
+ if(id.name.length() == 0)
+ {
+ return null;
+ }
+
+ Ice.ObjectPrx prx = _wellKnownProxy.ice_identity(id);
+
+ List<String> adapterIds = new ArrayList<String>();
+ for(String a : _replicaGroups.keySet())
+ {
+ try
+ {
+ prx.ice_adapterId(a).ice_ping();
+ adapterIds.add(a);
+ }
+ catch(Ice.LocalException ex)
+ {
+ }
+ }
+ if(adapterIds.isEmpty())
+ {
+ for(String a : _adapters.keySet())
+ {
+ try
+ {
+ prx.ice_adapterId(a).ice_ping();
+ adapterIds.add(a);
+ }
+ catch(Ice.LocalException ex)
+ {
+ }
+ }
+ }
+
+ if(adapterIds.isEmpty())
+ {
+ return null;
+ }
+ java.util.Collections.shuffle(adapterIds);
+ return prx.ice_adapterId(adapterIds.get(0));
+ }
+
+ synchronized Ice.ObjectPrx
+ findAdapter(String adapterId, Ice.BooleanHolder isReplicaGroup)
+ {
+ Ice.ObjectPrx proxy = _adapters.get(adapterId);
+ if(proxy != null)
+ {
+ isReplicaGroup.value = false;
+ return proxy;
+ }
+
+ Set<String> s = _replicaGroups.get(adapterId);
+ if(s != null)
+ {
+ List<Ice.Endpoint> endpoints = new ArrayList<Ice.Endpoint>();
+ Ice.ObjectPrx prx = null;
+ for(String a : s)
+ {
+ proxy = _adapters.get(a);
+ if(proxy == null)
+ {
+ continue; // TODO: Inconsistency
+ }
+
+ if(prx == null)
+ {
+ prx = proxy;
+ }
+
+ endpoints.addAll(java.util.Arrays.asList(proxy.ice_getEndpoints()));
+ }
+
+ if(prx != null)
+ {
+ isReplicaGroup.value = true;
+ return prx.ice_endpoints(endpoints.toArray(new Ice.Endpoint[endpoints.size()]));
+ }
+ }
+ isReplicaGroup.value = false;
+ return null;
+ }
+
+ final Ice.ObjectPrx _wellKnownProxy;
+ final Map<String, Ice.ObjectPrx> _adapters = new HashMap<String, Ice.ObjectPrx>();
+ final Map<String, Set<String>> _replicaGroups = new HashMap<String, Set<String>>();
+}
+
diff --git a/java/src/IceDiscovery/LookupI.java b/java/src/IceDiscovery/LookupI.java
new file mode 100644
index 00000000000..7d696190614
--- /dev/null
+++ b/java/src/IceDiscovery/LookupI.java
@@ -0,0 +1,340 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package IceDiscovery;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+
+class LookupI extends _LookupDisp
+{
+ abstract private class Request<T, AmdCB> implements IceInternal.TimerTask
+ {
+ public Request(T id, int retryCount)
+ {
+ _id = id;
+ _nRetry = retryCount;
+ }
+
+ public T
+ getId()
+ {
+ return _id;
+ }
+
+ public boolean
+ addCallback(AmdCB cb)
+ {
+ _callbacks.add(cb);
+ return _callbacks.size() == 1;
+ }
+
+ public boolean
+ retry()
+ {
+ return --_nRetry >= 0;
+ }
+
+ protected int _nRetry;
+ protected List<AmdCB> _callbacks = new ArrayList<AmdCB>();
+ private T _id;
+ };
+
+ private class AdapterRequest extends Request<String, Ice.AMD_Locator_findAdapterById>
+ {
+ public AdapterRequest(String id, int retryCount)
+ {
+ super(id, retryCount);
+ _start = System.nanoTime();
+ _latency = 0;
+ }
+
+ public boolean
+ retry()
+ {
+ return _proxies.size() == 0 && --_nRetry >= 0;
+ }
+
+ public boolean
+ response(Ice.ObjectPrx proxy, boolean isReplicaGroup)
+ {
+ if(isReplicaGroup)
+ {
+ _proxies.add(proxy);
+ if(_latency == 0)
+ {
+ _latency = (long)((System.nanoTime() - _start) * _latencyMultiplier / 100000.0);
+ if(_latency == 0)
+ {
+ _latency = 1; // 1ms
+ }
+ _timer.cancel(this);
+ _timer.schedule(this, _latency);
+ }
+ return false;
+ }
+ finished(proxy);
+ return true;
+ }
+
+ public void
+ finished(Ice.ObjectPrx proxy)
+ {
+ if(proxy != null || _proxies.isEmpty())
+ {
+ sendResponse(proxy);
+ return;
+ }
+ else if(_proxies.size() == 1)
+ {
+ sendResponse(_proxies.get(0));
+ return;
+ }
+
+ List<Ice.Endpoint> endpoints = new ArrayList<Ice.Endpoint>();
+ Ice.ObjectPrx result = null;
+ for(Ice.ObjectPrx prx : _proxies)
+ {
+ if(result == null)
+ {
+ result = prx;
+ }
+ endpoints.addAll(java.util.Arrays.asList(prx.ice_getEndpoints()));
+ }
+ sendResponse(result.ice_endpoints(endpoints.toArray(new Ice.Endpoint[endpoints.size()])));
+ }
+
+ public void
+ runTimerTask()
+ {
+ adapterRequestTimedOut(this);
+ }
+
+ private void
+ sendResponse(Ice.ObjectPrx proxy)
+ {
+ for(Ice.AMD_Locator_findAdapterById cb : _callbacks)
+ {
+ cb.ice_response(proxy);
+ }
+ _callbacks.clear();
+ }
+
+ private List<Ice.ObjectPrx> _proxies = new ArrayList<Ice.ObjectPrx>();
+ private long _start;
+ private long _latency;
+ };
+
+ private class ObjectRequest extends Request<Ice.Identity, Ice.AMD_Locator_findObjectById>
+ {
+ public
+ ObjectRequest(Ice.Identity id, int retryCount)
+ {
+ super(id, retryCount);
+ }
+
+ public void
+ response(Ice.ObjectPrx proxy)
+ {
+ finished(proxy);
+ }
+
+ public void
+ finished(Ice.ObjectPrx proxy)
+ {
+ for(Ice.AMD_Locator_findObjectById cb : _callbacks)
+ {
+ cb.ice_response(proxy);
+ }
+ _callbacks.clear();
+ }
+
+ public void runTimerTask()
+ {
+ objectRequestTimedOut(this);
+ }
+ };
+
+ public LookupI(LocatorRegistryI registry, LookupPrx lookup, Ice.Properties properties)
+ {
+ _registry = registry;
+ _lookup = lookup;
+ _timeout = properties.getPropertyAsIntWithDefault("IceDiscovery.Timeout", 300);
+ _retryCount = properties.getPropertyAsIntWithDefault("IceDiscovery.RetryCount", 3);
+ _latencyMultiplier = properties.getPropertyAsIntWithDefault("IceDiscovery.LatencyMultiplier", 1);
+ _domainId = properties.getProperty("IceDiscovery.DomainId");
+ _timer = IceInternal.Util.getInstance(lookup.ice_getCommunicator()).timer();
+ }
+
+ void
+ setLookupReply(LookupReplyPrx lookupReply)
+ {
+ _lookupReply = lookupReply;
+ }
+
+ public void
+ findObjectById(String domainId, Ice.Identity id, IceDiscovery.LookupReplyPrx reply, Ice.Current c)
+ {
+ if(!domainId.equals(_domainId))
+ {
+ return; // Ignore.
+ }
+
+ Ice.ObjectPrx proxy = _registry.findObject(id);
+ if(proxy != null)
+ {
+ //
+ // Reply to the mulicast request using the given proxy.
+ //
+ reply.begin_foundObjectById(id, proxy);
+ }
+ }
+
+ public void
+ findAdapterById(String domainId, String adapterId, IceDiscovery.LookupReplyPrx reply, Ice.Current c)
+ {
+ if(!domainId.equals(_domainId))
+ {
+ return; // Ignore.
+ }
+
+ Ice.BooleanHolder isReplicaGroup = new Ice.BooleanHolder();
+ Ice.ObjectPrx proxy = _registry.findAdapter(adapterId, isReplicaGroup);
+ if(proxy != null)
+ {
+ //
+ // Reply to the multicast request using the given proxy.
+ //
+ reply.begin_foundAdapterById(adapterId, proxy, isReplicaGroup.value);
+ }
+ }
+
+ synchronized void
+ findObject(Ice.AMD_Locator_findObjectById cb, Ice.Identity id)
+ {
+ ObjectRequest request = _objectRequests.get(id);
+ if(request == null)
+ {
+ request = new ObjectRequest(id, _retryCount);
+ _objectRequests.put(id, request);
+ }
+
+ if(request.addCallback(cb))
+ {
+ _lookup.findObjectById(_domainId, id, _lookupReply);
+ _timer.schedule(request, _timeout);
+ }
+ }
+
+ synchronized void
+ findAdapter(Ice.AMD_Locator_findAdapterById cb, String adapterId)
+ {
+ AdapterRequest request = _adapterRequests.get(adapterId);
+ if(request == null)
+ {
+ request = new AdapterRequest(adapterId, _retryCount);
+ _adapterRequests.put(adapterId, request);
+ }
+
+ if(request.addCallback(cb))
+ {
+ _lookup.findAdapterById(_domainId, adapterId, _lookupReply);
+ _timer.schedule(request, _timeout);
+ }
+ }
+
+ synchronized void
+ foundObject(Ice.Identity id, Ice.ObjectPrx proxy)
+ {
+ ObjectRequest request = _objectRequests.get(id);
+ if(request == null)
+ {
+ return;
+ }
+
+ request.response(proxy);
+ _timer.cancel(request);
+ _objectRequests.remove(id);
+ }
+
+ synchronized void
+ foundAdapter(String adapterId, Ice.ObjectPrx proxy, boolean isReplicaGroup)
+ {
+ AdapterRequest request = _adapterRequests.get(adapterId);
+ if(request == null)
+ {
+ return;
+ }
+
+ if(request.response(proxy, isReplicaGroup))
+ {
+ _timer.cancel(request);
+ _adapterRequests.remove(adapterId);
+ }
+ }
+
+ synchronized void
+ objectRequestTimedOut(ObjectRequest request)
+ {
+ ObjectRequest r = _objectRequests.get(request.getId());
+ if(r == null || request != r)
+ {
+ return;
+ }
+
+ if(request.retry())
+ {
+ _lookup.findObjectById(_domainId, request.getId(), _lookupReply);
+ _timer.schedule(request, _timeout);
+ }
+ else
+ {
+ request.finished(null);
+ _objectRequests.remove(request.getId());
+ }
+ }
+
+ synchronized void
+ adapterRequestTimedOut(AdapterRequest request)
+ {
+ AdapterRequest r = _adapterRequests.get(request.getId());
+ if(r == null || r != request)
+ {
+ return;
+ }
+
+ if(request.retry())
+ {
+ _lookup.findAdapterById(_domainId, request.getId(), _lookupReply);
+ _timer.schedule(request, _timeout);
+ }
+ else
+ {
+ request.finished(null);
+ _adapterRequests.remove(request.getId());
+ }
+ }
+
+ private LocatorRegistryI _registry;
+ private final LookupPrx _lookup;
+ private LookupReplyPrx _lookupReply;
+ private final int _timeout;
+ private final int _retryCount;
+ private final int _latencyMultiplier;
+ private final String _domainId;
+
+ private final IceInternal.Timer _timer;
+
+ private Map<Ice.Identity, ObjectRequest> _objectRequests = new HashMap<Ice.Identity, ObjectRequest>();
+ private Map<String, AdapterRequest> _adapterRequests = new HashMap<String, AdapterRequest>();
+
+}
+
diff --git a/java/src/IceDiscovery/LookupReplyI.java b/java/src/IceDiscovery/LookupReplyI.java
new file mode 100644
index 00000000000..70397fc4c3e
--- /dev/null
+++ b/java/src/IceDiscovery/LookupReplyI.java
@@ -0,0 +1,33 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package IceDiscovery;
+
+class LookupReplyI extends _LookupReplyDisp
+{
+ public LookupReplyI(LookupI lookup)
+ {
+ _lookup = lookup;
+ }
+
+ public void
+ foundObjectById(Ice.Identity id, Ice.ObjectPrx proxy, Ice.Current current)
+ {
+ _lookup.foundObject(id, proxy);
+ }
+
+ public void
+ foundAdapterById(String adapterId, Ice.ObjectPrx proxy, boolean isReplicaGroup, Ice.Current current)
+ {
+ _lookup.foundAdapter(adapterId, proxy, isReplicaGroup);
+ }
+
+ private final LookupI _lookup;
+}
+
diff --git a/java/src/IceDiscovery/PluginFactory.java b/java/src/IceDiscovery/PluginFactory.java
new file mode 100644
index 00000000000..e400e885d7b
--- /dev/null
+++ b/java/src/IceDiscovery/PluginFactory.java
@@ -0,0 +1,19 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package IceDiscovery;
+
+public class PluginFactory implements Ice.PluginFactory
+{
+ public Ice.Plugin
+ create(Ice.Communicator communicator, String name, String[] args)
+ {
+ return new PluginI(communicator);
+ }
+}
diff --git a/java/src/IceDiscovery/PluginI.java b/java/src/IceDiscovery/PluginI.java
new file mode 100644
index 00000000000..f11f0f366cf
--- /dev/null
+++ b/java/src/IceDiscovery/PluginI.java
@@ -0,0 +1,128 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package IceDiscovery;
+
+public class PluginI implements Ice.Plugin
+{
+ public
+ PluginI(Ice.Communicator communicator)
+ {
+ _communicator = communicator;
+
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = communicator.getProperties()._clone();
+ initData.properties.setProperty("Ice.Default.CollocationOptimized", "0");
+ java.util.Map<String, String> props = initData.properties.getPropertiesForPrefix("Ice.Plugin.");
+ for(String key : props.keySet())
+ {
+ initData.properties.setProperty(key, "");
+ }
+ _pluginCommunicator = Ice.Util.initialize(initData);
+ }
+
+ public void
+ initialize()
+ {
+ Ice.Properties properties = _pluginCommunicator.getProperties();
+
+ boolean ipv4 = properties.getPropertyAsIntWithDefault("Ice.IPv4", 1) > 0;
+ String address;
+ if(ipv4)
+ {
+ address = properties.getPropertyWithDefault("IceDiscovery.Address", "239.255.0.1");
+ }
+ else
+ {
+ address = properties.getPropertyWithDefault("IceDiscovery.Address", "ff15::1");
+ }
+ int port = properties.getPropertyAsIntWithDefault("IceDiscovery.Port", 4061);
+ String intf = properties.getProperty("IceDiscovery.Interface");
+
+ if(properties.getProperty("IceDiscovery.Multicast.Endpoints").isEmpty())
+ {
+ StringBuilder s = new StringBuilder();
+ s.append("udp -h \"").append(address).append("\" -p ").append(port);
+ if(!intf.isEmpty())
+ {
+ s.append(" --interface \"").append(intf).append("\"");
+ }
+ properties.setProperty("IceDiscovery.Multicast.Endpoints", s.toString());
+ }
+ if(properties.getProperty("IceDiscovery.Reply.Endpoints").isEmpty())
+ {
+ StringBuilder s = new StringBuilder();
+ s.append("udp");
+ if(!intf.isEmpty())
+ {
+ s.append(" -h \"").append(intf).append("\"");
+ }
+ properties.setProperty("IceDiscovery.Reply.Endpoints", s.toString());
+ }
+ if(properties.getProperty("IceDiscovery.Locator.Endpoints").isEmpty())
+ {
+ properties.setProperty("IceDiscovery.Locator.Endpoints", "tcp -h 127.0.0.1");
+ }
+
+ Ice.ObjectAdapter multicastAdapter = _pluginCommunicator.createObjectAdapter("IceDiscovery.Multicast");
+ Ice.ObjectAdapter replyAdapter = _pluginCommunicator.createObjectAdapter("IceDiscovery.Reply");
+ Ice.ObjectAdapter locatorAdapter = _pluginCommunicator.createObjectAdapter("IceDiscovery.Locator");
+
+ //
+ // Setup locatory registry.
+ //
+ LocatorRegistryI locatorRegistry = new LocatorRegistryI(_communicator);
+ Ice.LocatorRegistryPrx locatorRegistryPrx = Ice.LocatorRegistryPrxHelper.uncheckedCast(
+ locatorAdapter.addWithUUID(locatorRegistry));
+
+ String lookupEndpoints = properties.getProperty("IceDiscovery.Lookup");
+ if(lookupEndpoints.isEmpty())
+ {
+ StringBuilder s = new StringBuilder();
+ s.append("udp -h \"").append(address).append("\" -p ").append(port);
+ if(!intf.isEmpty())
+ {
+ s.append(" --interface \"").append(intf).append("\"");
+ }
+ lookupEndpoints = s.toString();
+ }
+
+ Ice.ObjectPrx lookupPrx = _pluginCommunicator.stringToProxy("IceDiscovery/Lookup -d:" + lookupEndpoints);
+ lookupPrx = lookupPrx.ice_collocationOptimized(false);
+
+ //
+ // Add lookup and lookup reply Ice objects
+ //
+ LookupI lookup = new LookupI(locatorRegistry, LookupPrxHelper.uncheckedCast(lookupPrx), properties);
+ multicastAdapter.add(lookup, _pluginCommunicator.stringToIdentity("IceDiscovery/Lookup"));
+
+ Ice.ObjectPrx lookupReply = replyAdapter.addWithUUID(new LookupReplyI(lookup)).ice_datagram();
+ lookup.setLookupReply(LookupReplyPrxHelper.uncheckedCast(lookupReply));
+
+ //
+ // Setup locator on the communicator.
+ //
+ Ice.ObjectPrx locator = locatorAdapter.addWithUUID(new LocatorI(lookup, locatorRegistryPrx));
+ _communicator.setDefaultLocator(
+ Ice.LocatorPrxHelper.uncheckedCast(_communicator.stringToProxy(locator.toString())));
+
+ multicastAdapter.activate();
+ replyAdapter.activate();
+ locatorAdapter.activate();
+ }
+
+ public void
+ destroy()
+ {
+ _pluginCommunicator.destroy();
+ }
+
+ private Ice.Communicator _communicator;
+ private Ice.Communicator _pluginCommunicator;
+}
diff --git a/java/src/IceInternal/EndpointFactoryManager.java b/java/src/IceInternal/EndpointFactoryManager.java
index a8bd6fcb836..94f61fbb873 100644
--- a/java/src/IceInternal/EndpointFactoryManager.java
+++ b/java/src/IceInternal/EndpointFactoryManager.java
@@ -126,7 +126,6 @@ public final class EndpointFactoryManager
read(BasicStream s)
{
short type = s.readShort();
-
for(int i = 0; i < _factories.size(); i++)
{
EndpointFactory f = _factories.get(i);
diff --git a/java/src/IceInternal/LocatorInfo.java b/java/src/IceInternal/LocatorInfo.java
index 5d2f0b93865..39091b78fad 100644
--- a/java/src/IceInternal/LocatorInfo.java
+++ b/java/src/IceInternal/LocatorInfo.java
@@ -112,7 +112,7 @@ public final class LocatorInfo
if(!_sent)
{
_sent = true;
- send(true);
+ send();
}
}
}
@@ -129,7 +129,7 @@ public final class LocatorInfo
if(!_sent)
{
_sent = true;
- send(true);
+ send();
}
while(!_response && _exception == null)
@@ -201,12 +201,6 @@ public final class LocatorInfo
protected void
exception(Exception ex)
{
- if(ex instanceof Ice.CollocationOptimizationException)
- {
- send(false); // Use synchronous collocation optimized locator request instead.
- return;
- }
-
synchronized(this)
{
_locatorInfo.finishRequest(_ref, _wellKnownRefs, null, ex instanceof Ice.UserException);
@@ -219,7 +213,7 @@ public final class LocatorInfo
}
}
- protected abstract void send(boolean async);
+ protected abstract void send();
final protected LocatorInfo _locatorInfo;
final protected Reference _ref;
@@ -241,38 +235,32 @@ public final class LocatorInfo
}
protected void
- send(boolean async)
+ send()
{
try
{
- if(async)
- {
- _locatorInfo.getLocator().begin_findObjectById(_ref.getIdentity(),
- new Ice.Callback_Locator_findObjectById()
+ _locatorInfo.getLocator().begin_findObjectById(
+ _ref.getIdentity(),
+ new Ice.Callback_Locator_findObjectById()
+ {
+ public void
+ response(Ice.ObjectPrx proxy)
{
- public void
- response(Ice.ObjectPrx proxy)
- {
- ObjectRequest.this.response(proxy);
- }
-
- public void
- exception(Ice.UserException ex)
- {
- ObjectRequest.this.exception(ex);
- }
-
- public void
- exception(Ice.LocalException ex)
- {
- ObjectRequest.this.exception(ex);
- }
- });
- }
- else
- {
- response(_locatorInfo.getLocator().findObjectById(_ref.getIdentity()));
- }
+ ObjectRequest.this.response(proxy);
+ }
+
+ public void
+ exception(Ice.UserException ex)
+ {
+ ObjectRequest.this.exception(ex);
+ }
+
+ public void
+ exception(Ice.LocalException ex)
+ {
+ ObjectRequest.this.exception(ex);
+ }
+ });
}
catch(Exception ex)
{
@@ -290,38 +278,32 @@ public final class LocatorInfo
}
protected void
- send(boolean async)
+ send()
{
try
{
- if(async)
- {
- _locatorInfo.getLocator().begin_findAdapterById(_ref.getAdapterId(),
- new Ice.Callback_Locator_findAdapterById()
+ _locatorInfo.getLocator().begin_findAdapterById(
+ _ref.getAdapterId(),
+ new Ice.Callback_Locator_findAdapterById()
+ {
+ public void
+ response(Ice.ObjectPrx proxy)
{
- public void
- response(Ice.ObjectPrx proxy)
- {
- AdapterRequest.this.response(proxy);
- }
-
- public void
- exception(Ice.UserException ex)
- {
- AdapterRequest.this.exception(ex);
- }
-
- public void
- exception(Ice.LocalException ex)
- {
- AdapterRequest.this.exception(ex);
- }
- });
- }
- else
- {
- response(_locatorInfo.getLocator().findAdapterById(_ref.getAdapterId()));
- }
+ AdapterRequest.this.response(proxy);
+ }
+
+ public void
+ exception(Ice.UserException ex)
+ {
+ AdapterRequest.this.exception(ex);
+ }
+
+ public void
+ exception(Ice.LocalException ex)
+ {
+ AdapterRequest.this.exception(ex);
+ }
+ });
}
catch(Exception ex)
{
@@ -332,7 +314,7 @@ public final class LocatorInfo
LocatorInfo(Ice.LocatorPrx locator, LocatorTable table, boolean background)
{
- _locator = locator;
+ _locator = (Ice.LocatorPrx)locator.ice_collocationOptimized(false);
_table = table;
_background = background;
}
@@ -389,7 +371,8 @@ public final class LocatorInfo
//
// Do not make locator calls from within sync.
//
- Ice.LocatorRegistryPrx locatorRegistry = _locator.getRegistry();
+ Ice.LocatorRegistryPrx locatorRegistry =
+ (Ice.LocatorRegistryPrx)_locator.getRegistry().ice_collocationOptimized(false);
synchronized(this)
{
diff --git a/java/src/IceInternal/PropertyNames.java b/java/src/IceInternal/PropertyNames.java
index ea30926a1ff..eee2fcac14a 100644
--- a/java/src/IceInternal/PropertyNames.java
+++ b/java/src/IceInternal/PropertyNames.java
@@ -8,7 +8,7 @@
// **********************************************************************
///* jshint -W044*/
-// Generated by makeprops.py from file ../config/PropertyNames.xml, Mon Apr 7 14:21:14 2014
+// Generated by makeprops.py from file ./config/PropertyNames.xml, Tue Apr 22 17:39:32 2014
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
@@ -173,6 +173,112 @@ public final class PropertyNames
null
};
+ public static final Property IceDiscoveryProps[] =
+ {
+ new Property("IceDiscovery\\.Multicast\\.ACM", false, null),
+ new Property("IceDiscovery\\.Multicast\\.AdapterId", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Endpoints", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Locator\\.EndpointSelection", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Locator\\.ConnectionCached", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Locator\\.PreferSecure", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Locator\\.LocatorCacheTimeout", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Locator\\.Locator", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Locator\\.Router", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Locator\\.CollocationOptimized", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Locator\\.Context\\.[^\\s]+", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Locator", false, null),
+ new Property("IceDiscovery\\.Multicast\\.PublishedEndpoints", false, null),
+ new Property("IceDiscovery\\.Multicast\\.ReplicaGroupId", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Router\\.EndpointSelection", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Router\\.ConnectionCached", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Router\\.PreferSecure", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Router\\.LocatorCacheTimeout", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Router\\.Locator", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Router\\.Router", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Router\\.CollocationOptimized", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Router\\.Context\\.[^\\s]+", false, null),
+ new Property("IceDiscovery\\.Multicast\\.Router", false, null),
+ new Property("IceDiscovery\\.Multicast\\.ProxyOptions", false, null),
+ new Property("IceDiscovery\\.Multicast\\.ThreadPool\\.Size", false, null),
+ new Property("IceDiscovery\\.Multicast\\.ThreadPool\\.SizeMax", false, null),
+ new Property("IceDiscovery\\.Multicast\\.ThreadPool\\.SizeWarn", false, null),
+ new Property("IceDiscovery\\.Multicast\\.ThreadPool\\.StackSize", false, null),
+ new Property("IceDiscovery\\.Multicast\\.ThreadPool\\.Serialize", false, null),
+ new Property("IceDiscovery\\.Multicast\\.ThreadPool\\.ThreadIdleTime", false, null),
+ new Property("IceDiscovery\\.Multicast\\.ThreadPool\\.ThreadPriority", false, null),
+ new Property("IceDiscovery\\.Reply\\.ACM", false, null),
+ new Property("IceDiscovery\\.Reply\\.AdapterId", false, null),
+ new Property("IceDiscovery\\.Reply\\.Endpoints", false, null),
+ new Property("IceDiscovery\\.Reply\\.Locator\\.EndpointSelection", false, null),
+ new Property("IceDiscovery\\.Reply\\.Locator\\.ConnectionCached", false, null),
+ new Property("IceDiscovery\\.Reply\\.Locator\\.PreferSecure", false, null),
+ new Property("IceDiscovery\\.Reply\\.Locator\\.LocatorCacheTimeout", false, null),
+ new Property("IceDiscovery\\.Reply\\.Locator\\.Locator", false, null),
+ new Property("IceDiscovery\\.Reply\\.Locator\\.Router", false, null),
+ new Property("IceDiscovery\\.Reply\\.Locator\\.CollocationOptimized", false, null),
+ new Property("IceDiscovery\\.Reply\\.Locator\\.Context\\.[^\\s]+", false, null),
+ new Property("IceDiscovery\\.Reply\\.Locator", false, null),
+ new Property("IceDiscovery\\.Reply\\.PublishedEndpoints", false, null),
+ new Property("IceDiscovery\\.Reply\\.ReplicaGroupId", false, null),
+ new Property("IceDiscovery\\.Reply\\.Router\\.EndpointSelection", false, null),
+ new Property("IceDiscovery\\.Reply\\.Router\\.ConnectionCached", false, null),
+ new Property("IceDiscovery\\.Reply\\.Router\\.PreferSecure", false, null),
+ new Property("IceDiscovery\\.Reply\\.Router\\.LocatorCacheTimeout", false, null),
+ new Property("IceDiscovery\\.Reply\\.Router\\.Locator", false, null),
+ new Property("IceDiscovery\\.Reply\\.Router\\.Router", false, null),
+ new Property("IceDiscovery\\.Reply\\.Router\\.CollocationOptimized", false, null),
+ new Property("IceDiscovery\\.Reply\\.Router\\.Context\\.[^\\s]+", false, null),
+ new Property("IceDiscovery\\.Reply\\.Router", false, null),
+ new Property("IceDiscovery\\.Reply\\.ProxyOptions", false, null),
+ new Property("IceDiscovery\\.Reply\\.ThreadPool\\.Size", false, null),
+ new Property("IceDiscovery\\.Reply\\.ThreadPool\\.SizeMax", false, null),
+ new Property("IceDiscovery\\.Reply\\.ThreadPool\\.SizeWarn", false, null),
+ new Property("IceDiscovery\\.Reply\\.ThreadPool\\.StackSize", false, null),
+ new Property("IceDiscovery\\.Reply\\.ThreadPool\\.Serialize", false, null),
+ new Property("IceDiscovery\\.Reply\\.ThreadPool\\.ThreadIdleTime", false, null),
+ new Property("IceDiscovery\\.Reply\\.ThreadPool\\.ThreadPriority", false, null),
+ new Property("IceDiscovery\\.Locator\\.ACM", false, null),
+ new Property("IceDiscovery\\.Locator\\.AdapterId", false, null),
+ new Property("IceDiscovery\\.Locator\\.Endpoints", false, null),
+ new Property("IceDiscovery\\.Locator\\.Locator\\.EndpointSelection", false, null),
+ new Property("IceDiscovery\\.Locator\\.Locator\\.ConnectionCached", false, null),
+ new Property("IceDiscovery\\.Locator\\.Locator\\.PreferSecure", false, null),
+ new Property("IceDiscovery\\.Locator\\.Locator\\.LocatorCacheTimeout", false, null),
+ new Property("IceDiscovery\\.Locator\\.Locator\\.Locator", false, null),
+ new Property("IceDiscovery\\.Locator\\.Locator\\.Router", false, null),
+ new Property("IceDiscovery\\.Locator\\.Locator\\.CollocationOptimized", false, null),
+ new Property("IceDiscovery\\.Locator\\.Locator\\.Context\\.[^\\s]+", false, null),
+ new Property("IceDiscovery\\.Locator\\.Locator", false, null),
+ new Property("IceDiscovery\\.Locator\\.PublishedEndpoints", false, null),
+ new Property("IceDiscovery\\.Locator\\.ReplicaGroupId", false, null),
+ new Property("IceDiscovery\\.Locator\\.Router\\.EndpointSelection", false, null),
+ new Property("IceDiscovery\\.Locator\\.Router\\.ConnectionCached", false, null),
+ new Property("IceDiscovery\\.Locator\\.Router\\.PreferSecure", false, null),
+ new Property("IceDiscovery\\.Locator\\.Router\\.LocatorCacheTimeout", false, null),
+ new Property("IceDiscovery\\.Locator\\.Router\\.Locator", false, null),
+ new Property("IceDiscovery\\.Locator\\.Router\\.Router", false, null),
+ new Property("IceDiscovery\\.Locator\\.Router\\.CollocationOptimized", false, null),
+ new Property("IceDiscovery\\.Locator\\.Router\\.Context\\.[^\\s]+", false, null),
+ new Property("IceDiscovery\\.Locator\\.Router", false, null),
+ new Property("IceDiscovery\\.Locator\\.ProxyOptions", false, null),
+ new Property("IceDiscovery\\.Locator\\.ThreadPool\\.Size", false, null),
+ new Property("IceDiscovery\\.Locator\\.ThreadPool\\.SizeMax", false, null),
+ new Property("IceDiscovery\\.Locator\\.ThreadPool\\.SizeWarn", false, null),
+ new Property("IceDiscovery\\.Locator\\.ThreadPool\\.StackSize", false, null),
+ new Property("IceDiscovery\\.Locator\\.ThreadPool\\.Serialize", false, null),
+ new Property("IceDiscovery\\.Locator\\.ThreadPool\\.ThreadIdleTime", false, null),
+ new Property("IceDiscovery\\.Locator\\.ThreadPool\\.ThreadPriority", false, null),
+ new Property("IceDiscovery\\.Lookup", false, null),
+ new Property("IceDiscovery\\.Timeout", false, null),
+ new Property("IceDiscovery\\.RetryCount", false, null),
+ new Property("IceDiscovery\\.LatencyMultiplier", false, null),
+ new Property("IceDiscovery\\.Address", false, null),
+ new Property("IceDiscovery\\.Port", false, null),
+ new Property("IceDiscovery\\.Interface", false, null),
+ new Property("IceDiscovery\\.DomainId", false, null),
+ null
+ };
+
public static final Property IceBoxProps[] =
{
new Property("IceBox\\.InheritProperties", false, null),
@@ -826,6 +932,7 @@ public final class PropertyNames
{
IceProps,
IceMXProps,
+ IceDiscoveryProps,
IceBoxProps,
IceBoxAdminProps,
IceGridAdminProps,
@@ -843,6 +950,7 @@ public final class PropertyNames
{
"Ice",
"IceMX",
+ "IceDiscovery",
"IceBox",
"IceBoxAdmin",
"IceGridAdmin",
diff --git a/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java
index 9eb01362d16..5b8e3105c1c 100644
--- a/java/src/IceInternal/UdpTransceiver.java
+++ b/java/src/IceInternal/UdpTransceiver.java
@@ -563,9 +563,14 @@ final class UdpTransceiver implements Transceiver
intf = java.net.NetworkInterface.getByName(interfaceAddr);
if(intf == null)
{
- java.net.InetSocketAddress addr = Network.getAddressForServer(interfaceAddr, 0,
- Network.EnableIPv4, false);
- intf = java.net.NetworkInterface.getByInetAddress(addr.getAddress());
+ try
+ {
+ intf = java.net.NetworkInterface.getByInetAddress(
+ java.net.InetAddress.getByName(interfaceAddr));
+ }
+ catch(Exception ex)
+ {
+ }
}
}
diff --git a/java/test/Ice/proxy/AllTests.java b/java/test/Ice/proxy/AllTests.java
index de50e7bf99d..34361a35d3f 100644
--- a/java/test/Ice/proxy/AllTests.java
+++ b/java/test/Ice/proxy/AllTests.java
@@ -412,7 +412,8 @@ public class AllTests
test(proxyProps.get("Test.Locator").equals(
"locator -t -e " + Ice.Util.encodingVersionToString(Ice.Util.currentEncoding())));
- test(proxyProps.get("Test.Locator.CollocationOptimized").equals("1"));
+ // Locator collocation optimization is always disabled.
+ //test(proxyProps.get("Test.Locator.CollocationOptimized").equals("1"));
test(proxyProps.get("Test.Locator.ConnectionCached").equals("0"));
test(proxyProps.get("Test.Locator.PreferSecure").equals("1"));
test(proxyProps.get("Test.Locator.EndpointSelection").equals("Random"));
diff --git a/java/test/IceDiscovery/simple/AllTests.java b/java/test/IceDiscovery/simple/AllTests.java
new file mode 100644
index 00000000000..97546028b59
--- /dev/null
+++ b/java/test/IceDiscovery/simple/AllTests.java
@@ -0,0 +1,220 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package test.IceDiscovery.simple;
+
+import test.IceDiscovery.simple.Test.*;
+
+import java.util.List;
+import java.util.ArrayList;
+
+import java.util.Set;
+import java.util.HashSet;
+
+public class AllTests
+{
+ private static void
+ test(boolean b)
+ {
+ if(!b)
+ {
+ throw new RuntimeException();
+ }
+ }
+
+ public static void
+ allTests(Ice.Communicator communicator, int num)
+ {
+ List<ControllerPrx> proxies = new ArrayList<ControllerPrx>();
+ List<ControllerPrx> indirectProxies = new ArrayList<ControllerPrx>();
+ for(int i = 0; i < num; ++i)
+ {
+ String id = "controller" + i;
+ proxies.add(ControllerPrxHelper.uncheckedCast(communicator.stringToProxy(id)));
+ indirectProxies.add(ControllerPrxHelper.uncheckedCast(communicator.stringToProxy(id + "@control" + i)));
+ }
+
+ System.out.print("testing indirect proxies... ");
+ System.out.flush();
+ {
+ for(ControllerPrx prx : indirectProxies)
+ {
+ prx.ice_ping();
+ }
+ }
+ System.out.println("ok");
+
+ System.out.print("testing well-known proxies... ");
+ System.out.flush();
+ {
+ for(ControllerPrx prx : proxies)
+ {
+ prx.ice_ping();
+ }
+ }
+ System.out.println("ok");
+
+ System.out.print("testing object adapter registration... ");
+ System.out.flush();
+ {
+ try
+ {
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ }
+ catch(Ice.NoEndpointException ex)
+ {
+ }
+
+ proxies.get(0).activateObjectAdapter("oa", "oa1", "");
+
+ try
+ {
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ }
+ catch(Ice.ObjectNotExistException ex)
+ {
+ }
+
+ proxies.get(0).deactivateObjectAdapter("oa");
+
+ try
+ {
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ }
+ catch(Ice.NoEndpointException ex)
+ {
+ }
+ }
+ System.out.println("ok");
+
+ System.out.print("testing object adapter migration...");
+ System.out.flush();
+ {
+ proxies.get(0).activateObjectAdapter("oa", "oa1", "");
+ proxies.get(0).addObject("oa", "object");
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ proxies.get(0).removeObject("oa", "object");
+ proxies.get(0).deactivateObjectAdapter("oa");
+
+ proxies.get(1).activateObjectAdapter("oa", "oa1", "");
+ proxies.get(1).addObject("oa", "object");
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ proxies.get(1).removeObject("oa", "object");
+ proxies.get(1).deactivateObjectAdapter("oa");
+ }
+ System.out.println("ok");
+
+ System.out.print("testing object migration...");
+ System.out.flush();
+ {
+ proxies.get(0).activateObjectAdapter("oa", "oa1", "");
+ proxies.get(1).activateObjectAdapter("oa", "oa2", "");
+
+ proxies.get(0).addObject("oa", "object");
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ communicator.stringToProxy("object").ice_ping();
+ proxies.get(0).removeObject("oa", "object");
+
+ proxies.get(1).addObject("oa", "object");
+ communicator.stringToProxy("object @ oa2").ice_ping();
+ communicator.stringToProxy("object").ice_ping();
+ proxies.get(1).removeObject("oa", "object");
+
+ try
+ {
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ }
+ catch(Ice.ObjectNotExistException ex)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("object @ oa2").ice_ping();
+ }
+ catch(Ice.ObjectNotExistException ex)
+ {
+ }
+
+ proxies.get(0).deactivateObjectAdapter("oa");
+ proxies.get(1).deactivateObjectAdapter("oa");
+ }
+ System.out.println("ok");
+
+ System.out.print("testing replica groups...");
+ System.out.flush();
+ {
+ proxies.get(0).activateObjectAdapter("oa", "oa1", "rg");
+ proxies.get(1).activateObjectAdapter("oa", "oa2", "rg");
+ proxies.get(2).activateObjectAdapter("oa", "oa3", "rg");
+
+ proxies.get(0).addObject("oa", "object");
+ proxies.get(1).addObject("oa", "object");
+ proxies.get(2).addObject("oa", "object");
+
+ communicator.stringToProxy("object @ oa1").ice_ping();
+ communicator.stringToProxy("object @ oa2").ice_ping();
+ communicator.stringToProxy("object @ oa3").ice_ping();
+
+ communicator.stringToProxy("object @ rg").ice_ping();
+
+ Set<String> adapterIds = new HashSet<String>();
+ adapterIds.add("oa1");
+ adapterIds.add("oa2");
+ adapterIds.add("oa3");
+ TestIntfPrx intf = TestIntfPrxHelper.uncheckedCast(communicator.stringToProxy("object"));
+ intf = (TestIntfPrx)intf.ice_connectionCached(false).ice_locatorCacheTimeout(0);
+ while(!adapterIds.isEmpty())
+ {
+ adapterIds.remove(intf.getAdapterId());
+ }
+
+ while(true)
+ {
+ adapterIds.add("oa1");
+ adapterIds.add("oa2");
+ adapterIds.add("oa3");
+ intf = TestIntfPrxHelper.uncheckedCast(
+ communicator.stringToProxy("object @ rg").ice_connectionCached(false));
+ int nRetry = 100;
+ while(!adapterIds.isEmpty() && --nRetry > 0)
+ {
+ adapterIds.remove(intf.getAdapterId());
+ }
+ if(nRetry > 0)
+ {
+ break;
+ }
+
+ // The previous locator lookup probably didn't return all the replicas... try again.
+ communicator.stringToProxy("object @ rg").ice_locatorCacheTimeout(0).ice_ping();
+ }
+
+ proxies.get(0).deactivateObjectAdapter("oa");
+ proxies.get(1).deactivateObjectAdapter("oa");
+ test(TestIntfPrxHelper.uncheckedCast(
+ communicator.stringToProxy("object @ rg")).getAdapterId().equals("oa3"));
+ proxies.get(2).deactivateObjectAdapter("oa");
+
+ proxies.get(0).activateObjectAdapter("oa", "oa1", "rg");
+ proxies.get(0).addObject("oa", "object");
+ test(TestIntfPrxHelper.uncheckedCast(
+ communicator.stringToProxy("object @ rg")).getAdapterId().equals("oa1"));
+ proxies.get(0).deactivateObjectAdapter("oa");
+ }
+ System.out.println("ok");
+
+ System.out.print("shutting down... ");
+ System.out.flush();
+ for(ControllerPrx prx : proxies)
+ {
+ prx.shutdown();
+ }
+ System.out.println("ok");
+ }
+}
diff --git a/java/test/IceDiscovery/simple/Client.java b/java/test/IceDiscovery/simple/Client.java
new file mode 100644
index 00000000000..fda8e46a37d
--- /dev/null
+++ b/java/test/IceDiscovery/simple/Client.java
@@ -0,0 +1,37 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package test.IceDiscovery.simple;
+
+public class Client extends test.Util.Application
+{
+ public int run(String[] args)
+ {
+ int num;
+ try
+ {
+ num = args.length == 1 ? Integer.parseInt(args[0]) : 0;
+ }
+ catch(NumberFormatException ex)
+ {
+ num = 0;
+ }
+ AllTests.allTests(communicator(), num);
+ return 0;
+ }
+
+ public static void main(String[] args)
+ {
+ Client c = new Client();
+ int status = c.main("Client", args);
+
+ System.gc();
+ System.exit(status);
+ }
+}
diff --git a/java/test/IceDiscovery/simple/ControllerI.java b/java/test/IceDiscovery/simple/ControllerI.java
new file mode 100644
index 00000000000..1c8c2d837c7
--- /dev/null
+++ b/java/test/IceDiscovery/simple/ControllerI.java
@@ -0,0 +1,61 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package test.IceDiscovery.simple;
+
+import test.IceDiscovery.simple.Test.*;
+
+public final class ControllerI extends _ControllerDisp
+{
+ public void
+ activateObjectAdapter(String name, String adapterId, String replicaGroupId, Ice.Current current)
+ {
+ Ice.Communicator communicator = current.adapter.getCommunicator();
+ Ice.Properties properties = communicator.getProperties();
+ properties.setProperty(name + ".AdapterId", adapterId);
+ properties.setProperty(name + ".ReplicaGroupId", replicaGroupId);
+ properties.setProperty(name + ".Endpoints", "default");
+ Ice.ObjectAdapter oa = communicator.createObjectAdapter(name);
+ _adapters.put(name, oa);
+ oa.activate();
+ }
+
+ public void
+ deactivateObjectAdapter(String name, Ice.Current current)
+ {
+ _adapters.get(name).destroy();
+ _adapters.remove(name);
+ }
+
+ public void
+ addObject(String oaName, String id, Ice.Current current)
+ {
+ assert(_adapters.containsKey(oaName));
+ Ice.Identity identity = new Ice.Identity();
+ identity.name = id;
+ _adapters.get(oaName).add(new TestIntfI(), identity);
+ }
+
+ public void
+ removeObject(String oaName, String id, Ice.Current current)
+ {
+ assert(_adapters.containsKey(oaName));
+ Ice.Identity identity = new Ice.Identity();
+ identity.name = id;
+ _adapters.get(oaName).remove(identity);
+ }
+
+ public void shutdown(Ice.Current current)
+ {
+ current.adapter.getCommunicator().shutdown();
+ }
+
+ final private java.util.Map<String, Ice.ObjectAdapter> _adapters =
+ new java.util.HashMap<String, Ice.ObjectAdapter>();
+}
diff --git a/java/test/IceDiscovery/simple/Server.java b/java/test/IceDiscovery/simple/Server.java
new file mode 100644
index 00000000000..5a671e99003
--- /dev/null
+++ b/java/test/IceDiscovery/simple/Server.java
@@ -0,0 +1,45 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package test.IceDiscovery.simple;
+
+public class Server extends test.Util.Application
+{
+ public int run(String[] args)
+ {
+ Ice.Properties properties = communicator().getProperties();
+
+ int num = 0;
+ try
+ {
+ num = Integer.parseInt(args[0]);
+ }
+ catch(NumberFormatException ex)
+ {
+ }
+
+ properties.setProperty("ControlAdapter.Endpoints", "default -p " + (12010 + num));
+ properties.setProperty("ControlAdapter.AdapterId", "control" + num);
+ properties.setProperty("ControlAdapter.ThreadPool.Size", "1");
+
+ Ice.ObjectAdapter adapter = communicator().createObjectAdapter("ControlAdapter");
+ adapter.add(new ControllerI(), communicator().stringToIdentity("controller" + num));
+ adapter.activate();
+
+ return WAIT;
+ }
+
+ public static void main(String[] args)
+ {
+ Server c = new Server();
+ int status = c.main("Server", args);
+ System.gc();
+ System.exit(status);
+ }
+}
diff --git a/java/test/IceDiscovery/simple/Test.ice b/java/test/IceDiscovery/simple/Test.ice
new file mode 100644
index 00000000000..03d59e513a7
--- /dev/null
+++ b/java/test/IceDiscovery/simple/Test.ice
@@ -0,0 +1,33 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+
+[["java:package:test.IceDiscovery.simple"]]
+module Test
+{
+
+interface TestIntf
+{
+ string getAdapterId();
+};
+
+interface Controller
+{
+ void activateObjectAdapter(string name, string adapterId, string replicaGroupId);
+ void deactivateObjectAdapter(string name);
+
+ void addObject(string oaName, string id);
+ void removeObject(string oaName, string id);
+
+ void shutdown();
+};
+
+};
diff --git a/java/test/IceDiscovery/simple/TestIntfI.java b/java/test/IceDiscovery/simple/TestIntfI.java
new file mode 100644
index 00000000000..fca6235ce6b
--- /dev/null
+++ b/java/test/IceDiscovery/simple/TestIntfI.java
@@ -0,0 +1,21 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+package test.IceDiscovery.simple;
+
+import test.IceDiscovery.simple.Test.*;
+
+public final class TestIntfI extends _TestIntfDisp
+{
+ public String
+ getAdapterId(Ice.Current current)
+ {
+ return current.adapter.getCommunicator().getProperties().getProperty(current.adapter.getName() + ".AdapterId");
+ }
+}
diff --git a/java/test/IceDiscovery/simple/run.py b/java/test/IceDiscovery/simple/run.py
new file mode 100755
index 00000000000..d23d4644fae
--- /dev/null
+++ b/java/test/IceDiscovery/simple/run.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2013 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.
+#
+# **********************************************************************
+
+import os, sys
+
+path = [ ".", "..", "../..", "../../..", "../../../.." ]
+head = os.path.dirname(sys.argv[0])
+if len(head) > 0:
+ path = [os.path.join(head, p) for p in path]
+path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
+ raise RuntimeError("can't find toplevel directory!")
+sys.path.append(os.path.join(path[0], "scripts"))
+import TestUtil
+
+server = "test.IceDiscovery.simple.Server"
+client = "test.IceDiscovery.simple.Client"
+
+num = 3
+
+args = " --Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory"
+args += " --IceDiscovery.Timeout=30"
+args += " --IceDiscovery.RetryCount=1"
+if TestUtil.ipv6:
+ args += " --IceDiscovery.Interface=\"::1\""
+else:
+ args += " --IceDiscovery.Interface=127.0.0.1"
+
+serverProc = []
+for i in range(0, num):
+ sys.stdout.write("starting server #%d... " % (i + 1))
+ sys.stdout.flush()
+ serverProc.append(TestUtil.startServer(server, "%d %s" % (i, args)))
+ print("ok")
+
+sys.stdout.write("starting client... ")
+sys.stdout.flush()
+clientProc = TestUtil.startClient(client, "%d %s" % (num, args), startReader = False)
+print("ok")
+clientProc.startReader()
+
+clientProc.waitTestSuccess()
+for p in serverProc:
+ p.waitTestSuccess()
diff --git a/slice/IceDiscovery/IceDiscovery.ice b/slice/IceDiscovery/IceDiscovery.ice
new file mode 100644
index 00000000000..a6c237c4dbc
--- /dev/null
+++ b/slice/IceDiscovery/IceDiscovery.ice
@@ -0,0 +1,31 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 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.
+//
+// **********************************************************************
+
+#pragma once
+
+#include <Ice/Identity.ice>
+
+module IceDiscovery
+{
+
+interface LookupReply
+{
+ void foundObjectById(Ice::Identity id, Object* prx);
+
+ void foundAdapterById(string id, Object* prx, bool isReplicaGroup);
+};
+
+interface Lookup
+{
+ idempotent void findObjectById(string domainId, Ice::Identity id, LookupReply* reply);
+
+ idempotent void findAdapterById(string domainId, string id, LookupReply* reply);
+};
+
+};