zeroc-ice 3.7.0 → 3.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (684) hide show
  1. checksums.yaml +4 -4
  2. data/ICE_LICENSE +1 -1
  3. data/bin/slice2rb +1 -1
  4. data/ext/Communicator.cpp +72 -2
  5. data/ext/Communicator.h +1 -1
  6. data/ext/Config.h +11 -1
  7. data/ext/Connection.cpp +22 -2
  8. data/ext/Connection.h +4 -1
  9. data/ext/Endpoint.cpp +1 -1
  10. data/ext/Endpoint.h +1 -1
  11. data/ext/ImplicitContext.cpp +1 -1
  12. data/ext/ImplicitContext.h +1 -1
  13. data/ext/Init.cpp +1 -1
  14. data/ext/Logger.cpp +1 -1
  15. data/ext/Logger.h +1 -1
  16. data/ext/Operation.cpp +1 -1
  17. data/ext/Operation.h +1 -1
  18. data/ext/Properties.cpp +1 -1
  19. data/ext/Properties.h +1 -1
  20. data/ext/Proxy.cpp +70 -1
  21. data/ext/Proxy.h +1 -1
  22. data/ext/Slice.cpp +1 -1
  23. data/ext/Slice.h +1 -1
  24. data/ext/Types.cpp +21 -5
  25. data/ext/Types.h +1 -1
  26. data/ext/Util.cpp +1 -1
  27. data/ext/Util.h +1 -1
  28. data/ext/ValueFactoryManager.cpp +2 -2
  29. data/ext/ValueFactoryManager.h +2 -2
  30. data/ext/ice/cpp/include/Ice/Application.h +234 -76
  31. data/ext/ice/cpp/include/Ice/AsyncResult.h +77 -1
  32. data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -1
  33. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +35 -2
  34. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -1
  35. data/ext/ice/cpp/include/Ice/Buffer.h +1 -1
  36. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +43 -1
  37. data/ext/ice/cpp/include/Ice/Comparable.h +81 -1
  38. data/ext/ice/cpp/include/Ice/Config.h +8 -1
  39. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +97 -1
  40. data/ext/ice/cpp/include/Ice/ConnectionIF.h +3 -1
  41. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +1 -1
  42. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +1 -1
  43. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +17 -2
  44. data/ext/ice/cpp/include/Ice/Dispatcher.h +22 -2
  45. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -1
  46. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
  47. data/ext/ice/cpp/include/Ice/Exception.h +57 -15
  48. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +19 -1
  49. data/ext/ice/cpp/include/Ice/FactoryTable.h +12 -2
  50. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
  51. data/ext/ice/cpp/include/Ice/Format.h +13 -14
  52. data/ext/ice/cpp/include/Ice/Functional.h +6 -1
  53. data/ext/ice/cpp/include/Ice/GCObject.h +1 -1
  54. data/ext/ice/cpp/include/Ice/Handle.h +1 -1
  55. data/ext/ice/cpp/include/Ice/Ice.h +1 -1
  56. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +38 -3
  57. data/ext/ice/cpp/include/Ice/Incoming.h +15 -2
  58. data/ext/ice/cpp/include/Ice/IncomingAsync.h +37 -4
  59. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -1
  60. data/ext/ice/cpp/include/Ice/Initialize.h +764 -98
  61. data/ext/ice/cpp/include/Ice/InputStream.h +637 -112
  62. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -1
  63. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +17 -1
  64. data/ext/ice/cpp/include/Ice/LocalObject.h +5 -1
  65. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
  66. data/ext/ice/cpp/include/Ice/LoggerUtil.h +37 -6
  67. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +3 -1
  68. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +3 -1
  69. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +3 -1
  70. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +46 -23
  71. data/ext/ice/cpp/include/Ice/Object.h +338 -47
  72. data/ext/ice/cpp/include/Ice/ObjectF.h +5 -1
  73. data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -1
  74. data/ext/ice/cpp/include/Ice/Optional.h +22 -6
  75. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +15 -1
  76. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +1 -1
  77. data/ext/ice/cpp/include/Ice/OutputStream.h +436 -92
  78. data/ext/ice/cpp/include/Ice/Protocol.h +31 -1
  79. data/ext/ice/cpp/include/Ice/Proxy.h +2244 -190
  80. data/ext/ice/cpp/include/Ice/ProxyF.h +3 -1
  81. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
  82. data/ext/ice/cpp/include/Ice/ProxyHandle.h +10 -1
  83. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
  84. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +67 -9
  85. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -1
  86. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -1
  87. data/ext/ice/cpp/include/Ice/SHA1.h +1 -1
  88. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
  89. data/ext/ice/cpp/include/Ice/Service.h +267 -138
  90. data/ext/ice/cpp/include/Ice/SliceChecksums.h +5 -1
  91. data/ext/ice/cpp/include/Ice/SlicedData.h +80 -33
  92. data/ext/ice/cpp/include/Ice/SlicedDataF.h +4 -1
  93. data/ext/ice/cpp/include/Ice/StreamHelpers.h +324 -116
  94. data/ext/ice/cpp/include/Ice/StringConverter.h +32 -1
  95. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
  96. data/ext/ice/cpp/include/Ice/UUID.h +2 -1
  97. data/ext/ice/cpp/include/Ice/UniquePtr.h +2 -2
  98. data/ext/ice/cpp/include/Ice/UniqueRef.h +6 -2
  99. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +6 -1
  100. data/ext/ice/cpp/include/Ice/Value.h +41 -1
  101. data/ext/ice/cpp/include/Ice/ValueF.h +3 -1
  102. data/ext/ice/cpp/include/IceSSL/Config.h +1 -1
  103. data/ext/ice/cpp/include/IceSSL/IceSSL.h +1 -1
  104. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +75 -53
  105. data/ext/ice/cpp/include/IceSSL/Plugin.h +323 -218
  106. data/ext/ice/cpp/include/IceSSL/SChannel.h +34 -27
  107. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +35 -28
  108. data/ext/ice/cpp/include/IceSSL/UWP.h +33 -24
  109. data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
  110. data/ext/ice/cpp/include/IceUtil/Cond.h +1 -1
  111. data/ext/ice/cpp/include/IceUtil/Config.h +11 -3
  112. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +1 -1
  113. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -1
  114. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +59 -31
  115. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +1 -1
  116. data/ext/ice/cpp/include/IceUtil/Exception.h +1 -1
  117. data/ext/ice/cpp/include/IceUtil/FileUtil.h +1 -1
  118. data/ext/ice/cpp/include/IceUtil/Functional.h +1 -1
  119. data/ext/ice/cpp/include/IceUtil/Handle.h +1 -1
  120. data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -1
  121. data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -1
  122. data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -1
  123. data/ext/ice/cpp/include/IceUtil/Lock.h +1 -1
  124. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -1
  125. data/ext/ice/cpp/include/IceUtil/Mutex.h +2 -5
  126. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -1
  127. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +1 -1
  128. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -1
  129. data/ext/ice/cpp/include/IceUtil/Optional.h +95 -1
  130. data/ext/ice/cpp/include/IceUtil/Options.h +1 -1
  131. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +1 -1
  132. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -1
  133. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +1 -1
  134. data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
  135. data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -1
  136. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +4 -4
  137. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +5 -3
  138. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -1
  139. data/ext/ice/cpp/include/IceUtil/Shared.h +1 -1
  140. data/ext/ice/cpp/include/IceUtil/StopWatch.h +1 -1
  141. data/ext/ice/cpp/include/IceUtil/StringConverter.h +106 -86
  142. data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -1
  143. data/ext/ice/cpp/include/IceUtil/Thread.h +1 -1
  144. data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -1
  145. data/ext/ice/cpp/include/IceUtil/Time.h +1 -1
  146. data/ext/ice/cpp/include/IceUtil/Timer.h +5 -1
  147. data/ext/ice/cpp/include/IceUtil/UUID.h +5 -1
  148. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
  149. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +80 -20
  150. data/ext/ice/cpp/include/generated/Ice/Communicator.h +927 -130
  151. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +13 -5
  152. data/ext/ice/cpp/include/generated/Ice/Connection.h +990 -194
  153. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +21 -9
  154. data/ext/ice/cpp/include/generated/Ice/Current.h +180 -17
  155. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +484 -118
  156. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +41 -17
  157. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +29 -3
  158. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +11 -5
  159. data/ext/ice/cpp/include/generated/Ice/Identity.h +56 -7
  160. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +150 -28
  161. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +13 -5
  162. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +629 -83
  163. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +19 -7
  164. data/ext/ice/cpp/include/generated/Ice/LocalException.h +5104 -794
  165. data/ext/ice/cpp/include/generated/Ice/Locator.h +2222 -443
  166. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +27 -9
  167. data/ext/ice/cpp/include/generated/Ice/Logger.h +104 -26
  168. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +13 -5
  169. data/ext/ice/cpp/include/generated/Ice/Metrics.h +2534 -455
  170. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +1004 -126
  171. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +13 -5
  172. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +72 -12
  173. data/ext/ice/cpp/include/generated/Ice/Plugin.h +142 -28
  174. data/ext/ice/cpp/include/generated/Ice/PluginF.h +17 -7
  175. data/ext/ice/cpp/include/generated/Ice/Process.h +511 -71
  176. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +18 -6
  177. data/ext/ice/cpp/include/generated/Ice/Properties.h +306 -58
  178. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +737 -121
  179. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +22 -8
  180. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +1526 -279
  181. data/ext/ice/cpp/include/generated/Ice/Router.h +1009 -198
  182. data/ext/ice/cpp/include/generated/Ice/RouterF.h +18 -6
  183. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +174 -18
  184. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +13 -5
  185. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +13 -3
  186. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +177 -23
  187. data/ext/ice/cpp/include/generated/Ice/Version.h +43 -13
  188. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +71 -15
  189. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +13 -5
  190. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +39 -9
  191. data/ext/ice/cpp/src/Ice/ACM.cpp +12 -3
  192. data/ext/ice/cpp/src/Ice/ACM.h +1 -1
  193. data/ext/ice/cpp/src/Ice/ACMF.h +1 -1
  194. data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -1
  195. data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
  196. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
  197. data/ext/ice/cpp/src/Ice/ArgVector.cpp +1 -1
  198. data/ext/ice/cpp/src/Ice/ArgVector.h +1 -1
  199. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -1
  200. data/ext/ice/cpp/src/Ice/Base64.cpp +1 -1
  201. data/ext/ice/cpp/src/Ice/Base64.h +1 -1
  202. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
  203. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +1 -1
  204. data/ext/ice/cpp/src/Ice/Buffer.cpp +1 -1
  205. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
  206. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +1 -1
  207. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +1 -1
  208. data/ext/ice/cpp/src/Ice/Communicator.cpp +6 -4
  209. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
  210. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +34 -13
  211. data/ext/ice/cpp/src/Ice/CommunicatorI.h +10 -10
  212. data/ext/ice/cpp/src/Ice/Cond.cpp +1 -1
  213. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +11 -6
  214. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +1 -1
  215. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +1 -1
  216. data/ext/ice/cpp/src/Ice/Connection.cpp +27 -11
  217. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
  218. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +24 -19
  219. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +1 -1
  220. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +1 -1
  221. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +45 -37
  222. data/ext/ice/cpp/src/Ice/ConnectionI.h +10 -8
  223. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +1 -1
  224. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +1 -1
  225. data/ext/ice/cpp/src/Ice/Connector.cpp +1 -1
  226. data/ext/ice/cpp/src/Ice/Connector.h +1 -1
  227. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
  228. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +1 -1
  229. data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
  230. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +5 -7
  231. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -1
  232. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -1
  233. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +1 -1
  234. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +1 -1
  235. data/ext/ice/cpp/src/Ice/Endpoint.cpp +24 -10
  236. data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
  237. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +1 -1
  238. data/ext/ice/cpp/src/Ice/EndpointFactory.h +1 -1
  239. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
  240. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +7 -13
  241. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -1
  242. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
  243. data/ext/ice/cpp/src/Ice/EndpointI.cpp +2 -2
  244. data/ext/ice/cpp/src/Ice/EndpointI.h +5 -5
  245. data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -1
  246. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
  247. data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
  248. data/ext/ice/cpp/src/Ice/EventHandler.h +1 -1
  249. data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -1
  250. data/ext/ice/cpp/src/Ice/Exception.cpp +1 -1
  251. data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
  252. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -1
  253. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +1 -1
  254. data/ext/ice/cpp/src/Ice/GCObject.cpp +1 -1
  255. data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
  256. data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -1
  257. data/ext/ice/cpp/src/Ice/HttpParser.h +1 -1
  258. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +24 -29
  259. data/ext/ice/cpp/src/Ice/IPEndpointI.h +5 -5
  260. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -1
  261. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +1 -1
  262. data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
  263. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +6 -4
  264. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
  265. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +2 -13
  266. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -1
  267. data/ext/ice/cpp/src/Ice/Incoming.cpp +1 -1
  268. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -1
  269. data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -1
  270. data/ext/ice/cpp/src/Ice/Initialize.cpp +10 -16
  271. data/ext/ice/cpp/src/Ice/InputStream.cpp +1 -1
  272. data/ext/ice/cpp/src/Ice/Instance.cpp +13 -34
  273. data/ext/ice/cpp/src/Ice/Instance.h +1 -1
  274. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +33 -13
  275. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
  276. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1 -1
  277. data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -1
  278. data/ext/ice/cpp/src/Ice/LocalException.cpp +279 -279
  279. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -1
  280. data/ext/ice/cpp/src/Ice/Locator.cpp +287 -174
  281. data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
  282. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +4 -9
  283. data/ext/ice/cpp/src/Ice/LocatorInfo.h +1 -1
  284. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
  285. data/ext/ice/cpp/src/Ice/Logger.cpp +6 -4
  286. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -1
  287. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -1
  288. data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
  289. data/ext/ice/cpp/src/Ice/LoggerI.cpp +1 -1
  290. data/ext/ice/cpp/src/Ice/LoggerI.h +1 -1
  291. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +1 -1
  292. data/ext/ice/cpp/src/Ice/Metrics.cpp +297 -109
  293. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +2 -7
  294. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -1
  295. data/ext/ice/cpp/src/Ice/Network.cpp +188 -225
  296. data/ext/ice/cpp/src/Ice/Network.h +3 -12
  297. data/ext/ice/cpp/src/Ice/NetworkF.h +1 -1
  298. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +1 -1
  299. data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -1
  300. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
  301. data/ext/ice/cpp/src/Ice/Object.cpp +7 -4
  302. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +6 -4
  303. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
  304. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +53 -19
  305. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +1 -1
  306. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +1 -1
  307. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +116 -150
  308. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +11 -11
  309. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +6 -4
  310. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -1
  311. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +25 -42
  312. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +2 -2
  313. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
  314. data/ext/ice/cpp/src/Ice/OutputStream.cpp +1 -1
  315. data/ext/ice/cpp/src/Ice/Plugin.cpp +9 -5
  316. data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
  317. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +15 -34
  318. data/ext/ice/cpp/src/Ice/PluginManagerI.h +3 -3
  319. data/ext/ice/cpp/src/Ice/Process.cpp +69 -40
  320. data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
  321. data/ext/ice/cpp/src/Ice/Properties.cpp +6 -4
  322. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +89 -54
  323. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +1 -1
  324. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -1
  325. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
  326. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +15 -21
  327. data/ext/ice/cpp/src/Ice/PropertiesI.h +10 -10
  328. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +4 -2
  329. data/ext/ice/cpp/src/Ice/PropertyNames.h +2 -2
  330. data/ext/ice/cpp/src/Ice/Protocol.cpp +5 -13
  331. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +1 -1
  332. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +1 -1
  333. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
  334. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -1
  335. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -1
  336. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
  337. data/ext/ice/cpp/src/Ice/Proxy.cpp +46 -1
  338. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
  339. data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -1
  340. data/ext/ice/cpp/src/Ice/Reference.cpp +56 -6
  341. data/ext/ice/cpp/src/Ice/Reference.h +13 -2
  342. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +51 -90
  343. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -1
  344. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
  345. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +1 -1
  346. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -1
  347. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +203 -117
  348. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
  349. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -1
  350. data/ext/ice/cpp/src/Ice/RequestHandler.h +1 -1
  351. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +1 -1
  352. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +1 -1
  353. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -1
  354. data/ext/ice/cpp/src/Ice/ResponseHandler.h +1 -1
  355. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +1 -1
  356. data/ext/ice/cpp/src/Ice/RetryQueue.h +1 -1
  357. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
  358. data/ext/ice/cpp/src/Ice/Router.cpp +167 -89
  359. data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
  360. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +6 -28
  361. data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -3
  362. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
  363. data/ext/ice/cpp/src/Ice/SHA1.cpp +1 -1
  364. data/ext/ice/cpp/src/Ice/Selector.cpp +19 -26
  365. data/ext/ice/cpp/src/Ice/Selector.h +1 -1
  366. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +6 -4
  367. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
  368. data/ext/ice/cpp/src/Ice/ServantManager.cpp +15 -31
  369. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
  370. data/ext/ice/cpp/src/Ice/SharedContext.h +1 -1
  371. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
  372. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -1
  373. data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -1
  374. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +32 -52
  375. data/ext/ice/cpp/src/Ice/StreamSocket.h +1 -1
  376. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +10 -1
  377. data/ext/ice/cpp/src/Ice/StringUtil.h +1 -1
  378. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +1 -1
  379. data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -1
  380. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +5 -13
  381. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -1
  382. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -1
  383. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -1
  384. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +8 -11
  385. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +2 -2
  386. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +1 -1
  387. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -1
  388. data/ext/ice/cpp/src/Ice/Thread.cpp +1 -1
  389. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +13 -13
  390. data/ext/ice/cpp/src/Ice/ThreadPool.h +1 -1
  391. data/ext/ice/cpp/src/Ice/Timer.cpp +1 -1
  392. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +1 -1
  393. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -1
  394. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +1 -1
  395. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +1 -1
  396. data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -1
  397. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -1
  398. data/ext/ice/cpp/src/Ice/Transceiver.h +1 -1
  399. data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
  400. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +1 -1
  401. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -1
  402. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +19 -27
  403. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +2 -2
  404. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +17 -54
  405. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +1 -1
  406. data/ext/ice/cpp/src/Ice/Value.cpp +1 -1
  407. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +9 -5
  408. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +3 -6
  409. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +2 -2
  410. data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
  411. data/ext/ice/cpp/src/Ice/VirtualShared.h +1 -1
  412. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -1
  413. data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -1
  414. data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -1
  415. data/ext/ice/cpp/src/Ice/WSConnector.h +1 -1
  416. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +4 -5
  417. data/ext/ice/cpp/src/Ice/WSEndpoint.h +2 -2
  418. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +8 -9
  419. data/ext/ice/cpp/src/Ice/WSTransceiver.h +1 -1
  420. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +85 -27
  421. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +599 -113
  422. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +1 -1
  423. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -1
  424. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +1 -1
  425. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -1
  426. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +1 -1
  427. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -1
  428. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +70 -24
  429. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +635 -69
  430. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +1 -1
  431. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +71 -9
  432. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +2 -4
  433. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -1
  434. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +1 -1
  435. data/ext/ice/cpp/src/IceSSL/CertificateI.h +1 -1
  436. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +6 -4
  437. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +3 -3
  438. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +2 -4
  439. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -1
  440. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +2 -2
  441. data/ext/ice/cpp/src/IceSSL/EndpointI.h +2 -2
  442. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +6 -4
  443. data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -1
  444. data/ext/ice/cpp/src/IceSSL/Instance.h +1 -1
  445. data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -1
  446. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +1 -1
  447. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +1 -1
  448. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +1 -1
  449. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +1 -1
  450. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +1 -1
  451. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +25 -62
  452. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +1 -1
  453. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +1 -1
  454. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +1 -1
  455. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +1 -1
  456. data/ext/ice/cpp/src/IceSSL/PluginI.h +1 -1
  457. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -1
  458. data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -1
  459. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +1 -1
  460. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +1 -1
  461. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +1 -1
  462. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +1 -1
  463. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +1 -1
  464. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +19 -27
  465. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +1 -1
  466. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +7 -16
  467. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +1 -1
  468. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -1
  469. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +1 -1
  470. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +1 -1
  471. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +1 -1
  472. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +1 -1
  473. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +1 -1
  474. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +1 -1
  475. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +1 -1
  476. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +7 -10
  477. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +1 -1
  478. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +4 -5
  479. data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -1
  480. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -1
  481. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +1 -1
  482. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +1 -1
  483. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +1 -1
  484. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +1 -1
  485. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +1 -1
  486. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +1 -1
  487. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +1 -1
  488. data/ext/ice/cpp/src/IceSSL/Util.cpp +1 -1
  489. data/ext/ice/cpp/src/IceSSL/Util.h +1 -1
  490. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +1 -1
  491. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -1
  492. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -1
  493. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +1 -1
  494. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +5 -5
  495. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -1
  496. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -1
  497. data/ext/ice/cpp/src/IceUtil/Options.cpp +1 -1
  498. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +1 -1
  499. data/ext/ice/cpp/src/IceUtil/Random.cpp +1 -1
  500. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +1 -5
  501. data/ext/ice/cpp/src/IceUtil/Shared.cpp +1 -1
  502. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +1 -1
  503. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +1 -1
  504. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -1
  505. data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
  506. data/ext/ice/cpp/src/IceUtil/UUID.cpp +3 -3
  507. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +1 -1
  508. data/ext/ice/cpp/src/IceUtil/Unicode.h +1 -1
  509. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +1 -1
  510. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +160 -150
  511. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +9 -8
  512. data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -1
  513. data/ext/ice/cpp/src/Slice/Checksum.h +1 -1
  514. data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -1
  515. data/ext/ice/cpp/src/Slice/FileTracker.h +1 -1
  516. data/ext/ice/cpp/src/Slice/Grammar.cpp +567 -585
  517. data/ext/ice/cpp/src/Slice/Grammar.h +2 -2
  518. data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -1
  519. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +131 -47
  520. data/ext/ice/cpp/src/Slice/JavaUtil.h +10 -5
  521. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -1
  522. data/ext/ice/cpp/src/Slice/MD5.h +1 -1
  523. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +1 -1
  524. data/ext/ice/cpp/src/Slice/PHPUtil.h +1 -1
  525. data/ext/ice/cpp/src/Slice/Parser.cpp +383 -101
  526. data/ext/ice/cpp/src/Slice/Parser.h +40 -3
  527. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +2 -1
  528. data/ext/ice/cpp/src/Slice/Preprocessor.h +2 -2
  529. data/ext/ice/cpp/src/Slice/Python.cpp +7 -15
  530. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +66 -9
  531. data/ext/ice/cpp/src/Slice/PythonUtil.h +2 -2
  532. data/ext/ice/cpp/src/Slice/Ruby.cpp +1 -1
  533. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +2 -2
  534. data/ext/ice/cpp/src/Slice/RubyUtil.h +1 -1
  535. data/ext/ice/cpp/src/Slice/Scanner.cpp +214 -135
  536. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +1 -1
  537. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +99 -17
  538. data/ext/ice/cpp/src/Slice/Util.h +5 -4
  539. data/ice.gemspec +2 -2
  540. data/lib/Glacier2.rb +1 -1
  541. data/lib/Glacier2/Metrics.rb +2 -2
  542. data/lib/Glacier2/PermissionsVerifier.rb +2 -2
  543. data/lib/Glacier2/PermissionsVerifierF.rb +2 -2
  544. data/lib/Glacier2/Router.rb +2 -2
  545. data/lib/Glacier2/RouterF.rb +2 -2
  546. data/lib/Glacier2/SSLInfo.rb +2 -2
  547. data/lib/Glacier2/Session.rb +2 -2
  548. data/lib/Ice.rb +2 -2
  549. data/lib/Ice/BuiltinSequences.rb +2 -2
  550. data/lib/Ice/Communicator.rb +2 -2
  551. data/lib/Ice/CommunicatorF.rb +2 -2
  552. data/lib/Ice/Connection.rb +2 -2
  553. data/lib/Ice/ConnectionF.rb +2 -2
  554. data/lib/Ice/Current.rb +2 -2
  555. data/lib/Ice/Endpoint.rb +2 -2
  556. data/lib/Ice/EndpointF.rb +2 -2
  557. data/lib/Ice/EndpointTypes.rb +2 -2
  558. data/lib/Ice/FacetMap.rb +2 -2
  559. data/lib/Ice/Identity.rb +2 -2
  560. data/lib/Ice/ImplicitContext.rb +2 -2
  561. data/lib/Ice/ImplicitContextF.rb +2 -2
  562. data/lib/Ice/Instrumentation.rb +2 -2
  563. data/lib/Ice/InstrumentationF.rb +2 -2
  564. data/lib/Ice/LocalException.rb +2 -2
  565. data/lib/Ice/Locator.rb +2 -2
  566. data/lib/Ice/LocatorF.rb +2 -2
  567. data/lib/Ice/Logger.rb +2 -2
  568. data/lib/Ice/LoggerF.rb +2 -2
  569. data/lib/Ice/Metrics.rb +2 -2
  570. data/lib/Ice/ObjectAdapter.rb +2 -2
  571. data/lib/Ice/ObjectAdapterF.rb +2 -2
  572. data/lib/Ice/ObjectFactory.rb +2 -2
  573. data/lib/Ice/Plugin.rb +2 -2
  574. data/lib/Ice/PluginF.rb +2 -2
  575. data/lib/Ice/Process.rb +2 -2
  576. data/lib/Ice/ProcessF.rb +2 -2
  577. data/lib/Ice/Properties.rb +2 -2
  578. data/lib/Ice/PropertiesAdmin.rb +2 -2
  579. data/lib/Ice/PropertiesF.rb +2 -2
  580. data/lib/Ice/RemoteLogger.rb +2 -2
  581. data/lib/Ice/Router.rb +2 -2
  582. data/lib/Ice/RouterF.rb +2 -2
  583. data/lib/Ice/ServantLocator.rb +2 -2
  584. data/lib/Ice/ServantLocatorF.rb +2 -2
  585. data/lib/Ice/SliceChecksumDict.rb +2 -2
  586. data/lib/Ice/ValueFactory.rb +2 -2
  587. data/lib/Ice/Version.rb +2 -2
  588. data/lib/IceBox.rb +1 -1
  589. data/lib/IceBox/IceBox.rb +2 -2
  590. data/lib/IceGrid.rb +1 -1
  591. data/lib/IceGrid/Admin.rb +2 -2
  592. data/lib/IceGrid/Descriptor.rb +2 -2
  593. data/lib/IceGrid/Exception.rb +2 -2
  594. data/lib/IceGrid/FileParser.rb +2 -2
  595. data/lib/IceGrid/PluginFacade.rb +2 -2
  596. data/lib/IceGrid/Registry.rb +2 -2
  597. data/lib/IceGrid/Session.rb +2 -2
  598. data/lib/IceGrid/UserAccountMapper.rb +2 -2
  599. data/lib/IcePatch2.rb +1 -1
  600. data/lib/IcePatch2/FileInfo.rb +2 -2
  601. data/lib/IcePatch2/FileServer.rb +2 -2
  602. data/lib/IceStorm.rb +1 -1
  603. data/lib/IceStorm/IceStorm.rb +2 -2
  604. data/lib/IceStorm/Metrics.rb +2 -2
  605. data/slice/Glacier2/Metrics.ice +2 -2
  606. data/slice/Glacier2/PermissionsVerifier.ice +2 -2
  607. data/slice/Glacier2/PermissionsVerifierF.ice +2 -2
  608. data/slice/Glacier2/Router.ice +2 -2
  609. data/slice/Glacier2/RouterF.ice +2 -2
  610. data/slice/Glacier2/SSLInfo.ice +2 -2
  611. data/slice/Glacier2/Session.ice +2 -2
  612. data/slice/Ice/BuiltinSequences.ice +2 -2
  613. data/slice/Ice/Communicator.ice +66 -73
  614. data/slice/Ice/CommunicatorF.ice +2 -2
  615. data/slice/Ice/Connection.ice +47 -17
  616. data/slice/Ice/ConnectionF.ice +2 -2
  617. data/slice/Ice/Current.ice +4 -5
  618. data/slice/Ice/Endpoint.ice +16 -16
  619. data/slice/Ice/EndpointF.ice +2 -2
  620. data/slice/Ice/EndpointTypes.ice +2 -2
  621. data/slice/Ice/FacetMap.ice +2 -2
  622. data/slice/Ice/Identity.ice +2 -2
  623. data/slice/Ice/ImplicitContext.ice +6 -6
  624. data/slice/Ice/ImplicitContextF.ice +2 -2
  625. data/slice/Ice/Instrumentation.ice +2 -2
  626. data/slice/Ice/InstrumentationF.ice +2 -2
  627. data/slice/Ice/LocalException.ice +2 -2
  628. data/slice/Ice/Locator.ice +3 -3
  629. data/slice/Ice/LocatorF.ice +2 -2
  630. data/slice/Ice/Logger.ice +2 -2
  631. data/slice/Ice/LoggerF.ice +2 -2
  632. data/slice/Ice/Metrics.ice +2 -2
  633. data/slice/Ice/ObjectAdapter.ice +10 -10
  634. data/slice/Ice/ObjectAdapterF.ice +2 -2
  635. data/slice/Ice/ObjectFactory.ice +3 -3
  636. data/slice/Ice/Plugin.ice +4 -4
  637. data/slice/Ice/PluginF.ice +2 -2
  638. data/slice/Ice/Process.ice +2 -2
  639. data/slice/Ice/ProcessF.ice +2 -2
  640. data/slice/Ice/Properties.ice +11 -11
  641. data/slice/Ice/PropertiesAdmin.ice +2 -2
  642. data/slice/Ice/PropertiesF.ice +2 -2
  643. data/slice/Ice/RemoteLogger.ice +12 -23
  644. data/slice/Ice/Router.ice +2 -2
  645. data/slice/Ice/RouterF.ice +2 -2
  646. data/slice/Ice/ServantLocator.ice +2 -2
  647. data/slice/Ice/ServantLocatorF.ice +2 -2
  648. data/slice/Ice/SliceChecksumDict.ice +2 -2
  649. data/slice/Ice/ValueFactory.ice +14 -16
  650. data/slice/Ice/Version.ice +2 -2
  651. data/slice/IceBT/ConnectionInfo.ice +2 -2
  652. data/slice/IceBT/EndpointInfo.ice +2 -2
  653. data/slice/IceBT/Types.ice +2 -2
  654. data/slice/IceBox/IceBox.ice +3 -4
  655. data/slice/IceDiscovery/IceDiscovery.ice +2 -2
  656. data/slice/IceGrid/Admin.ice +2 -2
  657. data/slice/IceGrid/Descriptor.ice +2 -2
  658. data/slice/IceGrid/Exception.ice +2 -2
  659. data/slice/IceGrid/FileParser.ice +2 -2
  660. data/slice/IceGrid/PluginFacade.ice +6 -6
  661. data/slice/IceGrid/Registry.ice +2 -2
  662. data/slice/IceGrid/Session.ice +2 -2
  663. data/slice/IceGrid/UserAccountMapper.ice +2 -2
  664. data/slice/IceIAP/ConnectionInfo.ice +2 -2
  665. data/slice/IceIAP/EndpointInfo.ice +2 -2
  666. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +2 -2
  667. data/slice/IcePatch2/FileInfo.ice +2 -2
  668. data/slice/IcePatch2/FileServer.ice +2 -2
  669. data/slice/IceSSL/ConnectionInfo.ice +2 -2
  670. data/slice/IceSSL/ConnectionInfoF.ice +2 -2
  671. data/slice/IceSSL/EndpointInfo.ice +2 -2
  672. data/slice/IceStorm/IceStorm.ice +5 -6
  673. data/slice/IceStorm/Metrics.ice +2 -2
  674. metadata +3 -13
  675. data/BZIP2_LICENSE +0 -42
  676. data/ext/ice/bzip2/blocksort.c +0 -1094
  677. data/ext/ice/bzip2/bzlib.c +0 -1572
  678. data/ext/ice/bzip2/bzlib.h +0 -282
  679. data/ext/ice/bzip2/bzlib_private.h +0 -509
  680. data/ext/ice/bzip2/compress.c +0 -672
  681. data/ext/ice/bzip2/crctable.c +0 -104
  682. data/ext/ice/bzip2/decompress.c +0 -646
  683. data/ext/ice/bzip2/huffman.c +0 -205
  684. data/ext/ice/bzip2/randtable.c +0 -84
@@ -1,13 +1,13 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.7.0
10
+ // Ice version 3.7.1
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -40,7 +40,7 @@
40
40
  # if ICE_INT_VERSION % 100 > 50
41
41
  # error Beta header file detected
42
42
  # endif
43
- # if ICE_INT_VERSION % 100 < 0
43
+ # if ICE_INT_VERSION % 100 < 1
44
44
  # error Ice patch level mismatch!
45
45
  # endif
46
46
  #endif
@@ -64,17 +64,21 @@ class ImplicitContext;
64
64
 
65
65
  }
66
66
 
67
+ /// \cond STREAM
67
68
  namespace Ice
68
69
  {
69
70
 
70
71
  }
72
+ /// \endcond
71
73
 
74
+ /// \cond INTERNAL
72
75
  namespace Ice
73
76
  {
74
77
 
75
78
  using ImplicitContextPtr = ::std::shared_ptr<ImplicitContext>;
76
79
 
77
80
  }
81
+ /// \endcond
78
82
 
79
83
  #else // C++98 mapping
80
84
 
@@ -82,15 +86,19 @@ namespace Ice
82
86
  {
83
87
 
84
88
  class ImplicitContext;
85
- ICE_API ::Ice::LocalObject* upCast(::Ice::ImplicitContext*);
86
- typedef ::IceInternal::Handle< ::Ice::ImplicitContext> ImplicitContextPtr;
89
+ /// \cond INTERNAL
90
+ ICE_API LocalObject* upCast(ImplicitContext*);
91
+ /// \endcond
92
+ typedef ::IceInternal::Handle< ImplicitContext> ImplicitContextPtr;
87
93
 
88
94
  }
89
95
 
96
+ /// \cond STREAM
90
97
  namespace Ice
91
98
  {
92
99
 
93
100
  }
101
+ /// \endcond
94
102
 
95
103
  #endif
96
104
 
@@ -1,13 +1,13 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.7.0
10
+ // Ice version 3.7.1
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -43,7 +43,7 @@
43
43
  # if ICE_INT_VERSION % 100 > 50
44
44
  # error Beta header file detected
45
45
  # endif
46
- # if ICE_INT_VERSION % 100 < 0
46
+ # if ICE_INT_VERSION % 100 < 1
47
47
  # error Ice patch level mismatch!
48
48
  # endif
49
49
  #endif
@@ -88,20 +88,61 @@ namespace Ice
88
88
  namespace Instrumentation
89
89
  {
90
90
 
91
+ /**
92
+ * The thread state enumeration keeps track of the different possible
93
+ * states of Ice threads.
94
+ */
91
95
  enum class ThreadState : unsigned char
92
96
  {
97
+ /**
98
+ * The thread is idle.
99
+ */
93
100
  ThreadStateIdle,
101
+ /**
102
+ * The thread is in use performing reads or writes for Ice
103
+ * connections. This state is only for threads from an Ice thread
104
+ * pool.
105
+ */
94
106
  ThreadStateInUseForIO,
107
+ /**
108
+ * The thread is calling user code (servant implementation, AMI
109
+ * callbacks). This state is only for threads from an Ice thread
110
+ * pool.
111
+ */
95
112
  ThreadStateInUseForUser,
113
+ /**
114
+ * The thread is performing other internal activities (DNS
115
+ * lookups, timer callbacks, etc).
116
+ */
96
117
  ThreadStateInUseForOther
97
118
  };
98
119
 
120
+ /**
121
+ * The state of an Ice connection.
122
+ */
99
123
  enum class ConnectionState : unsigned char
100
124
  {
125
+ /**
126
+ * The connection is being validated.
127
+ */
101
128
  ConnectionStateValidating,
129
+ /**
130
+ * The connection is holding the reception of new messages.
131
+ */
102
132
  ConnectionStateHolding,
133
+ /**
134
+ * The connection is active and can send and receive messages.
135
+ */
103
136
  ConnectionStateActive,
137
+ /**
138
+ * The connection is being gracefully shutdown and waits for the
139
+ * peer to close its end of the connection.
140
+ */
104
141
  ConnectionStateClosing,
142
+ /**
143
+ * The connection is closed and waits for potential dispatch to be
144
+ * finished before being destroyed and detached from the observer.
145
+ */
105
146
  ConnectionStateClosed
106
147
  };
107
148
 
@@ -115,59 +156,124 @@ namespace Ice
115
156
  namespace Instrumentation
116
157
  {
117
158
 
159
+ /**
160
+ * The object observer interface used by instrumented objects to
161
+ * notify the observer of their existence.
162
+ * \headerfile Ice/Ice.h
163
+ */
118
164
  class ICE_CLASS(ICE_API) Observer
119
165
  {
120
166
  public:
121
167
 
122
168
  ICE_MEMBER(ICE_API) virtual ~Observer();
123
169
 
170
+ /**
171
+ * This method is called when the instrumented object is created
172
+ * or when the observer is attached to an existing object.
173
+ */
124
174
  virtual void attach() = 0;
125
175
 
176
+ /**
177
+ * This method is called when the instrumented object is destroyed
178
+ * and as a result the observer detached from the object.
179
+ */
126
180
  virtual void detach() = 0;
127
181
 
128
- virtual void failed(const ::std::string&) = 0;
182
+ /**
183
+ * Notification of a failure.
184
+ * @param exceptionName The name of the exception.
185
+ */
186
+ virtual void failed(const ::std::string& exceptionName) = 0;
129
187
  };
130
188
 
189
+ /**
190
+ * The thread observer interface to instrument Ice threads. This can
191
+ * be threads from the Ice thread pool or utility threads used by the
192
+ * Ice core.
193
+ * \headerfile Ice/Ice.h
194
+ */
131
195
  class ICE_CLASS(ICE_API) ThreadObserver : public virtual ::Ice::Instrumentation::Observer
132
196
  {
133
197
  public:
134
198
 
135
199
  ICE_MEMBER(ICE_API) virtual ~ThreadObserver();
136
200
 
137
- virtual void stateChanged(::Ice::Instrumentation::ThreadState, ::Ice::Instrumentation::ThreadState) = 0;
201
+ /**
202
+ * Notification of thread state change.
203
+ * @param oldState The previous thread state.
204
+ * @param newState The new thread state.
205
+ */
206
+ virtual void stateChanged(ThreadState oldState, ThreadState newState) = 0;
138
207
  };
139
208
 
209
+ /**
210
+ * The connection observer interface to instrument Ice connections.
211
+ * \headerfile Ice/Ice.h
212
+ */
140
213
  class ICE_CLASS(ICE_API) ConnectionObserver : public virtual ::Ice::Instrumentation::Observer
141
214
  {
142
215
  public:
143
216
 
144
217
  ICE_MEMBER(ICE_API) virtual ~ConnectionObserver();
145
218
 
146
- virtual void sentBytes(int) = 0;
147
-
148
- virtual void receivedBytes(int) = 0;
219
+ /**
220
+ * Notification of sent bytes over the connection.
221
+ * @param num The number of bytes sent.
222
+ */
223
+ virtual void sentBytes(int num) = 0;
224
+
225
+ /**
226
+ * Notification of received bytes over the connection.
227
+ * @param num The number of bytes received.
228
+ */
229
+ virtual void receivedBytes(int num) = 0;
149
230
  };
150
231
 
232
+ /**
233
+ * The dispatch observer to instrument servant dispatch.
234
+ * \headerfile Ice/Ice.h
235
+ */
151
236
  class ICE_CLASS(ICE_API) DispatchObserver : public virtual ::Ice::Instrumentation::Observer
152
237
  {
153
238
  public:
154
239
 
155
240
  ICE_MEMBER(ICE_API) virtual ~DispatchObserver();
156
241
 
242
+ /**
243
+ * Notification of a user exception.
244
+ */
157
245
  virtual void userException() = 0;
158
246
 
159
- virtual void reply(int) = 0;
247
+ /**
248
+ * Reply notification.
249
+ * @param size The size of the reply.
250
+ */
251
+ virtual void reply(int size) = 0;
160
252
  };
161
253
 
254
+ /**
255
+ * The child invocation observer to instrument remote or collocated
256
+ * invocations.
257
+ * \headerfile Ice/Ice.h
258
+ */
162
259
  class ICE_CLASS(ICE_API) ChildInvocationObserver : public virtual ::Ice::Instrumentation::Observer
163
260
  {
164
261
  public:
165
262
 
166
263
  ICE_MEMBER(ICE_API) virtual ~ChildInvocationObserver();
167
264
 
168
- virtual void reply(int) = 0;
265
+ /**
266
+ * Reply notification.
267
+ * @param size The size of the reply.
268
+ */
269
+ virtual void reply(int size) = 0;
169
270
  };
170
271
 
272
+ /**
273
+ * The remote observer to instrument invocations that are sent over
274
+ * the wire.
275
+ * \headerfile Ice/Ice.h
276
+ */
171
277
  class ICE_CLASS(ICE_API) RemoteObserver : public virtual ::Ice::Instrumentation::ChildInvocationObserver
172
278
  {
173
279
  public:
@@ -175,6 +281,11 @@ public:
175
281
  ICE_MEMBER(ICE_API) virtual ~RemoteObserver();
176
282
  };
177
283
 
284
+ /**
285
+ * The collocated observer to instrument invocations that are
286
+ * collocated.
287
+ * \headerfile Ice/Ice.h
288
+ */
178
289
  class ICE_CLASS(ICE_API) CollocatedObserver : public virtual ::Ice::Instrumentation::ChildInvocationObserver
179
290
  {
180
291
  public:
@@ -182,65 +293,207 @@ public:
182
293
  ICE_MEMBER(ICE_API) virtual ~CollocatedObserver();
183
294
  };
184
295
 
296
+ /**
297
+ * The invocation observer to instrument invocations on proxies. A
298
+ * proxy invocation can either result in a collocated or remote
299
+ * invocation. If it results in a remote invocation, a sub-observer is
300
+ * requested for the remote invocation.
301
+ * \headerfile Ice/Ice.h
302
+ */
185
303
  class ICE_CLASS(ICE_API) InvocationObserver : public virtual ::Ice::Instrumentation::Observer
186
304
  {
187
305
  public:
188
306
 
189
307
  ICE_MEMBER(ICE_API) virtual ~InvocationObserver();
190
308
 
309
+ /**
310
+ * Notification of the invocation being retried.
311
+ */
191
312
  virtual void retried() = 0;
192
313
 
314
+ /**
315
+ * Notification of a user exception.
316
+ */
193
317
  virtual void userException() = 0;
194
318
 
195
- virtual ::std::shared_ptr<::Ice::Instrumentation::RemoteObserver> getRemoteObserver(const ::std::shared_ptr<::Ice::ConnectionInfo>&, const ::std::shared_ptr<::Ice::Endpoint>&, int, int) = 0;
196
-
197
- virtual ::std::shared_ptr<::Ice::Instrumentation::CollocatedObserver> getCollocatedObserver(const ::std::shared_ptr<::Ice::ObjectAdapter>&, int, int) = 0;
319
+ /**
320
+ * Get a remote observer for this invocation.
321
+ * @param con The connection information.
322
+ * @param endpt The connection endpoint.
323
+ * @param requestId The ID of the invocation.
324
+ * @param size The size of the invocation.
325
+ * @return The observer to instrument the remote invocation.
326
+ */
327
+ virtual ::std::shared_ptr<::Ice::Instrumentation::RemoteObserver> getRemoteObserver(const ::std::shared_ptr<::Ice::ConnectionInfo>& con, const ::std::shared_ptr<::Ice::Endpoint>& endpt, int requestId, int size) = 0;
328
+
329
+ /**
330
+ * Get a collocated observer for this invocation.
331
+ * @param adapter The object adapter hosting the collocated Ice object.
332
+ * @param requestId The ID of the invocation.
333
+ * @param size The size of the invocation.
334
+ * @return The observer to instrument the collocated invocation.
335
+ */
336
+ virtual ::std::shared_ptr<::Ice::Instrumentation::CollocatedObserver> getCollocatedObserver(const ::std::shared_ptr<::Ice::ObjectAdapter>& adapter, int requestId, int size) = 0;
198
337
  };
199
338
 
339
+ /**
340
+ * The observer updater interface. This interface is implemented by
341
+ * the Ice run-time and an instance of this interface is provided by
342
+ * the Ice communicator on initialization to the {@link
343
+ * CommunicatorObserver} object set with the communicator
344
+ * initialization data. The Ice communicator calls {@link
345
+ * CommunicatorObserver#setObserverUpdater} to provide the observer
346
+ * updater.
347
+ *
348
+ * This interface can be used by add-ins implementing the {@link
349
+ * CommunicatorObserver} interface to update the observers of
350
+ * connections and threads.
351
+ * \headerfile Ice/Ice.h
352
+ */
200
353
  class ICE_CLASS(ICE_API) ObserverUpdater
201
354
  {
202
355
  public:
203
356
 
204
357
  ICE_MEMBER(ICE_API) virtual ~ObserverUpdater();
205
358
 
359
+ /**
360
+ * Update connection observers associated with each of the Ice
361
+ * connection from the communicator and its object adapters.
362
+ *
363
+ * When called, this method goes through all the connections and
364
+ * for each connection {@link CommunicatorObserver#getConnectionObserver}
365
+ * is called. The implementation of getConnectionObserver has the
366
+ * possibility to return an updated observer if necessary.
367
+ */
206
368
  virtual void updateConnectionObservers() = 0;
207
369
 
370
+ /**
371
+ * Update thread observers associated with each of the Ice thread
372
+ * from the communicator and its object adapters.
373
+ *
374
+ * When called, this method goes through all the threads and for
375
+ * each thread {@link CommunicatorObserver#getThreadObserver} is
376
+ * called. The implementation of getThreadObserver has the
377
+ * possibility to return an updated observer if necessary.
378
+ */
208
379
  virtual void updateThreadObservers() = 0;
209
380
  };
210
381
 
382
+ /**
383
+ * The communicator observer interface used by the Ice run-time to
384
+ * obtain and update observers for its observable objects. This
385
+ * interface should be implemented by add-ins that wish to observe Ice
386
+ * objects in order to collect statistics. An instance of this
387
+ * interface can be provided to the Ice run-time through the Ice
388
+ * communicator initialization data.
389
+ * \headerfile Ice/Ice.h
390
+ */
211
391
  class ICE_CLASS(ICE_API) CommunicatorObserver
212
392
  {
213
393
  public:
214
394
 
215
395
  ICE_MEMBER(ICE_API) virtual ~CommunicatorObserver();
216
396
 
217
- virtual ::std::shared_ptr<::Ice::Instrumentation::Observer> getConnectionEstablishmentObserver(const ::std::shared_ptr<::Ice::Endpoint>&, const ::std::string&) = 0;
218
-
219
- virtual ::std::shared_ptr<::Ice::Instrumentation::Observer> getEndpointLookupObserver(const ::std::shared_ptr<::Ice::Endpoint>&) = 0;
220
-
221
- virtual ::std::shared_ptr<::Ice::Instrumentation::ConnectionObserver> getConnectionObserver(const ::std::shared_ptr<::Ice::ConnectionInfo>&, const ::std::shared_ptr<::Ice::Endpoint>&, ::Ice::Instrumentation::ConnectionState, const ::std::shared_ptr<::Ice::Instrumentation::ConnectionObserver>&) = 0;
222
-
223
- virtual ::std::shared_ptr<::Ice::Instrumentation::ThreadObserver> getThreadObserver(const ::std::string&, const ::std::string&, ::Ice::Instrumentation::ThreadState, const ::std::shared_ptr<::Ice::Instrumentation::ThreadObserver>&) = 0;
224
-
225
- virtual ::std::shared_ptr<::Ice::Instrumentation::InvocationObserver> getInvocationObserver(const ::std::shared_ptr<::Ice::ObjectPrx>&, const ::std::string&, const ::Ice::Context&) = 0;
226
-
227
- virtual ::std::shared_ptr<::Ice::Instrumentation::DispatchObserver> getDispatchObserver(const ::Ice::Current&, int) = 0;
228
-
229
- virtual void setObserverUpdater(const ::std::shared_ptr<::Ice::Instrumentation::ObserverUpdater>&) = 0;
397
+ /**
398
+ * This method should return an observer for the given endpoint
399
+ * information and connector. The Ice run-time calls this method
400
+ * for each connection establishment attempt.
401
+ * @param endpt The endpoint.
402
+ * @param connector The description of the connector. For IP
403
+ * transports, this is typically the IP address to connect to.
404
+ * @return The observer to instrument the connection establishment.
405
+ */
406
+ virtual ::std::shared_ptr<::Ice::Instrumentation::Observer> getConnectionEstablishmentObserver(const ::std::shared_ptr<::Ice::Endpoint>& endpt, const ::std::string& connector) = 0;
407
+
408
+ /**
409
+ * This method should return an observer for the given endpoint
410
+ * information. The Ice run-time calls this method to resolve an
411
+ * endpoint and obtain the list of connectors.
412
+ *
413
+ * For IP endpoints, this typically involves doing a DNS lookup to
414
+ * obtain the IP addresses associated with the DNS name.
415
+ * @param endpt The endpoint.
416
+ * @return The observer to instrument the endpoint lookup.
417
+ */
418
+ virtual ::std::shared_ptr<::Ice::Instrumentation::Observer> getEndpointLookupObserver(const ::std::shared_ptr<::Ice::Endpoint>& endpt) = 0;
419
+
420
+ /**
421
+ * This method should return a connection observer for the given
422
+ * connection. The Ice run-time calls this method for each new
423
+ * connection and for all the Ice communicator connections when
424
+ * {@link ObserverUpdater#updateConnectionObservers} is called.
425
+ * @param c The connection information.
426
+ * @param e The connection endpoint.
427
+ * @param s The state of the connection.
428
+ * @param o The old connection observer if one is already set or a
429
+ * null reference otherwise.
430
+ * @return The connection observer to instrument the connection.
431
+ */
432
+ virtual ::std::shared_ptr<::Ice::Instrumentation::ConnectionObserver> getConnectionObserver(const ::std::shared_ptr<::Ice::ConnectionInfo>& c, const ::std::shared_ptr<::Ice::Endpoint>& e, ConnectionState s, const ::std::shared_ptr<ConnectionObserver>& o) = 0;
433
+
434
+ /**
435
+ * This method should return a thread observer for the given
436
+ * thread. The Ice run-time calls this method for each new thread
437
+ * and for all the Ice communicator threads when
438
+ * {@link ObserverUpdater#updateThreadObservers} is called.
439
+ * @param parent The parent of the thread.
440
+ * @param id The ID of the thread to observe.
441
+ * @param s The state of the thread.
442
+ * @param o The old thread observer if one is already set or a
443
+ * null reference otherwise.
444
+ * @return The thread observer to instrument the thread.
445
+ */
446
+ virtual ::std::shared_ptr<::Ice::Instrumentation::ThreadObserver> getThreadObserver(const ::std::string& parent, const ::std::string& id, ThreadState s, const ::std::shared_ptr<ThreadObserver>& o) = 0;
447
+
448
+ /**
449
+ * This method should return an invocation observer for the given
450
+ * invocation. The Ice run-time calls this method for each new
451
+ * invocation on a proxy.
452
+ * @param prx The proxy used for the invocation.
453
+ * @param operation The name of the invocation.
454
+ * @param ctx The context specified by the user.
455
+ * @return The invocation observer to instrument the invocation.
456
+ */
457
+ virtual ::std::shared_ptr<::Ice::Instrumentation::InvocationObserver> getInvocationObserver(const ::std::shared_ptr<::Ice::ObjectPrx>& prx, const ::std::string& operation, const ::Ice::Context& ctx) = 0;
458
+
459
+ /**
460
+ * This method should return a dispatch observer for the given
461
+ * dispatch. The Ice run-time calls this method each time it
462
+ * receives an incoming invocation to be dispatched for an Ice
463
+ * object.
464
+ * @param c The current object as provided to the Ice servant
465
+ * dispatching the invocation.
466
+ * @param size The size of the dispatch.
467
+ * @return The dispatch observer to instrument the dispatch.
468
+ */
469
+ virtual ::std::shared_ptr<::Ice::Instrumentation::DispatchObserver> getDispatchObserver(const ::Ice::Current& c, int size) = 0;
470
+
471
+ /**
472
+ * The Ice run-time calls this method when the communicator is
473
+ * initialized. The add-in implementing this interface can use
474
+ * this object to get the Ice run-time to re-obtain observers for
475
+ * observed objects.
476
+ * @param updater The observer updater object.
477
+ */
478
+ virtual void setObserverUpdater(const ::std::shared_ptr<ObserverUpdater>& updater) = 0;
230
479
  };
231
480
 
232
481
  }
233
482
 
234
483
  }
235
484
 
485
+ /// \cond STREAM
236
486
  namespace Ice
237
487
  {
238
488
 
239
489
  }
490
+ /// \endcond
240
491
 
492
+ /// \cond INTERNAL
241
493
  namespace Ice
242
494
  {
243
495
 
496
+ /// \cond INTERNAL
244
497
  namespace Instrumentation
245
498
  {
246
499
 
@@ -265,8 +518,10 @@ using ObserverUpdaterPtr = ::std::shared_ptr<ObserverUpdater>;
265
518
  using CommunicatorObserverPtr = ::std::shared_ptr<CommunicatorObserver>;
266
519
 
267
520
  }
521
+ /// \endcond
268
522
 
269
523
  }
524
+ /// \endcond
270
525
 
271
526
  #else // C++98 mapping
272
527
 
@@ -277,44 +532,64 @@ namespace Instrumentation
277
532
  {
278
533
 
279
534
  class Observer;
280
- ICE_API ::Ice::LocalObject* upCast(::Ice::Instrumentation::Observer*);
281
- typedef ::IceInternal::Handle< ::Ice::Instrumentation::Observer> ObserverPtr;
535
+ /// \cond INTERNAL
536
+ ICE_API ::Ice::LocalObject* upCast(Observer*);
537
+ /// \endcond
538
+ typedef ::IceInternal::Handle< Observer> ObserverPtr;
282
539
 
283
540
  class ThreadObserver;
284
- ICE_API ::Ice::LocalObject* upCast(::Ice::Instrumentation::ThreadObserver*);
285
- typedef ::IceInternal::Handle< ::Ice::Instrumentation::ThreadObserver> ThreadObserverPtr;
541
+ /// \cond INTERNAL
542
+ ICE_API ::Ice::LocalObject* upCast(ThreadObserver*);
543
+ /// \endcond
544
+ typedef ::IceInternal::Handle< ThreadObserver> ThreadObserverPtr;
286
545
 
287
546
  class ConnectionObserver;
288
- ICE_API ::Ice::LocalObject* upCast(::Ice::Instrumentation::ConnectionObserver*);
289
- typedef ::IceInternal::Handle< ::Ice::Instrumentation::ConnectionObserver> ConnectionObserverPtr;
547
+ /// \cond INTERNAL
548
+ ICE_API ::Ice::LocalObject* upCast(ConnectionObserver*);
549
+ /// \endcond
550
+ typedef ::IceInternal::Handle< ConnectionObserver> ConnectionObserverPtr;
290
551
 
291
552
  class DispatchObserver;
292
- ICE_API ::Ice::LocalObject* upCast(::Ice::Instrumentation::DispatchObserver*);
293
- typedef ::IceInternal::Handle< ::Ice::Instrumentation::DispatchObserver> DispatchObserverPtr;
553
+ /// \cond INTERNAL
554
+ ICE_API ::Ice::LocalObject* upCast(DispatchObserver*);
555
+ /// \endcond
556
+ typedef ::IceInternal::Handle< DispatchObserver> DispatchObserverPtr;
294
557
 
295
558
  class ChildInvocationObserver;
296
- ICE_API ::Ice::LocalObject* upCast(::Ice::Instrumentation::ChildInvocationObserver*);
297
- typedef ::IceInternal::Handle< ::Ice::Instrumentation::ChildInvocationObserver> ChildInvocationObserverPtr;
559
+ /// \cond INTERNAL
560
+ ICE_API ::Ice::LocalObject* upCast(ChildInvocationObserver*);
561
+ /// \endcond
562
+ typedef ::IceInternal::Handle< ChildInvocationObserver> ChildInvocationObserverPtr;
298
563
 
299
564
  class RemoteObserver;
300
- ICE_API ::Ice::LocalObject* upCast(::Ice::Instrumentation::RemoteObserver*);
301
- typedef ::IceInternal::Handle< ::Ice::Instrumentation::RemoteObserver> RemoteObserverPtr;
565
+ /// \cond INTERNAL
566
+ ICE_API ::Ice::LocalObject* upCast(RemoteObserver*);
567
+ /// \endcond
568
+ typedef ::IceInternal::Handle< RemoteObserver> RemoteObserverPtr;
302
569
 
303
570
  class CollocatedObserver;
304
- ICE_API ::Ice::LocalObject* upCast(::Ice::Instrumentation::CollocatedObserver*);
305
- typedef ::IceInternal::Handle< ::Ice::Instrumentation::CollocatedObserver> CollocatedObserverPtr;
571
+ /// \cond INTERNAL
572
+ ICE_API ::Ice::LocalObject* upCast(CollocatedObserver*);
573
+ /// \endcond
574
+ typedef ::IceInternal::Handle< CollocatedObserver> CollocatedObserverPtr;
306
575
 
307
576
  class InvocationObserver;
308
- ICE_API ::Ice::LocalObject* upCast(::Ice::Instrumentation::InvocationObserver*);
309
- typedef ::IceInternal::Handle< ::Ice::Instrumentation::InvocationObserver> InvocationObserverPtr;
577
+ /// \cond INTERNAL
578
+ ICE_API ::Ice::LocalObject* upCast(InvocationObserver*);
579
+ /// \endcond
580
+ typedef ::IceInternal::Handle< InvocationObserver> InvocationObserverPtr;
310
581
 
311
582
  class ObserverUpdater;
312
- ICE_API ::Ice::LocalObject* upCast(::Ice::Instrumentation::ObserverUpdater*);
313
- typedef ::IceInternal::Handle< ::Ice::Instrumentation::ObserverUpdater> ObserverUpdaterPtr;
583
+ /// \cond INTERNAL
584
+ ICE_API ::Ice::LocalObject* upCast(ObserverUpdater*);
585
+ /// \endcond
586
+ typedef ::IceInternal::Handle< ObserverUpdater> ObserverUpdaterPtr;
314
587
 
315
588
  class CommunicatorObserver;
316
- ICE_API ::Ice::LocalObject* upCast(::Ice::Instrumentation::CommunicatorObserver*);
317
- typedef ::IceInternal::Handle< ::Ice::Instrumentation::CommunicatorObserver> CommunicatorObserverPtr;
589
+ /// \cond INTERNAL
590
+ ICE_API ::Ice::LocalObject* upCast(CommunicatorObserver*);
591
+ /// \endcond
592
+ typedef ::IceInternal::Handle< CommunicatorObserver> CommunicatorObserverPtr;
318
593
 
319
594
  }
320
595
 
@@ -326,20 +601,61 @@ namespace Ice
326
601
  namespace Instrumentation
327
602
  {
328
603
 
604
+ /**
605
+ * The thread state enumeration keeps track of the different possible
606
+ * states of Ice threads.
607
+ */
329
608
  enum ThreadState
330
609
  {
610
+ /**
611
+ * The thread is idle.
612
+ */
331
613
  ThreadStateIdle,
614
+ /**
615
+ * The thread is in use performing reads or writes for Ice
616
+ * connections. This state is only for threads from an Ice thread
617
+ * pool.
618
+ */
332
619
  ThreadStateInUseForIO,
620
+ /**
621
+ * The thread is calling user code (servant implementation, AMI
622
+ * callbacks). This state is only for threads from an Ice thread
623
+ * pool.
624
+ */
333
625
  ThreadStateInUseForUser,
626
+ /**
627
+ * The thread is performing other internal activities (DNS
628
+ * lookups, timer callbacks, etc).
629
+ */
334
630
  ThreadStateInUseForOther
335
631
  };
336
632
 
633
+ /**
634
+ * The state of an Ice connection.
635
+ */
337
636
  enum ConnectionState
338
637
  {
638
+ /**
639
+ * The connection is being validated.
640
+ */
339
641
  ConnectionStateValidating,
642
+ /**
643
+ * The connection is holding the reception of new messages.
644
+ */
340
645
  ConnectionStateHolding,
646
+ /**
647
+ * The connection is active and can send and receive messages.
648
+ */
341
649
  ConnectionStateActive,
650
+ /**
651
+ * The connection is being gracefully shutdown and waits for the
652
+ * peer to close its end of the connection.
653
+ */
342
654
  ConnectionStateClosing,
655
+ /**
656
+ * The connection is closed and waits for potential dispatch to be
657
+ * finished before being destroyed and detached from the observer.
658
+ */
343
659
  ConnectionStateClosed
344
660
  };
345
661
 
@@ -353,6 +669,11 @@ namespace Ice
353
669
  namespace Instrumentation
354
670
  {
355
671
 
672
+ /**
673
+ * The object observer interface used by instrumented objects to
674
+ * notify the observer of their existence.
675
+ * \headerfile Ice/Ice.h
676
+ */
356
677
  class ICE_API Observer : public virtual ::Ice::LocalObject
357
678
  {
358
679
  public:
@@ -361,13 +682,26 @@ public:
361
682
 
362
683
  virtual ~Observer();
363
684
 
685
+ /**
686
+ * This method is called when the instrumented object is created
687
+ * or when the observer is attached to an existing object.
688
+ */
364
689
  virtual void attach() = 0;
365
690
 
691
+ /**
692
+ * This method is called when the instrumented object is destroyed
693
+ * and as a result the observer detached from the object.
694
+ */
366
695
  virtual void detach() = 0;
367
696
 
368
- virtual void failed(const ::std::string&) = 0;
697
+ /**
698
+ * Notification of a failure.
699
+ * @param exceptionName The name of the exception.
700
+ */
701
+ virtual void failed(const ::std::string& exceptionName) = 0;
369
702
  };
370
703
 
704
+ /// \cond INTERNAL
371
705
  inline bool operator==(const Observer& lhs, const Observer& rhs)
372
706
  {
373
707
  return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
@@ -377,8 +711,15 @@ inline bool operator<(const Observer& lhs, const Observer& rhs)
377
711
  {
378
712
  return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
379
713
  }
380
-
381
- class ICE_API ThreadObserver : virtual public ::Ice::Instrumentation::Observer
714
+ /// \endcond
715
+
716
+ /**
717
+ * The thread observer interface to instrument Ice threads. This can
718
+ * be threads from the Ice thread pool or utility threads used by the
719
+ * Ice core.
720
+ * \headerfile Ice/Ice.h
721
+ */
722
+ class ICE_API ThreadObserver : virtual public Observer
382
723
  {
383
724
  public:
384
725
 
@@ -386,9 +727,15 @@ public:
386
727
 
387
728
  virtual ~ThreadObserver();
388
729
 
389
- virtual void stateChanged(::Ice::Instrumentation::ThreadState, ::Ice::Instrumentation::ThreadState) = 0;
730
+ /**
731
+ * Notification of thread state change.
732
+ * @param oldState The previous thread state.
733
+ * @param newState The new thread state.
734
+ */
735
+ virtual void stateChanged(ThreadState oldState, ThreadState newState) = 0;
390
736
  };
391
737
 
738
+ /// \cond INTERNAL
392
739
  inline bool operator==(const ThreadObserver& lhs, const ThreadObserver& rhs)
393
740
  {
394
741
  return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
@@ -398,8 +745,13 @@ inline bool operator<(const ThreadObserver& lhs, const ThreadObserver& rhs)
398
745
  {
399
746
  return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
400
747
  }
748
+ /// \endcond
401
749
 
402
- class ICE_API ConnectionObserver : virtual public ::Ice::Instrumentation::Observer
750
+ /**
751
+ * The connection observer interface to instrument Ice connections.
752
+ * \headerfile Ice/Ice.h
753
+ */
754
+ class ICE_API ConnectionObserver : virtual public Observer
403
755
  {
404
756
  public:
405
757
 
@@ -407,11 +759,20 @@ public:
407
759
 
408
760
  virtual ~ConnectionObserver();
409
761
 
410
- virtual void sentBytes(::Ice::Int) = 0;
411
-
412
- virtual void receivedBytes(::Ice::Int) = 0;
762
+ /**
763
+ * Notification of sent bytes over the connection.
764
+ * @param num The number of bytes sent.
765
+ */
766
+ virtual void sentBytes(::Ice::Int num) = 0;
767
+
768
+ /**
769
+ * Notification of received bytes over the connection.
770
+ * @param num The number of bytes received.
771
+ */
772
+ virtual void receivedBytes(::Ice::Int num) = 0;
413
773
  };
414
774
 
775
+ /// \cond INTERNAL
415
776
  inline bool operator==(const ConnectionObserver& lhs, const ConnectionObserver& rhs)
416
777
  {
417
778
  return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
@@ -421,8 +782,13 @@ inline bool operator<(const ConnectionObserver& lhs, const ConnectionObserver& r
421
782
  {
422
783
  return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
423
784
  }
785
+ /// \endcond
424
786
 
425
- class ICE_API DispatchObserver : virtual public ::Ice::Instrumentation::Observer
787
+ /**
788
+ * The dispatch observer to instrument servant dispatch.
789
+ * \headerfile Ice/Ice.h
790
+ */
791
+ class ICE_API DispatchObserver : virtual public Observer
426
792
  {
427
793
  public:
428
794
 
@@ -430,11 +796,19 @@ public:
430
796
 
431
797
  virtual ~DispatchObserver();
432
798
 
799
+ /**
800
+ * Notification of a user exception.
801
+ */
433
802
  virtual void userException() = 0;
434
803
 
435
- virtual void reply(::Ice::Int) = 0;
804
+ /**
805
+ * Reply notification.
806
+ * @param size The size of the reply.
807
+ */
808
+ virtual void reply(::Ice::Int size) = 0;
436
809
  };
437
810
 
811
+ /// \cond INTERNAL
438
812
  inline bool operator==(const DispatchObserver& lhs, const DispatchObserver& rhs)
439
813
  {
440
814
  return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
@@ -444,8 +818,14 @@ inline bool operator<(const DispatchObserver& lhs, const DispatchObserver& rhs)
444
818
  {
445
819
  return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
446
820
  }
447
-
448
- class ICE_API ChildInvocationObserver : virtual public ::Ice::Instrumentation::Observer
821
+ /// \endcond
822
+
823
+ /**
824
+ * The child invocation observer to instrument remote or collocated
825
+ * invocations.
826
+ * \headerfile Ice/Ice.h
827
+ */
828
+ class ICE_API ChildInvocationObserver : virtual public Observer
449
829
  {
450
830
  public:
451
831
 
@@ -453,9 +833,14 @@ public:
453
833
 
454
834
  virtual ~ChildInvocationObserver();
455
835
 
456
- virtual void reply(::Ice::Int) = 0;
836
+ /**
837
+ * Reply notification.
838
+ * @param size The size of the reply.
839
+ */
840
+ virtual void reply(::Ice::Int size) = 0;
457
841
  };
458
842
 
843
+ /// \cond INTERNAL
459
844
  inline bool operator==(const ChildInvocationObserver& lhs, const ChildInvocationObserver& rhs)
460
845
  {
461
846
  return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
@@ -465,8 +850,14 @@ inline bool operator<(const ChildInvocationObserver& lhs, const ChildInvocationO
465
850
  {
466
851
  return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
467
852
  }
468
-
469
- class ICE_API RemoteObserver : virtual public ::Ice::Instrumentation::ChildInvocationObserver
853
+ /// \endcond
854
+
855
+ /**
856
+ * The remote observer to instrument invocations that are sent over
857
+ * the wire.
858
+ * \headerfile Ice/Ice.h
859
+ */
860
+ class ICE_API RemoteObserver : virtual public ChildInvocationObserver
470
861
  {
471
862
  public:
472
863
 
@@ -475,6 +866,7 @@ public:
475
866
  virtual ~RemoteObserver();
476
867
  };
477
868
 
869
+ /// \cond INTERNAL
478
870
  inline bool operator==(const RemoteObserver& lhs, const RemoteObserver& rhs)
479
871
  {
480
872
  return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
@@ -484,8 +876,14 @@ inline bool operator<(const RemoteObserver& lhs, const RemoteObserver& rhs)
484
876
  {
485
877
  return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
486
878
  }
487
-
488
- class ICE_API CollocatedObserver : virtual public ::Ice::Instrumentation::ChildInvocationObserver
879
+ /// \endcond
880
+
881
+ /**
882
+ * The collocated observer to instrument invocations that are
883
+ * collocated.
884
+ * \headerfile Ice/Ice.h
885
+ */
886
+ class ICE_API CollocatedObserver : virtual public ChildInvocationObserver
489
887
  {
490
888
  public:
491
889
 
@@ -494,6 +892,7 @@ public:
494
892
  virtual ~CollocatedObserver();
495
893
  };
496
894
 
895
+ /// \cond INTERNAL
497
896
  inline bool operator==(const CollocatedObserver& lhs, const CollocatedObserver& rhs)
498
897
  {
499
898
  return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
@@ -503,8 +902,16 @@ inline bool operator<(const CollocatedObserver& lhs, const CollocatedObserver& r
503
902
  {
504
903
  return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
505
904
  }
506
-
507
- class ICE_API InvocationObserver : virtual public ::Ice::Instrumentation::Observer
905
+ /// \endcond
906
+
907
+ /**
908
+ * The invocation observer to instrument invocations on proxies. A
909
+ * proxy invocation can either result in a collocated or remote
910
+ * invocation. If it results in a remote invocation, a sub-observer is
911
+ * requested for the remote invocation.
912
+ * \headerfile Ice/Ice.h
913
+ */
914
+ class ICE_API InvocationObserver : virtual public Observer
508
915
  {
509
916
  public:
510
917
 
@@ -512,15 +919,37 @@ public:
512
919
 
513
920
  virtual ~InvocationObserver();
514
921
 
922
+ /**
923
+ * Notification of the invocation being retried.
924
+ */
515
925
  virtual void retried() = 0;
516
926
 
927
+ /**
928
+ * Notification of a user exception.
929
+ */
517
930
  virtual void userException() = 0;
518
931
 
519
- virtual ::Ice::Instrumentation::RemoteObserverPtr getRemoteObserver(const ::Ice::ConnectionInfoPtr&, const ::Ice::EndpointPtr&, ::Ice::Int, ::Ice::Int) = 0;
520
-
521
- virtual ::Ice::Instrumentation::CollocatedObserverPtr getCollocatedObserver(const ::Ice::ObjectAdapterPtr&, ::Ice::Int, ::Ice::Int) = 0;
932
+ /**
933
+ * Get a remote observer for this invocation.
934
+ * @param con The connection information.
935
+ * @param endpt The connection endpoint.
936
+ * @param requestId The ID of the invocation.
937
+ * @param size The size of the invocation.
938
+ * @return The observer to instrument the remote invocation.
939
+ */
940
+ virtual RemoteObserverPtr getRemoteObserver(const ::Ice::ConnectionInfoPtr& con, const ::Ice::EndpointPtr& endpt, ::Ice::Int requestId, ::Ice::Int size) = 0;
941
+
942
+ /**
943
+ * Get a collocated observer for this invocation.
944
+ * @param adapter The object adapter hosting the collocated Ice object.
945
+ * @param requestId The ID of the invocation.
946
+ * @param size The size of the invocation.
947
+ * @return The observer to instrument the collocated invocation.
948
+ */
949
+ virtual CollocatedObserverPtr getCollocatedObserver(const ::Ice::ObjectAdapterPtr& adapter, ::Ice::Int requestId, ::Ice::Int size) = 0;
522
950
  };
523
951
 
952
+ /// \cond INTERNAL
524
953
  inline bool operator==(const InvocationObserver& lhs, const InvocationObserver& rhs)
525
954
  {
526
955
  return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
@@ -530,7 +959,22 @@ inline bool operator<(const InvocationObserver& lhs, const InvocationObserver& r
530
959
  {
531
960
  return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
532
961
  }
533
-
962
+ /// \endcond
963
+
964
+ /**
965
+ * The observer updater interface. This interface is implemented by
966
+ * the Ice run-time and an instance of this interface is provided by
967
+ * the Ice communicator on initialization to the {@link
968
+ * CommunicatorObserver} object set with the communicator
969
+ * initialization data. The Ice communicator calls {@link
970
+ * CommunicatorObserver#setObserverUpdater} to provide the observer
971
+ * updater.
972
+ *
973
+ * This interface can be used by add-ins implementing the {@link
974
+ * CommunicatorObserver} interface to update the observers of
975
+ * connections and threads.
976
+ * \headerfile Ice/Ice.h
977
+ */
534
978
  class ICE_API ObserverUpdater : public virtual ::Ice::LocalObject
535
979
  {
536
980
  public:
@@ -539,11 +983,30 @@ public:
539
983
 
540
984
  virtual ~ObserverUpdater();
541
985
 
986
+ /**
987
+ * Update connection observers associated with each of the Ice
988
+ * connection from the communicator and its object adapters.
989
+ *
990
+ * When called, this method goes through all the connections and
991
+ * for each connection {@link CommunicatorObserver#getConnectionObserver}
992
+ * is called. The implementation of getConnectionObserver has the
993
+ * possibility to return an updated observer if necessary.
994
+ */
542
995
  virtual void updateConnectionObservers() = 0;
543
996
 
997
+ /**
998
+ * Update thread observers associated with each of the Ice thread
999
+ * from the communicator and its object adapters.
1000
+ *
1001
+ * When called, this method goes through all the threads and for
1002
+ * each thread {@link CommunicatorObserver#getThreadObserver} is
1003
+ * called. The implementation of getThreadObserver has the
1004
+ * possibility to return an updated observer if necessary.
1005
+ */
544
1006
  virtual void updateThreadObservers() = 0;
545
1007
  };
546
1008
 
1009
+ /// \cond INTERNAL
547
1010
  inline bool operator==(const ObserverUpdater& lhs, const ObserverUpdater& rhs)
548
1011
  {
549
1012
  return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
@@ -553,7 +1016,17 @@ inline bool operator<(const ObserverUpdater& lhs, const ObserverUpdater& rhs)
553
1016
  {
554
1017
  return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
555
1018
  }
556
-
1019
+ /// \endcond
1020
+
1021
+ /**
1022
+ * The communicator observer interface used by the Ice run-time to
1023
+ * obtain and update observers for its observable objects. This
1024
+ * interface should be implemented by add-ins that wish to observe Ice
1025
+ * objects in order to collect statistics. An instance of this
1026
+ * interface can be provided to the Ice run-time through the Ice
1027
+ * communicator initialization data.
1028
+ * \headerfile Ice/Ice.h
1029
+ */
557
1030
  class ICE_API CommunicatorObserver : public virtual ::Ice::LocalObject
558
1031
  {
559
1032
  public:
@@ -562,21 +1035,91 @@ public:
562
1035
 
563
1036
  virtual ~CommunicatorObserver();
564
1037
 
565
- virtual ::Ice::Instrumentation::ObserverPtr getConnectionEstablishmentObserver(const ::Ice::EndpointPtr&, const ::std::string&) = 0;
566
-
567
- virtual ::Ice::Instrumentation::ObserverPtr getEndpointLookupObserver(const ::Ice::EndpointPtr&) = 0;
568
-
569
- virtual ::Ice::Instrumentation::ConnectionObserverPtr getConnectionObserver(const ::Ice::ConnectionInfoPtr&, const ::Ice::EndpointPtr&, ::Ice::Instrumentation::ConnectionState, const ::Ice::Instrumentation::ConnectionObserverPtr&) = 0;
570
-
571
- virtual ::Ice::Instrumentation::ThreadObserverPtr getThreadObserver(const ::std::string&, const ::std::string&, ::Ice::Instrumentation::ThreadState, const ::Ice::Instrumentation::ThreadObserverPtr&) = 0;
572
-
573
- virtual ::Ice::Instrumentation::InvocationObserverPtr getInvocationObserver(const ::Ice::ObjectPrx&, const ::std::string&, const ::Ice::Context&) = 0;
574
-
575
- virtual ::Ice::Instrumentation::DispatchObserverPtr getDispatchObserver(const ::Ice::Current&, ::Ice::Int) = 0;
576
-
577
- virtual void setObserverUpdater(const ::Ice::Instrumentation::ObserverUpdaterPtr&) = 0;
1038
+ /**
1039
+ * This method should return an observer for the given endpoint
1040
+ * information and connector. The Ice run-time calls this method
1041
+ * for each connection establishment attempt.
1042
+ * @param endpt The endpoint.
1043
+ * @param connector The description of the connector. For IP
1044
+ * transports, this is typically the IP address to connect to.
1045
+ * @return The observer to instrument the connection establishment.
1046
+ */
1047
+ virtual ObserverPtr getConnectionEstablishmentObserver(const ::Ice::EndpointPtr& endpt, const ::std::string& connector) = 0;
1048
+
1049
+ /**
1050
+ * This method should return an observer for the given endpoint
1051
+ * information. The Ice run-time calls this method to resolve an
1052
+ * endpoint and obtain the list of connectors.
1053
+ *
1054
+ * For IP endpoints, this typically involves doing a DNS lookup to
1055
+ * obtain the IP addresses associated with the DNS name.
1056
+ * @param endpt The endpoint.
1057
+ * @return The observer to instrument the endpoint lookup.
1058
+ */
1059
+ virtual ObserverPtr getEndpointLookupObserver(const ::Ice::EndpointPtr& endpt) = 0;
1060
+
1061
+ /**
1062
+ * This method should return a connection observer for the given
1063
+ * connection. The Ice run-time calls this method for each new
1064
+ * connection and for all the Ice communicator connections when
1065
+ * {@link ObserverUpdater#updateConnectionObservers} is called.
1066
+ * @param c The connection information.
1067
+ * @param e The connection endpoint.
1068
+ * @param s The state of the connection.
1069
+ * @param o The old connection observer if one is already set or a
1070
+ * null reference otherwise.
1071
+ * @return The connection observer to instrument the connection.
1072
+ */
1073
+ virtual ConnectionObserverPtr getConnectionObserver(const ::Ice::ConnectionInfoPtr& c, const ::Ice::EndpointPtr& e, ConnectionState s, const ConnectionObserverPtr& o) = 0;
1074
+
1075
+ /**
1076
+ * This method should return a thread observer for the given
1077
+ * thread. The Ice run-time calls this method for each new thread
1078
+ * and for all the Ice communicator threads when
1079
+ * {@link ObserverUpdater#updateThreadObservers} is called.
1080
+ * @param parent The parent of the thread.
1081
+ * @param id The ID of the thread to observe.
1082
+ * @param s The state of the thread.
1083
+ * @param o The old thread observer if one is already set or a
1084
+ * null reference otherwise.
1085
+ * @return The thread observer to instrument the thread.
1086
+ */
1087
+ virtual ThreadObserverPtr getThreadObserver(const ::std::string& parent, const ::std::string& id, ThreadState s, const ThreadObserverPtr& o) = 0;
1088
+
1089
+ /**
1090
+ * This method should return an invocation observer for the given
1091
+ * invocation. The Ice run-time calls this method for each new
1092
+ * invocation on a proxy.
1093
+ * @param prx The proxy used for the invocation.
1094
+ * @param operation The name of the invocation.
1095
+ * @param ctx The context specified by the user.
1096
+ * @return The invocation observer to instrument the invocation.
1097
+ */
1098
+ virtual InvocationObserverPtr getInvocationObserver(const ::Ice::ObjectPrx& prx, const ::std::string& operation, const ::Ice::Context& ctx) = 0;
1099
+
1100
+ /**
1101
+ * This method should return a dispatch observer for the given
1102
+ * dispatch. The Ice run-time calls this method each time it
1103
+ * receives an incoming invocation to be dispatched for an Ice
1104
+ * object.
1105
+ * @param c The current object as provided to the Ice servant
1106
+ * dispatching the invocation.
1107
+ * @param size The size of the dispatch.
1108
+ * @return The dispatch observer to instrument the dispatch.
1109
+ */
1110
+ virtual DispatchObserverPtr getDispatchObserver(const ::Ice::Current& c, ::Ice::Int size) = 0;
1111
+
1112
+ /**
1113
+ * The Ice run-time calls this method when the communicator is
1114
+ * initialized. The add-in implementing this interface can use
1115
+ * this object to get the Ice run-time to re-obtain observers for
1116
+ * observed objects.
1117
+ * @param updater The observer updater object.
1118
+ */
1119
+ virtual void setObserverUpdater(const ObserverUpdaterPtr& updater) = 0;
578
1120
  };
579
1121
 
1122
+ /// \cond INTERNAL
580
1123
  inline bool operator==(const CommunicatorObserver& lhs, const CommunicatorObserver& rhs)
581
1124
  {
582
1125
  return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
@@ -586,15 +1129,18 @@ inline bool operator<(const CommunicatorObserver& lhs, const CommunicatorObserve
586
1129
  {
587
1130
  return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
588
1131
  }
1132
+ /// \endcond
589
1133
 
590
1134
  }
591
1135
 
592
1136
  }
593
1137
 
1138
+ /// \cond STREAM
594
1139
  namespace Ice
595
1140
  {
596
1141
 
597
1142
  }
1143
+ /// \endcond
598
1144
 
599
1145
  #endif
600
1146