zeroc-ice 3.6.5 → 3.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (777) hide show
  1. checksums.yaml +5 -5
  2. data/ICE_LICENSE +17 -17
  3. data/LICENSE +12 -12
  4. data/bin/slice2rb +1 -6
  5. data/ext/Communicator.cpp +223 -61
  6. data/ext/Communicator.h +1 -6
  7. data/ext/Config.h +23 -7
  8. data/ext/Connection.cpp +108 -76
  9. data/ext/Connection.h +4 -6
  10. data/ext/Endpoint.cpp +16 -54
  11. data/ext/Endpoint.h +1 -6
  12. data/ext/ImplicitContext.cpp +1 -10
  13. data/ext/ImplicitContext.h +1 -6
  14. data/ext/Init.cpp +4 -6
  15. data/ext/Logger.cpp +1 -6
  16. data/ext/Logger.h +1 -6
  17. data/ext/Operation.cpp +38 -54
  18. data/ext/Operation.h +1 -6
  19. data/ext/Properties.cpp +3 -8
  20. data/ext/Properties.h +1 -6
  21. data/ext/Proxy.cpp +111 -70
  22. data/ext/Proxy.h +1 -6
  23. data/ext/Slice.cpp +5 -20
  24. data/ext/Slice.h +1 -6
  25. data/ext/Types.cpp +313 -224
  26. data/ext/Types.h +118 -71
  27. data/ext/Util.cpp +69 -36
  28. data/ext/Util.h +117 -42
  29. data/ext/ValueFactoryManager.cpp +440 -0
  30. data/ext/ValueFactoryManager.h +95 -0
  31. data/ext/extconf.rb +52 -48
  32. data/ext/ice/cpp/include/Ice/Application.h +275 -105
  33. data/ext/ice/cpp/include/Ice/AsyncResult.h +124 -337
  34. data/ext/ice/cpp/include/Ice/AsyncResultF.h +4 -7
  35. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +39 -16
  36. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -6
  37. data/ext/ice/cpp/include/Ice/Buffer.h +10 -15
  38. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +56 -17
  39. data/ext/ice/cpp/include/Ice/Comparable.h +205 -0
  40. data/ext/ice/cpp/include/Ice/Config.h +16 -39
  41. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +203 -16
  42. data/ext/ice/cpp/include/Ice/ConnectionIF.h +7 -6
  43. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +23 -0
  44. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +57 -0
  45. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +20 -12
  46. data/ext/ice/cpp/include/Ice/Dispatcher.h +35 -19
  47. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +7 -10
  48. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -6
  49. data/ext/ice/cpp/include/Ice/Exception.h +110 -63
  50. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +74 -0
  51. data/ext/ice/cpp/include/Ice/FactoryTable.h +22 -18
  52. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +28 -31
  53. data/ext/ice/cpp/include/Ice/Format.h +17 -18
  54. data/ext/ice/cpp/include/Ice/Functional.h +38 -38
  55. data/ext/ice/cpp/include/Ice/GCObject.h +9 -10
  56. data/ext/ice/cpp/include/Ice/Handle.h +6 -16
  57. data/ext/ice/cpp/include/Ice/Ice.h +9 -10
  58. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +377 -0
  59. data/ext/ice/cpp/include/Ice/Incoming.h +132 -38
  60. data/ext/ice/cpp/include/Ice/IncomingAsync.h +109 -31
  61. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +7 -6
  62. data/ext/ice/cpp/include/Ice/Initialize.h +872 -60
  63. data/ext/ice/cpp/include/Ice/InputStream.h +1514 -0
  64. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -7
  65. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +57 -0
  66. data/ext/ice/cpp/include/Ice/LocalObject.h +13 -14
  67. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -6
  68. data/ext/ice/cpp/include/Ice/LoggerUtil.h +56 -24
  69. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +124 -71
  70. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +25 -10
  71. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +116 -32
  72. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +61 -30
  73. data/ext/ice/cpp/include/Ice/Object.h +413 -78
  74. data/ext/ice/cpp/include/Ice/ObjectF.h +12 -8
  75. data/ext/ice/cpp/include/Ice/ObserverHelper.h +18 -13
  76. data/ext/ice/cpp/include/Ice/Optional.h +1114 -0
  77. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +684 -89
  78. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +12 -11
  79. data/ext/ice/cpp/include/Ice/OutputStream.h +1092 -0
  80. data/ext/ice/cpp/include/Ice/Protocol.h +49 -17
  81. data/ext/ice/cpp/include/Ice/Proxy.h +3438 -745
  82. data/ext/ice/cpp/include/Ice/ProxyF.h +13 -38
  83. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -6
  84. data/ext/ice/cpp/include/Ice/ProxyHandle.h +43 -55
  85. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -6
  86. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +84 -12
  87. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +10 -9
  88. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +6 -6
  89. data/ext/ice/cpp/include/Ice/SHA1.h +42 -0
  90. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -6
  91. data/ext/ice/cpp/include/Ice/Service.h +273 -154
  92. data/ext/ice/cpp/include/Ice/SliceChecksums.h +5 -6
  93. data/ext/ice/cpp/include/Ice/SlicedData.h +121 -53
  94. data/ext/ice/cpp/include/Ice/SlicedDataF.h +17 -11
  95. data/ext/ice/cpp/include/Ice/StreamHelpers.h +453 -140
  96. data/ext/ice/cpp/include/Ice/StringConverter.h +78 -0
  97. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -6
  98. data/ext/ice/cpp/include/Ice/UUID.h +19 -0
  99. data/ext/ice/cpp/include/{IceUtil → Ice}/UniquePtr.h +22 -28
  100. data/ext/ice/cpp/include/Ice/UniqueRef.h +97 -0
  101. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +45 -13
  102. data/ext/ice/cpp/include/Ice/Value.h +139 -0
  103. data/ext/ice/cpp/include/Ice/ValueF.h +21 -0
  104. data/ext/ice/cpp/include/IceSSL/Config.h +8 -28
  105. data/ext/ice/cpp/include/IceSSL/IceSSL.h +17 -11
  106. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +147 -0
  107. data/ext/ice/cpp/include/IceSSL/Plugin.h +461 -448
  108. data/ext/ice/cpp/include/IceSSL/SChannel.h +72 -0
  109. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +72 -0
  110. data/ext/ice/cpp/include/IceSSL/UWP.h +62 -0
  111. data/ext/ice/cpp/include/IceUtil/Atomic.h +7 -14
  112. data/ext/ice/cpp/include/IceUtil/Cond.h +17 -23
  113. data/ext/ice/cpp/include/IceUtil/Config.h +166 -46
  114. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +92 -0
  115. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +5 -10
  116. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +63 -41
  117. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +5 -13
  118. data/ext/ice/cpp/include/IceUtil/Exception.h +284 -75
  119. data/ext/ice/cpp/include/IceUtil/FileUtil.h +143 -0
  120. data/ext/ice/cpp/include/IceUtil/Functional.h +4 -6
  121. data/ext/ice/cpp/include/IceUtil/Handle.h +11 -16
  122. data/ext/ice/cpp/include/IceUtil/IceUtil.h +4 -15
  123. data/ext/ice/cpp/include/IceUtil/InputUtil.h +3 -8
  124. data/ext/ice/cpp/include/IceUtil/Iterator.h +2 -7
  125. data/ext/ice/cpp/include/IceUtil/Lock.h +8 -15
  126. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -7
  127. data/ext/ice/cpp/include/IceUtil/Mutex.h +19 -23
  128. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +2 -7
  129. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +4 -9
  130. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +4 -9
  131. data/ext/ice/cpp/include/IceUtil/Optional.h +134 -23
  132. data/ext/ice/cpp/include/IceUtil/Options.h +17 -23
  133. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +61 -37
  134. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +6 -11
  135. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +18 -15
  136. data/ext/ice/cpp/include/IceUtil/Random.h +39 -8
  137. data/ext/ice/cpp/include/IceUtil/RecMutex.h +7 -13
  138. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +53 -0
  139. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +10 -15
  140. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +8 -7
  141. data/ext/ice/cpp/include/IceUtil/Shared.h +5 -12
  142. data/ext/ice/cpp/{src → include}/IceUtil/StopWatch.h +2 -7
  143. data/ext/ice/cpp/include/IceUtil/StringConverter.h +146 -126
  144. data/ext/ice/cpp/include/IceUtil/StringUtil.h +32 -26
  145. data/ext/ice/cpp/include/IceUtil/Thread.h +10 -17
  146. data/ext/ice/cpp/include/IceUtil/ThreadException.h +33 -47
  147. data/ext/ice/cpp/include/IceUtil/Time.h +3 -8
  148. data/ext/ice/cpp/include/IceUtil/Timer.h +18 -18
  149. data/ext/ice/cpp/include/IceUtil/UUID.h +6 -7
  150. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -6
  151. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +170 -0
  152. data/ext/ice/cpp/include/generated/Ice/Communicator.h +1156 -0
  153. data/ext/ice/cpp/include/{Ice → generated/Ice}/CommunicatorF.h +51 -16
  154. data/ext/ice/cpp/include/generated/Ice/Connection.h +1660 -0
  155. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +119 -0
  156. data/ext/ice/cpp/include/generated/Ice/Current.h +322 -0
  157. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +943 -0
  158. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +166 -0
  159. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +118 -0
  160. data/ext/ice/cpp/include/{Ice → generated/Ice}/FacetMap.h +31 -15
  161. data/ext/ice/cpp/include/generated/Ice/Identity.h +264 -0
  162. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +278 -0
  163. data/ext/ice/cpp/include/{Ice → generated/Ice}/ImplicitContextF.h +51 -16
  164. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +1143 -0
  165. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +128 -0
  166. data/ext/ice/cpp/include/generated/Ice/LocalException.h +7041 -0
  167. data/ext/ice/cpp/include/generated/Ice/Locator.h +3850 -0
  168. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +147 -0
  169. data/ext/ice/cpp/include/generated/Ice/Logger.h +231 -0
  170. data/ext/ice/cpp/include/{Ice → generated/Ice}/LoggerF.h +51 -16
  171. data/ext/ice/cpp/include/generated/Ice/Metrics.h +4717 -0
  172. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +1175 -0
  173. data/ext/ice/cpp/include/{Ice → generated/Ice}/ObjectAdapterF.h +51 -16
  174. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +197 -0
  175. data/ext/ice/cpp/include/generated/Ice/Plugin.h +306 -0
  176. data/ext/ice/cpp/include/generated/Ice/PluginF.h +110 -0
  177. data/ext/ice/cpp/include/generated/Ice/Process.h +971 -0
  178. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +125 -0
  179. data/ext/ice/cpp/include/generated/Ice/Properties.h +446 -0
  180. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +1360 -0
  181. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +134 -0
  182. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +2689 -0
  183. data/ext/ice/cpp/include/generated/Ice/Router.h +1838 -0
  184. data/ext/ice/cpp/include/generated/Ice/RouterF.h +125 -0
  185. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +299 -0
  186. data/ext/ice/cpp/include/{Ice → generated/Ice}/ServantLocatorF.h +51 -16
  187. data/ext/ice/cpp/include/{Ice → generated/Ice}/SliceChecksumDict.h +34 -14
  188. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +318 -0
  189. data/ext/ice/cpp/include/generated/Ice/Version.h +357 -0
  190. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +223 -0
  191. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +101 -0
  192. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +181 -0
  193. data/ext/ice/cpp/src/Ice/ACM.cpp +38 -27
  194. data/ext/ice/cpp/src/Ice/ACM.h +9 -7
  195. data/ext/ice/cpp/src/Ice/ACMF.h +30 -0
  196. data/ext/ice/cpp/src/Ice/Acceptor.cpp +6 -6
  197. data/ext/ice/cpp/src/Ice/Acceptor.h +4 -8
  198. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -6
  199. data/ext/ice/cpp/src/Ice/ArgVector.cpp +59 -0
  200. data/ext/ice/cpp/src/Ice/ArgVector.h +36 -0
  201. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +15 -544
  202. data/ext/ice/cpp/src/Ice/Base64.cpp +22 -28
  203. data/ext/ice/cpp/src/Ice/Base64.h +1 -6
  204. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +41 -18
  205. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +15 -15
  206. data/ext/ice/cpp/src/Ice/Buffer.cpp +75 -18
  207. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +21 -12
  208. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +86 -197
  209. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +17 -23
  210. data/ext/ice/cpp/src/Ice/Communicator.cpp +43 -15
  211. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +28 -11
  212. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +318 -117
  213. data/ext/ice/cpp/src/Ice/CommunicatorI.h +95 -40
  214. data/ext/ice/cpp/src/{IceUtil → Ice}/Cond.cpp +3 -8
  215. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +55 -122
  216. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +15 -31
  217. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +6 -7
  218. data/ext/ice/cpp/src/Ice/Connection.cpp +111 -20
  219. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +28 -11
  220. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +300 -107
  221. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +44 -28
  222. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +30 -0
  223. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +785 -713
  224. data/ext/ice/cpp/src/Ice/ConnectionI.h +105 -80
  225. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +2 -20
  226. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +5 -9
  227. data/ext/ice/cpp/src/Ice/Connector.cpp +6 -6
  228. data/ext/ice/cpp/src/Ice/Connector.h +4 -8
  229. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -6
  230. data/ext/ice/cpp/src/{IceUtil → Ice}/CountDownLatch.cpp +4 -9
  231. data/ext/ice/cpp/src/Ice/Current.cpp +30 -12
  232. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +10 -16
  233. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -6
  234. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -6
  235. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +13 -25
  236. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +34 -28
  237. data/ext/ice/cpp/src/Ice/Endpoint.cpp +107 -19
  238. data/ext/ice/cpp/src/Ice/EndpointF.cpp +28 -11
  239. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +152 -6
  240. data/ext/ice/cpp/src/Ice/EndpointFactory.h +72 -11
  241. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -6
  242. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +41 -36
  243. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +10 -9
  244. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -6
  245. data/ext/ice/cpp/src/Ice/EndpointI.cpp +18 -7
  246. data/ext/ice/cpp/src/Ice/EndpointI.h +39 -18
  247. data/ext/ice/cpp/src/Ice/EndpointIF.h +18 -10
  248. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +19 -12
  249. data/ext/ice/cpp/src/Ice/EventHandler.cpp +6 -9
  250. data/ext/ice/cpp/src/Ice/EventHandler.h +13 -13
  251. data/ext/ice/cpp/src/Ice/EventHandlerF.h +5 -7
  252. data/ext/ice/cpp/src/Ice/Exception.cpp +102 -98
  253. data/ext/ice/cpp/src/Ice/FacetMap.cpp +21 -12
  254. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +37 -33
  255. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +2 -9
  256. data/ext/ice/cpp/src/Ice/GCObject.cpp +29 -31
  257. data/ext/ice/cpp/src/Ice/HashUtil.h +3 -9
  258. data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -7
  259. data/ext/ice/cpp/src/Ice/HttpParser.h +1 -6
  260. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +128 -111
  261. data/ext/ice/cpp/src/Ice/IPEndpointI.h +23 -19
  262. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +6 -7
  263. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +51 -0
  264. data/ext/ice/cpp/src/Ice/Identity.cpp +25 -16
  265. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +41 -13
  266. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +28 -11
  267. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +11 -28
  268. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +7 -10
  269. data/ext/ice/cpp/src/Ice/Incoming.cpp +284 -255
  270. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +104 -214
  271. data/ext/ice/cpp/src/Ice/IncomingRequest.h +5 -9
  272. data/ext/ice/cpp/src/Ice/Initialize.cpp +309 -193
  273. data/ext/ice/cpp/src/Ice/InputStream.cpp +2726 -0
  274. data/ext/ice/cpp/src/Ice/Instance.cpp +243 -262
  275. data/ext/ice/cpp/src/Ice/Instance.h +30 -23
  276. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +137 -23
  277. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +28 -11
  278. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +118 -105
  279. data/ext/ice/cpp/src/Ice/InstrumentationI.h +30 -36
  280. data/ext/ice/cpp/src/Ice/LocalException.cpp +1191 -422
  281. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -7
  282. data/ext/ice/cpp/src/Ice/Locator.cpp +1282 -1222
  283. data/ext/ice/cpp/src/Ice/LocatorF.cpp +30 -12
  284. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +150 -186
  285. data/ext/ice/cpp/src/Ice/LocatorInfo.h +31 -36
  286. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -6
  287. data/ext/ice/cpp/src/Ice/Logger.cpp +39 -12
  288. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +182 -88
  289. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +4 -9
  290. data/ext/ice/cpp/src/Ice/LoggerF.cpp +28 -11
  291. data/ext/ice/cpp/src/Ice/LoggerI.cpp +26 -55
  292. data/ext/ice/cpp/src/Ice/LoggerI.h +7 -18
  293. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +10 -17
  294. data/ext/ice/cpp/src/Ice/Metrics.cpp +1280 -1107
  295. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +58 -33
  296. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -7
  297. data/ext/ice/cpp/src/Ice/Network.cpp +753 -408
  298. data/ext/ice/cpp/src/Ice/Network.h +99 -36
  299. data/ext/ice/cpp/src/Ice/NetworkF.h +2 -7
  300. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +20 -19
  301. data/ext/ice/cpp/src/Ice/NetworkProxy.h +5 -7
  302. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -6
  303. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +57 -0
  304. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +40 -0
  305. data/ext/ice/cpp/src/Ice/Object.cpp +227 -232
  306. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +45 -13
  307. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +28 -11
  308. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +83 -33
  309. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +13 -12
  310. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +25 -0
  311. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +298 -191
  312. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +44 -39
  313. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +41 -13
  314. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +9 -37
  315. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +67 -67
  316. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +15 -11
  317. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +801 -366
  318. data/ext/ice/cpp/src/Ice/OutputStream.cpp +1367 -0
  319. data/ext/ice/cpp/src/Ice/Plugin.cpp +52 -14
  320. data/ext/ice/cpp/src/Ice/PluginF.cpp +28 -11
  321. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +27 -51
  322. data/ext/ice/cpp/src/Ice/PluginManagerI.h +7 -13
  323. data/ext/ice/cpp/src/Ice/Process.cpp +294 -128
  324. data/ext/ice/cpp/src/Ice/ProcessF.cpp +30 -12
  325. data/ext/ice/cpp/src/Ice/Properties.cpp +42 -15
  326. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +382 -340
  327. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +83 -24
  328. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +29 -10
  329. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +30 -12
  330. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +46 -57
  331. data/ext/ice/cpp/src/Ice/PropertiesI.h +18 -26
  332. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +112 -19
  333. data/ext/ice/cpp/src/Ice/PropertyNames.h +4 -7
  334. data/ext/ice/cpp/src/Ice/Protocol.cpp +6 -19
  335. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +37 -7
  336. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +9 -25
  337. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -6
  338. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +6 -6
  339. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +3 -6
  340. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -6
  341. data/ext/ice/cpp/src/Ice/Proxy.cpp +729 -957
  342. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +33 -38
  343. data/ext/ice/cpp/src/Ice/ProxyFactory.h +16 -16
  344. data/ext/ice/cpp/src/Ice/Reference.cpp +190 -106
  345. data/ext/ice/cpp/src/Ice/Reference.h +39 -28
  346. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +69 -118
  347. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +12 -17
  348. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -6
  349. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +19 -9
  350. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -6
  351. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +766 -565
  352. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -6
  353. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +5 -8
  354. data/ext/ice/cpp/src/Ice/RequestHandler.h +10 -18
  355. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +10 -11
  356. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +2 -7
  357. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +3 -11
  358. data/ext/ice/cpp/src/Ice/ResponseHandler.h +16 -12
  359. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +12 -20
  360. data/ext/ice/cpp/src/Ice/RetryQueue.h +7 -11
  361. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -6
  362. data/ext/ice/cpp/src/Ice/Router.cpp +614 -492
  363. data/ext/ice/cpp/src/Ice/RouterF.cpp +30 -12
  364. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +93 -99
  365. data/ext/ice/cpp/src/Ice/RouterInfo.h +42 -38
  366. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -6
  367. data/ext/ice/cpp/src/{IceUtil → Ice}/SHA1.cpp +23 -28
  368. data/ext/ice/cpp/src/Ice/Selector.cpp +948 -855
  369. data/ext/ice/cpp/src/Ice/Selector.h +100 -152
  370. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +41 -13
  371. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +28 -11
  372. data/ext/ice/cpp/src/Ice/ServantManager.cpp +24 -45
  373. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -6
  374. data/ext/ice/cpp/src/Ice/SharedContext.h +2 -7
  375. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +21 -12
  376. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +2 -7
  377. data/ext/ice/cpp/src/Ice/SlicedData.cpp +72 -25
  378. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +208 -76
  379. data/ext/ice/cpp/src/Ice/StreamSocket.h +13 -9
  380. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +57 -22
  381. data/ext/ice/cpp/src/Ice/StringUtil.h +30 -0
  382. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +6 -7
  383. data/ext/ice/cpp/src/Ice/SysLoggerI.h +2 -8
  384. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +66 -0
  385. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +39 -0
  386. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +169 -49
  387. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +12 -10
  388. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +6 -12
  389. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -7
  390. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +51 -46
  391. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +12 -14
  392. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +17 -32
  393. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +7 -15
  394. data/ext/ice/cpp/src/{IceUtil → Ice}/Thread.cpp +41 -54
  395. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +242 -274
  396. data/ext/ice/cpp/src/Ice/ThreadPool.h +46 -48
  397. data/ext/ice/cpp/src/{IceUtil → Ice}/Timer.cpp +38 -26
  398. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +2 -7
  399. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -6
  400. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +2 -7
  401. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +53 -36
  402. data/ext/ice/cpp/src/Ice/TraceUtil.h +13 -11
  403. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -7
  404. data/ext/ice/cpp/src/Ice/Transceiver.h +8 -12
  405. data/ext/ice/cpp/src/Ice/TransceiverF.h +3 -8
  406. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +5 -13
  407. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -7
  408. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +118 -60
  409. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +13 -10
  410. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +177 -236
  411. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +15 -22
  412. data/ext/ice/cpp/src/Ice/Value.cpp +76 -0
  413. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +83 -0
  414. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +61 -0
  415. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +37 -0
  416. data/ext/ice/cpp/src/Ice/Version.cpp +25 -20
  417. data/ext/ice/cpp/src/Ice/VirtualShared.h +38 -0
  418. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +3 -14
  419. data/ext/ice/cpp/src/Ice/WSAcceptor.h +3 -12
  420. data/ext/ice/cpp/src/Ice/WSConnector.cpp +5 -16
  421. data/ext/ice/cpp/src/Ice/WSConnector.h +3 -11
  422. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +188 -89
  423. data/ext/ice/cpp/src/Ice/WSEndpoint.h +22 -37
  424. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +65 -66
  425. data/ext/ice/cpp/src/Ice/WSTransceiver.h +7 -27
  426. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +596 -281
  427. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +1383 -543
  428. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +89 -32
  429. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +59 -28
  430. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +315 -66
  431. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +83 -41
  432. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +57 -64
  433. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +3 -8
  434. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +450 -172
  435. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +863 -406
  436. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +47 -0
  437. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +636 -144
  438. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +20 -173
  439. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +8 -22
  440. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +279 -0
  441. data/ext/ice/cpp/src/IceSSL/CertificateI.h +64 -0
  442. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +42 -17
  443. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +61 -0
  444. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +15 -64
  445. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +6 -18
  446. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +207 -204
  447. data/ext/ice/cpp/src/IceSSL/EndpointI.h +43 -40
  448. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +42 -16
  449. data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -11
  450. data/ext/ice/cpp/src/IceSSL/Instance.h +7 -12
  451. data/ext/ice/cpp/src/IceSSL/InstanceF.h +11 -12
  452. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +583 -0
  453. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +134 -115
  454. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +59 -0
  455. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +27 -0
  456. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +127 -0
  457. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +477 -182
  458. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +32 -26
  459. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +286 -0
  460. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +58 -0
  461. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +71 -46
  462. data/ext/ice/cpp/src/IceSSL/PluginI.h +13 -23
  463. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +9 -60
  464. data/ext/ice/cpp/src/IceSSL/RFC2253.h +7 -12
  465. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +580 -0
  466. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +523 -74
  467. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +123 -0
  468. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +31 -0
  469. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +73 -0
  470. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +187 -221
  471. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +24 -26
  472. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +97 -94
  473. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +26 -192
  474. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +4 -24
  475. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +868 -0
  476. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +69 -201
  477. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +59 -0
  478. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +29 -0
  479. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +75 -0
  480. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +174 -161
  481. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +29 -33
  482. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +864 -0
  483. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +45 -0
  484. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +12 -22
  485. data/ext/ice/cpp/src/IceSSL/TrustManager.h +4 -9
  486. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +3 -8
  487. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +266 -0
  488. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +338 -0
  489. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +41 -0
  490. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +26 -0
  491. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +89 -0
  492. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +383 -0
  493. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +71 -0
  494. data/ext/ice/cpp/src/IceSSL/Util.cpp +71 -1260
  495. data/ext/ice/cpp/src/IceSSL/Util.h +48 -142
  496. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +157 -0
  497. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +22 -27
  498. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +34 -31
  499. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +22 -36
  500. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +30 -126
  501. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -6
  502. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -6
  503. data/ext/ice/cpp/src/IceUtil/Options.cpp +20 -33
  504. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +47 -21
  505. data/ext/ice/cpp/src/IceUtil/Random.cpp +15 -20
  506. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +4 -19
  507. data/ext/ice/cpp/src/IceUtil/Shared.cpp +8 -8
  508. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +501 -269
  509. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +582 -244
  510. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +37 -79
  511. data/ext/ice/cpp/src/IceUtil/Time.cpp +6 -11
  512. data/ext/ice/cpp/src/IceUtil/UUID.cpp +17 -22
  513. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +97 -101
  514. data/ext/ice/cpp/src/IceUtil/Unicode.h +21 -40
  515. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +839 -0
  516. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +894 -234
  517. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +72 -0
  518. data/ext/ice/cpp/src/Slice/Checksum.cpp +2 -7
  519. data/ext/ice/cpp/src/Slice/Checksum.h +21 -0
  520. data/ext/ice/cpp/src/Slice/FileTracker.cpp +25 -83
  521. data/ext/ice/cpp/{include → src}/Slice/FileTracker.h +9 -14
  522. data/ext/ice/cpp/src/Slice/Grammar.cpp +1981 -1944
  523. data/ext/ice/cpp/src/Slice/Grammar.h +39 -19
  524. data/ext/ice/cpp/src/Slice/GrammarUtil.h +14 -20
  525. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +2752 -1948
  526. data/ext/ice/cpp/src/Slice/JavaUtil.h +398 -0
  527. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -6
  528. data/ext/ice/cpp/src/Slice/MD5.h +1 -6
  529. data/ext/ice/cpp/src/Slice/MD5I.cpp +8 -1
  530. data/ext/ice/cpp/src/Slice/MD5I.h +1 -1
  531. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +17 -20
  532. data/ext/ice/cpp/src/Slice/PHPUtil.h +36 -0
  533. data/ext/ice/cpp/src/Slice/Parser.cpp +1190 -426
  534. data/ext/ice/cpp/{include → src}/Slice/Parser.h +143 -91
  535. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +67 -36
  536. data/ext/ice/cpp/{include → src}/Slice/Preprocessor.h +8 -18
  537. data/ext/ice/cpp/src/Slice/Python.cpp +218 -111
  538. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +787 -699
  539. data/ext/ice/cpp/src/Slice/PythonUtil.h +70 -0
  540. data/ext/ice/cpp/src/Slice/Ruby.cpp +42 -43
  541. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +175 -445
  542. data/ext/ice/cpp/{include → src}/Slice/RubyUtil.h +6 -11
  543. data/ext/ice/cpp/src/Slice/Scanner.cpp +390 -399
  544. data/ext/ice/cpp/src/Slice/{Util.cpp → SliceUtil.cpp} +36 -69
  545. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +456 -0
  546. data/ext/ice/cpp/src/Slice/Util.h +50 -0
  547. data/ice.gemspec +2 -9
  548. data/lib/Glacier2.rb +1 -6
  549. data/lib/Glacier2/Metrics.rb +6 -50
  550. data/lib/Glacier2/PermissionsVerifier.rb +23 -99
  551. data/lib/Glacier2/PermissionsVerifierF.rb +2 -7
  552. data/lib/Glacier2/Router.rb +31 -78
  553. data/lib/Glacier2/RouterF.rb +2 -7
  554. data/lib/Glacier2/SSLInfo.rb +3 -11
  555. data/lib/Glacier2/Session.rb +87 -311
  556. data/lib/Ice.rb +84 -58
  557. data/lib/Ice/BuiltinSequences.rb +3 -8
  558. data/lib/Ice/Communicator.rb +54 -61
  559. data/lib/Ice/CommunicatorF.rb +2 -7
  560. data/lib/Ice/Connection.rb +152 -166
  561. data/lib/Ice/ConnectionF.rb +2 -7
  562. data/lib/Ice/Current.rb +3 -15
  563. data/lib/Ice/Endpoint.rb +56 -137
  564. data/lib/Ice/EndpointF.rb +2 -7
  565. data/lib/Ice/EndpointTypes.rb +2 -11
  566. data/lib/Ice/FacetMap.rb +3 -8
  567. data/lib/Ice/Identity.rb +4 -12
  568. data/lib/Ice/ImplicitContext.rb +4 -38
  569. data/lib/Ice/ImplicitContextF.rb +2 -7
  570. data/lib/Ice/Instrumentation.rb +22 -279
  571. data/lib/Ice/InstrumentationF.rb +2 -7
  572. data/lib/Ice/LocalException.rb +94 -145
  573. data/lib/Ice/Locator.rb +50 -169
  574. data/lib/Ice/LocatorF.rb +2 -7
  575. data/lib/Ice/Logger.rb +4 -38
  576. data/lib/Ice/LoggerF.rb +2 -7
  577. data/lib/Ice/Metrics.rb +60 -420
  578. data/lib/Ice/ObjectAdapter.rb +29 -0
  579. data/lib/Ice/ObjectAdapterF.rb +2 -7
  580. data/lib/Ice/ObjectFactory.rb +4 -34
  581. data/lib/Ice/Plugin.rb +6 -64
  582. data/lib/Ice/PluginF.rb +2 -7
  583. data/lib/Ice/Process.rb +15 -56
  584. data/lib/Ice/ProcessF.rb +2 -7
  585. data/lib/Ice/Properties.rb +4 -45
  586. data/lib/Ice/PropertiesAdmin.rb +18 -60
  587. data/lib/Ice/PropertiesF.rb +2 -7
  588. data/lib/Ice/RemoteLogger.rb +33 -119
  589. data/lib/Ice/Router.rb +28 -105
  590. data/lib/Ice/RouterF.rb +2 -7
  591. data/lib/Ice/ServantLocator.rb +26 -0
  592. data/lib/Ice/ServantLocatorF.rb +24 -0
  593. data/lib/Ice/SliceChecksumDict.rb +2 -7
  594. data/lib/Ice/ValueFactory.rb +28 -0
  595. data/lib/Ice/Version.rb +4 -15
  596. data/lib/IceBox.rb +1 -6
  597. data/lib/IceBox/IceBox.rb +43 -152
  598. data/lib/IceGrid.rb +1 -9
  599. data/lib/IceGrid/Admin.rb +550 -431
  600. data/lib/IceGrid/Descriptor.rb +61 -533
  601. data/lib/IceGrid/Exception.rb +23 -49
  602. data/lib/IceGrid/FileParser.rb +13 -54
  603. data/lib/IceGrid/PluginFacade.rb +35 -0
  604. data/lib/IceGrid/Registry.rb +150 -62
  605. data/lib/IceGrid/Session.rb +24 -68
  606. data/lib/IceGrid/UserAccountMapper.rb +13 -54
  607. data/lib/IcePatch2.rb +1 -6
  608. data/lib/IcePatch2/FileInfo.rb +4 -15
  609. data/lib/IcePatch2/FileServer.rb +32 -80
  610. data/lib/IceStorm.rb +1 -6
  611. data/lib/IceStorm/IceStorm.rb +78 -210
  612. data/lib/IceStorm/Metrics.rb +10 -93
  613. data/slice/Glacier2/Metrics.ice +20 -10
  614. data/slice/Glacier2/PermissionsVerifier.ice +19 -12
  615. data/slice/Glacier2/PermissionsVerifierF.ice +16 -9
  616. data/slice/Glacier2/Router.ice +19 -13
  617. data/slice/Glacier2/RouterF.ice +16 -9
  618. data/slice/Glacier2/SSLInfo.ice +17 -10
  619. data/slice/Glacier2/Session.ice +24 -18
  620. data/slice/Ice/BuiltinSequences.ice +18 -9
  621. data/slice/Ice/Communicator.ice +180 -64
  622. data/slice/Ice/CommunicatorF.ice +18 -9
  623. data/slice/Ice/Connection.ice +208 -75
  624. data/slice/Ice/ConnectionF.ice +18 -9
  625. data/slice/Ice/Current.ice +37 -28
  626. data/slice/Ice/Endpoint.ice +73 -21
  627. data/slice/Ice/EndpointF.ice +19 -10
  628. data/slice/Ice/EndpointTypes.ice +21 -13
  629. data/slice/Ice/FacetMap.ice +19 -10
  630. data/slice/Ice/Identity.ice +24 -10
  631. data/slice/Ice/ImplicitContext.ice +41 -33
  632. data/slice/Ice/ImplicitContextF.ice +17 -9
  633. data/slice/Ice/Instrumentation.ice +37 -30
  634. data/slice/Ice/InstrumentationF.ice +19 -10
  635. data/slice/Ice/LocalException.ice +118 -112
  636. data/slice/Ice/Locator.ice +28 -21
  637. data/slice/Ice/LocatorF.ice +18 -9
  638. data/slice/Ice/Logger.ice +26 -18
  639. data/slice/Ice/LoggerF.ice +18 -9
  640. data/slice/Ice/Metrics.ice +42 -30
  641. data/slice/Ice/ObjectAdapter.ice +88 -53
  642. data/slice/Ice/ObjectAdapterF.ice +18 -9
  643. data/slice/Ice/ObjectFactory.ice +28 -17
  644. data/slice/Ice/Plugin.ice +25 -13
  645. data/slice/Ice/PluginF.ice +22 -9
  646. data/slice/Ice/Process.ice +20 -11
  647. data/slice/Ice/ProcessF.ice +18 -9
  648. data/slice/Ice/Properties.ice +42 -28
  649. data/slice/Ice/PropertiesAdmin.ice +20 -10
  650. data/slice/Ice/PropertiesF.ice +18 -9
  651. data/slice/Ice/RemoteLogger.ice +23 -19
  652. data/slice/Ice/Router.ice +28 -13
  653. data/slice/Ice/RouterF.ice +18 -9
  654. data/slice/Ice/ServantLocator.ice +40 -29
  655. data/slice/Ice/ServantLocatorF.ice +18 -9
  656. data/slice/Ice/SliceChecksumDict.ice +18 -9
  657. data/slice/Ice/ValueFactory.ice +132 -0
  658. data/slice/Ice/Version.ice +20 -10
  659. data/slice/IceBT/ConnectionInfo.ice +58 -0
  660. data/slice/IceBT/EndpointInfo.ice +56 -0
  661. data/slice/IceBT/Types.ice +44 -0
  662. data/slice/IceBox/IceBox.ice +45 -27
  663. data/slice/IceDiscovery/IceDiscovery.ice +75 -10
  664. data/slice/IceGrid/Admin.ice +410 -44
  665. data/slice/IceGrid/Descriptor.ice +47 -34
  666. data/slice/IceGrid/Exception.ice +43 -32
  667. data/slice/IceGrid/FileParser.ice +21 -12
  668. data/slice/IceGrid/PluginFacade.ice +26 -18
  669. data/slice/IceGrid/Registry.ice +150 -21
  670. data/slice/IceGrid/Session.ice +25 -17
  671. data/slice/IceGrid/UserAccountMapper.ice +23 -14
  672. data/slice/IceIAP/ConnectionInfo.ice +73 -0
  673. data/slice/IceIAP/EndpointInfo.ice +67 -0
  674. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +19 -12
  675. data/slice/IcePatch2/FileInfo.ice +19 -13
  676. data/slice/IcePatch2/FileServer.ice +27 -18
  677. data/slice/IceSSL/ConnectionInfo.ice +27 -23
  678. data/slice/IceSSL/ConnectionInfoF.ice +30 -0
  679. data/slice/IceSSL/EndpointInfo.ice +21 -36
  680. data/slice/IceStorm/IceStorm.ice +33 -24
  681. data/slice/IceStorm/Metrics.ice +19 -11
  682. metadata +148 -120
  683. data/ext/ObjectFactory.cpp +0 -140
  684. data/ext/ObjectFactory.h +0 -50
  685. data/ext/ice/cpp/include/Ice/ACMF.h +0 -30
  686. data/ext/ice/cpp/include/Ice/BasicStream.h +0 -1335
  687. data/ext/ice/cpp/include/Ice/BuiltinSequences.h +0 -82
  688. data/ext/ice/cpp/include/Ice/Communicator.h +0 -200
  689. data/ext/ice/cpp/include/Ice/Connection.h +0 -497
  690. data/ext/ice/cpp/include/Ice/ConnectionF.h +0 -74
  691. data/ext/ice/cpp/include/Ice/ConnectionFactoryF.h +0 -30
  692. data/ext/ice/cpp/include/Ice/Current.h +0 -102
  693. data/ext/ice/cpp/include/Ice/DefaultObjectFactory.h +0 -48
  694. data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +0 -62
  695. data/ext/ice/cpp/include/Ice/Endpoint.h +0 -341
  696. data/ext/ice/cpp/include/Ice/EndpointF.h +0 -93
  697. data/ext/ice/cpp/include/Ice/EndpointTypes.h +0 -82
  698. data/ext/ice/cpp/include/Ice/Identity.h +0 -168
  699. data/ext/ice/cpp/include/Ice/ImplicitContext.h +0 -102
  700. data/ext/ice/cpp/include/Ice/Instrumentation.h +0 -365
  701. data/ext/ice/cpp/include/Ice/InstrumentationF.h +0 -75
  702. data/ext/ice/cpp/include/Ice/LocalException.h +0 -1030
  703. data/ext/ice/cpp/include/Ice/Locator.h +0 -2193
  704. data/ext/ice/cpp/include/Ice/LocatorF.h +0 -93
  705. data/ext/ice/cpp/include/Ice/Logger.h +0 -100
  706. data/ext/ice/cpp/include/Ice/Metrics.h +0 -2974
  707. data/ext/ice/cpp/include/Ice/ObjectAdapter.h +0 -168
  708. data/ext/ice/cpp/include/Ice/ObjectAdapterFactoryF.h +0 -26
  709. data/ext/ice/cpp/include/Ice/ObjectFactory.h +0 -92
  710. data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +0 -66
  711. data/ext/ice/cpp/include/Ice/ObjectFactoryManagerF.h +0 -26
  712. data/ext/ice/cpp/include/Ice/Outgoing.h +0 -225
  713. data/ext/ice/cpp/include/Ice/Plugin.h +0 -125
  714. data/ext/ice/cpp/include/Ice/PluginF.h +0 -70
  715. data/ext/ice/cpp/include/Ice/Process.h +0 -574
  716. data/ext/ice/cpp/include/Ice/ProcessF.h +0 -83
  717. data/ext/ice/cpp/include/Ice/Properties.h +0 -136
  718. data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +0 -830
  719. data/ext/ice/cpp/include/Ice/PropertiesF.h +0 -87
  720. data/ext/ice/cpp/include/Ice/RemoteLogger.h +0 -1500
  721. data/ext/ice/cpp/include/Ice/Router.h +0 -1159
  722. data/ext/ice/cpp/include/Ice/RouterF.h +0 -83
  723. data/ext/ice/cpp/include/Ice/ServantLocator.h +0 -96
  724. data/ext/ice/cpp/include/Ice/Stream.h +0 -447
  725. data/ext/ice/cpp/include/Ice/StreamF.h +0 -30
  726. data/ext/ice/cpp/include/Ice/Version.h +0 -262
  727. data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +0 -158
  728. data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +0 -142
  729. data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +0 -119
  730. data/ext/ice/cpp/include/IceUtil/Cache.h +0 -362
  731. data/ext/ice/cpp/include/IceUtil/IconvStringConverter.h +0 -302
  732. data/ext/ice/cpp/include/IceUtil/SHA1.h +0 -47
  733. data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +0 -65
  734. data/ext/ice/cpp/include/Slice/Checksum.h +0 -26
  735. data/ext/ice/cpp/include/Slice/CsUtil.h +0 -92
  736. data/ext/ice/cpp/include/Slice/DotNetNames.h +0 -34
  737. data/ext/ice/cpp/include/Slice/JavaUtil.h +0 -279
  738. data/ext/ice/cpp/include/Slice/ObjCUtil.h +0 -127
  739. data/ext/ice/cpp/include/Slice/PHPUtil.h +0 -50
  740. data/ext/ice/cpp/include/Slice/PythonUtil.h +0 -64
  741. data/ext/ice/cpp/include/Slice/Util.h +0 -56
  742. data/ext/ice/cpp/src/Ice/BasicStream.cpp +0 -3428
  743. data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +0 -62
  744. data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +0 -44
  745. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +0 -139
  746. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +0 -43
  747. data/ext/ice/cpp/src/Ice/Outgoing.cpp +0 -694
  748. data/ext/ice/cpp/src/Ice/Stream.cpp +0 -53
  749. data/ext/ice/cpp/src/Ice/StreamI.cpp +0 -832
  750. data/ext/ice/cpp/src/Ice/StreamI.h +0 -198
  751. data/ext/ice/cpp/src/IceSSL/Certificate.cpp +0 -1336
  752. data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +0 -64
  753. data/ext/ice/cpp/src/IceUtil/ArgVector.h +0 -41
  754. data/ext/ice/cpp/src/IceUtil/Exception.cpp +0 -792
  755. data/ext/ice/cpp/src/IceUtil/FileUtil.h +0 -185
  756. data/ext/ice/cpp/src/Slice/CsUtil.cpp +0 -2660
  757. data/ext/ice/cpp/src/Slice/DotNetNames.cpp +0 -146
  758. data/ext/ice/cpp/src/Slice/ObjCUtil.cpp +0 -1310
  759. data/lib/Ice/ObjectFactoryF.rb +0 -29
  760. data/lib/IceGrid/Locator.rb +0 -106
  761. data/lib/IceGrid/Observer.rb +0 -572
  762. data/lib/IceGrid/Query.rb +0 -169
  763. data/slice/Freeze/BackgroundSaveEvictor.ice +0 -111
  764. data/slice/Freeze/CatalogData.ice +0 -49
  765. data/slice/Freeze/Connection.ice +0 -121
  766. data/slice/Freeze/ConnectionF.ice +0 -20
  767. data/slice/Freeze/DB.ice +0 -37
  768. data/slice/Freeze/Evictor.ice +0 -346
  769. data/slice/Freeze/EvictorF.ice +0 -22
  770. data/slice/Freeze/EvictorStorage.ice +0 -72
  771. data/slice/Freeze/Exception.ice +0 -100
  772. data/slice/Freeze/Transaction.ice +0 -58
  773. data/slice/Freeze/TransactionalEvictor.ice +0 -50
  774. data/slice/Ice/ObjectFactoryF.ice +0 -21
  775. data/slice/IceGrid/Locator.ice +0 -57
  776. data/slice/IceGrid/Observer.ice +0 -395
  777. data/slice/IceGrid/Query.ice +0 -131
@@ -0,0 +1,4717 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+ //
5
+ // Ice version 3.7.4
6
+ //
7
+ // <auto-generated>
8
+ //
9
+ // Generated from file `Metrics.ice'
10
+ //
11
+ // Warning: do not edit this file.
12
+ //
13
+ // </auto-generated>
14
+ //
15
+
16
+ #ifndef __Ice_Metrics_h__
17
+ #define __Ice_Metrics_h__
18
+
19
+ #include <IceUtil/PushDisableWarnings.h>
20
+ #include <Ice/ProxyF.h>
21
+ #include <Ice/ObjectF.h>
22
+ #include <Ice/ValueF.h>
23
+ #include <Ice/Exception.h>
24
+ #include <Ice/LocalObject.h>
25
+ #include <Ice/StreamHelpers.h>
26
+ #include <Ice/Comparable.h>
27
+ #include <Ice/Proxy.h>
28
+ #include <Ice/Object.h>
29
+ #include <Ice/GCObject.h>
30
+ #include <Ice/Value.h>
31
+ #include <Ice/Incoming.h>
32
+ #include <Ice/FactoryTableInit.h>
33
+ #include <IceUtil/ScopedArray.h>
34
+ #include <Ice/Optional.h>
35
+ #include <Ice/ExceptionHelpers.h>
36
+ #include <Ice/BuiltinSequences.h>
37
+ #include <IceUtil/UndefSysMacros.h>
38
+
39
+ #ifndef ICE_IGNORE_VERSION
40
+ # if ICE_INT_VERSION / 100 != 307
41
+ # error Ice version mismatch!
42
+ # endif
43
+ # if ICE_INT_VERSION % 100 >= 50
44
+ # error Beta header file detected
45
+ # endif
46
+ # if ICE_INT_VERSION % 100 < 4
47
+ # error Ice patch level mismatch!
48
+ # endif
49
+ #endif
50
+
51
+ #ifndef ICE_API
52
+ # if defined(ICE_STATIC_LIBS)
53
+ # define ICE_API /**/
54
+ # elif defined(ICE_API_EXPORTS)
55
+ # define ICE_API ICE_DECLSPEC_EXPORT
56
+ # else
57
+ # define ICE_API ICE_DECLSPEC_IMPORT
58
+ # endif
59
+ #endif
60
+
61
+ #ifdef ICE_CPP11_MAPPING // C++11 mapping
62
+
63
+ namespace IceMX
64
+ {
65
+
66
+ class Metrics;
67
+ class MetricsAdmin;
68
+ class MetricsAdminPrx;
69
+ class ThreadMetrics;
70
+ class DispatchMetrics;
71
+ class ChildInvocationMetrics;
72
+ class CollocatedMetrics;
73
+ class RemoteMetrics;
74
+ class InvocationMetrics;
75
+ class ConnectionMetrics;
76
+
77
+ }
78
+
79
+ namespace IceMX
80
+ {
81
+
82
+ /**
83
+ * A dictionnary of strings to integers.
84
+ */
85
+ using StringIntDict = ::std::map<::std::string, int>;
86
+
87
+ /**
88
+ * A structure to keep track of failures associated with a given
89
+ * metrics.
90
+ * \headerfile Ice/Ice.h
91
+ */
92
+ struct MetricsFailures
93
+ {
94
+ /**
95
+ * The identifier of the metrics object associated to the
96
+ * failures.
97
+ */
98
+ ::std::string id;
99
+ /**
100
+ * The failures observed for this metrics.
101
+ */
102
+ ::IceMX::StringIntDict failures;
103
+
104
+ /**
105
+ * Obtains a tuple containing all of the struct's data members.
106
+ * @return The data members in a tuple.
107
+ */
108
+ std::tuple<const ::std::string&, const ::IceMX::StringIntDict&> ice_tuple() const
109
+ {
110
+ return std::tie(id, failures);
111
+ }
112
+ };
113
+
114
+ /**
115
+ * A sequence of {@link MetricsFailures}.
116
+ */
117
+ using MetricsFailuresSeq = ::std::vector<MetricsFailures>;
118
+
119
+ /**
120
+ * A metrics map is a sequence of metrics. We use a sequence here
121
+ * instead of a map because the ID of the metrics is already included
122
+ * in the Metrics class and using sequences of metrics objects is more
123
+ * efficient than using dictionaries since lookup is not necessary.
124
+ */
125
+ using MetricsMap = ::std::vector<::std::shared_ptr<Metrics>>;
126
+
127
+ /**
128
+ * A metrics view is a dictionary of metrics map. The key of the
129
+ * dictionary is the name of the metrics map.
130
+ */
131
+ using MetricsView = ::std::map<::std::string, MetricsMap>;
132
+
133
+ /**
134
+ * Raised if a metrics view cannot be found.
135
+ * \headerfile Ice/Ice.h
136
+ */
137
+ class ICE_CLASS(ICE_API) UnknownMetricsView : public ::Ice::UserExceptionHelper<UnknownMetricsView, ::Ice::UserException>
138
+ {
139
+ public:
140
+
141
+ ICE_MEMBER(ICE_API) virtual ~UnknownMetricsView();
142
+
143
+ UnknownMetricsView(const UnknownMetricsView&) = default;
144
+
145
+ UnknownMetricsView() = default;
146
+
147
+ /**
148
+ * Obtains a tuple containing all of the exception's data members.
149
+ * @return The data members in a tuple.
150
+ */
151
+ std::tuple<> ice_tuple() const
152
+ {
153
+ return std::tie();
154
+ }
155
+
156
+ /**
157
+ * Obtains the Slice type ID of this exception.
158
+ * @return The fully-scoped type ID.
159
+ */
160
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
161
+ };
162
+
163
+ /// \cond INTERNAL
164
+ static UnknownMetricsView _iceS_UnknownMetricsView_init;
165
+ /// \endcond
166
+
167
+ using Ice::operator<;
168
+ using Ice::operator<=;
169
+ using Ice::operator>;
170
+ using Ice::operator>=;
171
+ using Ice::operator==;
172
+ using Ice::operator!=;
173
+
174
+ }
175
+
176
+ namespace IceMX
177
+ {
178
+
179
+ /**
180
+ * The metrics administrative facet interface. This interface allows
181
+ * remote administrative clients to access metrics of an application
182
+ * that enabled the Ice administrative facility and configured some
183
+ * metrics views.
184
+ * \headerfile Ice/Ice.h
185
+ */
186
+ class ICE_API MetricsAdmin : public virtual ::Ice::Object
187
+ {
188
+ public:
189
+
190
+ using ProxyType = MetricsAdminPrx;
191
+
192
+ /**
193
+ * Determines whether this object supports an interface with the given Slice type ID.
194
+ * @param id The fully-scoped Slice type ID.
195
+ * @param current The Current object for the invocation.
196
+ * @return True if this object supports the interface, false, otherwise.
197
+ */
198
+ virtual bool ice_isA(::std::string id, const ::Ice::Current& current) const override;
199
+
200
+ /**
201
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
202
+ * @param current The Current object for the invocation.
203
+ * @return A list of fully-scoped type IDs.
204
+ */
205
+ virtual ::std::vector<::std::string> ice_ids(const ::Ice::Current& current) const override;
206
+
207
+ /**
208
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
209
+ * @param current The Current object for the invocation.
210
+ * @return A fully-scoped type ID.
211
+ */
212
+ virtual ::std::string ice_id(const ::Ice::Current& current) const override;
213
+
214
+ /**
215
+ * Obtains the Slice type ID corresponding to this class.
216
+ * @return A fully-scoped type ID.
217
+ */
218
+ static const ::std::string& ice_staticId();
219
+
220
+ /**
221
+ * Encapsulates the results of a call to getMetricsViewNames.
222
+ */
223
+ struct GetMetricsViewNamesResult
224
+ {
225
+ /** The name of the enabled views. */
226
+ ::Ice::StringSeq returnValue;
227
+ /** The names of the disabled views. */
228
+ ::Ice::StringSeq disabledViews;
229
+ };
230
+
231
+ /**
232
+ * Get the names of enabled and disabled metrics.
233
+ * @param disabledViews The names of the disabled views.
234
+ * @param current The Current object for the invocation.
235
+ * @return The name of the enabled views.
236
+ */
237
+ virtual ::Ice::StringSeq getMetricsViewNames(::Ice::StringSeq& disabledViews, const ::Ice::Current& current) = 0;
238
+ /// \cond INTERNAL
239
+ bool _iceD_getMetricsViewNames(::IceInternal::Incoming&, const ::Ice::Current&);
240
+ /// \endcond
241
+
242
+ /**
243
+ * Enables a metrics view.
244
+ * @param name The metrics view name.
245
+ * @param current The Current object for the invocation.
246
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
247
+ * found.
248
+ */
249
+ virtual void enableMetricsView(::std::string name, const ::Ice::Current& current) = 0;
250
+ /// \cond INTERNAL
251
+ bool _iceD_enableMetricsView(::IceInternal::Incoming&, const ::Ice::Current&);
252
+ /// \endcond
253
+
254
+ /**
255
+ * Disable a metrics view.
256
+ * @param name The metrics view name.
257
+ * @param current The Current object for the invocation.
258
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
259
+ * found.
260
+ */
261
+ virtual void disableMetricsView(::std::string name, const ::Ice::Current& current) = 0;
262
+ /// \cond INTERNAL
263
+ bool _iceD_disableMetricsView(::IceInternal::Incoming&, const ::Ice::Current&);
264
+ /// \endcond
265
+
266
+ /**
267
+ * Encapsulates the results of a call to getMetricsView.
268
+ */
269
+ struct GetMetricsViewResult
270
+ {
271
+ /** The metrics view data. */
272
+ MetricsView returnValue;
273
+ /** The local time of the process when the metrics object were retrieved. */
274
+ long long int timestamp;
275
+ };
276
+
277
+ /**
278
+ * Get the metrics objects for the given metrics view. This
279
+ * returns a dictionnary of metric maps for each metrics class
280
+ * configured with the view. The timestamp allows the client to
281
+ * compute averages which are not dependent of the invocation
282
+ * latency for this operation.
283
+ * @param view The name of the metrics view.
284
+ * @param timestamp The local time of the process when the metrics
285
+ * object were retrieved.
286
+ * @param current The Current object for the invocation.
287
+ * @return The metrics view data.
288
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
289
+ * found.
290
+ */
291
+ virtual MetricsView getMetricsView(::std::string view, long long int& timestamp, const ::Ice::Current& current) = 0;
292
+ /// \cond INTERNAL
293
+ bool _iceD_getMetricsView(::IceInternal::Incoming&, const ::Ice::Current&);
294
+ /// \endcond
295
+
296
+ /**
297
+ * Get the metrics failures associated with the given view and map.
298
+ * @param view The name of the metrics view.
299
+ * @param map The name of the metrics map.
300
+ * @param current The Current object for the invocation.
301
+ * @return The metrics failures associated with the map.
302
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
303
+ * found.
304
+ */
305
+ virtual MetricsFailuresSeq getMapMetricsFailures(::std::string view, ::std::string map, const ::Ice::Current& current) = 0;
306
+ /// \cond INTERNAL
307
+ bool _iceD_getMapMetricsFailures(::IceInternal::Incoming&, const ::Ice::Current&);
308
+ /// \endcond
309
+
310
+ /**
311
+ * Get the metrics failure associated for the given metrics.
312
+ * @param view The name of the metrics view.
313
+ * @param map The name of the metrics map.
314
+ * @param id The ID of the metrics.
315
+ * @param current The Current object for the invocation.
316
+ * @return The metrics failures associated with the metrics.
317
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
318
+ * found.
319
+ */
320
+ virtual MetricsFailures getMetricsFailures(::std::string view, ::std::string map, ::std::string id, const ::Ice::Current& current) = 0;
321
+ /// \cond INTERNAL
322
+ bool _iceD_getMetricsFailures(::IceInternal::Incoming&, const ::Ice::Current&);
323
+ /// \endcond
324
+
325
+ /// \cond INTERNAL
326
+ virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&) override;
327
+ /// \endcond
328
+ };
329
+
330
+ }
331
+
332
+ namespace IceMX
333
+ {
334
+
335
+ /**
336
+ * The base class for metrics. A metrics object represents a
337
+ * collection of measurements associated to a given a system.
338
+ * \headerfile Ice/Ice.h
339
+ */
340
+ class ICE_CLASS(ICE_API) Metrics : public ::Ice::ValueHelper<Metrics, ::Ice::Value>
341
+ {
342
+ public:
343
+
344
+ ICE_MEMBER(ICE_API) virtual ~Metrics();
345
+
346
+ Metrics() = default;
347
+
348
+ Metrics(const Metrics&) = default;
349
+ Metrics(Metrics&&) = default;
350
+ Metrics& operator=(const Metrics&) = default;
351
+ Metrics& operator=(Metrics&&) = default;
352
+
353
+ /**
354
+ * One-shot constructor to initialize all data members.
355
+ * @param id The metrics identifier.
356
+ * @param total The total number of objects observed by this metrics.
357
+ * @param current The number of objects currently observed by this metrics.
358
+ * @param totalLifetime The sum of the lifetime of each observed objects.
359
+ * @param failures The number of failures observed.
360
+ */
361
+ Metrics(const ::std::string& id, long long int total, int current, long long int totalLifetime, int failures) :
362
+ id(id),
363
+ total(total),
364
+ current(current),
365
+ totalLifetime(totalLifetime),
366
+ failures(failures)
367
+ {
368
+ }
369
+
370
+ /**
371
+ * Obtains a tuple containing all of the value's data members.
372
+ * @return The data members in a tuple.
373
+ */
374
+ std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&> ice_tuple() const
375
+ {
376
+ return std::tie(id, total, current, totalLifetime, failures);
377
+ }
378
+
379
+ /**
380
+ * Obtains the Slice type ID of this value.
381
+ * @return The fully-scoped type ID.
382
+ */
383
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
384
+
385
+ /**
386
+ * The metrics identifier.
387
+ */
388
+ ::std::string id;
389
+ /**
390
+ * The total number of objects observed by this metrics. This includes
391
+ * the number of currently observed objects and the number of objects
392
+ * observed in the past.
393
+ */
394
+ long long int total = 0LL;
395
+ /**
396
+ * The number of objects currently observed by this metrics.
397
+ */
398
+ int current = 0;
399
+ /**
400
+ * The sum of the lifetime of each observed objects. This does not
401
+ * include the lifetime of objects which are currently observed,
402
+ * only the objects observed in the past.
403
+ */
404
+ long long int totalLifetime = 0LL;
405
+ /**
406
+ * The number of failures observed.
407
+ */
408
+ int failures = 0;
409
+ };
410
+
411
+ /// \cond INTERNAL
412
+ static Metrics _iceS_Metrics_init;
413
+ /// \endcond
414
+
415
+ /**
416
+ * Provides information on the number of threads currently in use and
417
+ * their activity.
418
+ * \headerfile Ice/Ice.h
419
+ */
420
+ class ICE_CLASS(ICE_API) ThreadMetrics : public ::Ice::ValueHelper<ThreadMetrics, Metrics>
421
+ {
422
+ public:
423
+
424
+ ICE_MEMBER(ICE_API) virtual ~ThreadMetrics();
425
+
426
+ ThreadMetrics() = default;
427
+
428
+ ThreadMetrics(const ThreadMetrics&) = default;
429
+ ThreadMetrics(ThreadMetrics&&) = default;
430
+ ThreadMetrics& operator=(const ThreadMetrics&) = default;
431
+ ThreadMetrics& operator=(ThreadMetrics&&) = default;
432
+
433
+ /**
434
+ * One-shot constructor to initialize all data members.
435
+ * @param id The metrics identifier.
436
+ * @param total The total number of objects observed by this metrics.
437
+ * @param current The number of objects currently observed by this metrics.
438
+ * @param totalLifetime The sum of the lifetime of each observed objects.
439
+ * @param failures The number of failures observed.
440
+ * @param inUseForIO The number of threads which are currently performing socket read or writes.
441
+ * @param inUseForUser The number of threads which are currently calling user code (servant dispatch, AMI callbacks, etc).
442
+ * @param inUseForOther The number of threads which are currently performing other activities.
443
+ */
444
+ ThreadMetrics(const ::std::string& id, long long int total, int current, long long int totalLifetime, int failures, int inUseForIO, int inUseForUser, int inUseForOther) :
445
+ Ice::ValueHelper<ThreadMetrics, Metrics>(id, total, current, totalLifetime, failures),
446
+ inUseForIO(inUseForIO),
447
+ inUseForUser(inUseForUser),
448
+ inUseForOther(inUseForOther)
449
+ {
450
+ }
451
+
452
+ /**
453
+ * Obtains a tuple containing all of the value's data members.
454
+ * @return The data members in a tuple.
455
+ */
456
+ std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const int&, const int&, const int&> ice_tuple() const
457
+ {
458
+ return std::tie(id, total, current, totalLifetime, failures, inUseForIO, inUseForUser, inUseForOther);
459
+ }
460
+
461
+ /**
462
+ * Obtains the Slice type ID of this value.
463
+ * @return The fully-scoped type ID.
464
+ */
465
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
466
+
467
+ /**
468
+ * The number of threads which are currently performing socket
469
+ * read or writes.
470
+ */
471
+ int inUseForIO = 0;
472
+ /**
473
+ * The number of threads which are currently calling user code
474
+ * (servant dispatch, AMI callbacks, etc).
475
+ */
476
+ int inUseForUser = 0;
477
+ /**
478
+ * The number of threads which are currently performing other
479
+ * activities. These are all other that are not counted with
480
+ * {@link #inUseForUser} or {@link #inUseForIO}, such as DNS
481
+ * lookups, garbage collection).
482
+ */
483
+ int inUseForOther = 0;
484
+ };
485
+
486
+ /**
487
+ * Provides information on servant dispatch.
488
+ * \headerfile Ice/Ice.h
489
+ */
490
+ class ICE_CLASS(ICE_API) DispatchMetrics : public ::Ice::ValueHelper<DispatchMetrics, Metrics>
491
+ {
492
+ public:
493
+
494
+ ICE_MEMBER(ICE_API) virtual ~DispatchMetrics();
495
+
496
+ DispatchMetrics() = default;
497
+
498
+ DispatchMetrics(const DispatchMetrics&) = default;
499
+ DispatchMetrics(DispatchMetrics&&) = default;
500
+ DispatchMetrics& operator=(const DispatchMetrics&) = default;
501
+ DispatchMetrics& operator=(DispatchMetrics&&) = default;
502
+
503
+ /**
504
+ * One-shot constructor to initialize all data members.
505
+ * @param id The metrics identifier.
506
+ * @param total The total number of objects observed by this metrics.
507
+ * @param current The number of objects currently observed by this metrics.
508
+ * @param totalLifetime The sum of the lifetime of each observed objects.
509
+ * @param failures The number of failures observed.
510
+ * @param userException The number of dispatch that failed with a user exception.
511
+ * @param size The size of the dispatch.
512
+ * @param replySize The size of the dispatch reply.
513
+ */
514
+ DispatchMetrics(const ::std::string& id, long long int total, int current, long long int totalLifetime, int failures, int userException, long long int size, long long int replySize) :
515
+ Ice::ValueHelper<DispatchMetrics, Metrics>(id, total, current, totalLifetime, failures),
516
+ userException(userException),
517
+ size(size),
518
+ replySize(replySize)
519
+ {
520
+ }
521
+
522
+ /**
523
+ * Obtains a tuple containing all of the value's data members.
524
+ * @return The data members in a tuple.
525
+ */
526
+ std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const int&, const long long int&, const long long int&> ice_tuple() const
527
+ {
528
+ return std::tie(id, total, current, totalLifetime, failures, userException, size, replySize);
529
+ }
530
+
531
+ /**
532
+ * Obtains the Slice type ID of this value.
533
+ * @return The fully-scoped type ID.
534
+ */
535
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
536
+
537
+ /**
538
+ * The number of dispatch that failed with a user exception.
539
+ */
540
+ int userException = 0;
541
+ /**
542
+ * The size of the dispatch. This corresponds to the size of the
543
+ * marshalled input parameters.
544
+ */
545
+ long long int size = 0LL;
546
+ /**
547
+ * The size of the dispatch reply. This corresponds to the size of
548
+ * the marshalled output and return parameters.
549
+ */
550
+ long long int replySize = 0LL;
551
+ };
552
+
553
+ /**
554
+ * Provides information on child invocations. A child invocation is
555
+ * either remote (sent over an Ice connection) or collocated. An
556
+ * invocation can have multiple child invocation if it is
557
+ * retried. Child invocation metrics are embedded within
558
+ * {@link InvocationMetrics}.
559
+ * \headerfile Ice/Ice.h
560
+ */
561
+ class ICE_CLASS(ICE_API) ChildInvocationMetrics : public ::Ice::ValueHelper<ChildInvocationMetrics, Metrics>
562
+ {
563
+ public:
564
+
565
+ ICE_MEMBER(ICE_API) virtual ~ChildInvocationMetrics();
566
+
567
+ ChildInvocationMetrics() = default;
568
+
569
+ ChildInvocationMetrics(const ChildInvocationMetrics&) = default;
570
+ ChildInvocationMetrics(ChildInvocationMetrics&&) = default;
571
+ ChildInvocationMetrics& operator=(const ChildInvocationMetrics&) = default;
572
+ ChildInvocationMetrics& operator=(ChildInvocationMetrics&&) = default;
573
+
574
+ /**
575
+ * One-shot constructor to initialize all data members.
576
+ * @param id The metrics identifier.
577
+ * @param total The total number of objects observed by this metrics.
578
+ * @param current The number of objects currently observed by this metrics.
579
+ * @param totalLifetime The sum of the lifetime of each observed objects.
580
+ * @param failures The number of failures observed.
581
+ * @param size The size of the invocation.
582
+ * @param replySize The size of the invocation reply.
583
+ */
584
+ ChildInvocationMetrics(const ::std::string& id, long long int total, int current, long long int totalLifetime, int failures, long long int size, long long int replySize) :
585
+ Ice::ValueHelper<ChildInvocationMetrics, Metrics>(id, total, current, totalLifetime, failures),
586
+ size(size),
587
+ replySize(replySize)
588
+ {
589
+ }
590
+
591
+ /**
592
+ * Obtains a tuple containing all of the value's data members.
593
+ * @return The data members in a tuple.
594
+ */
595
+ std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const long long int&, const long long int&> ice_tuple() const
596
+ {
597
+ return std::tie(id, total, current, totalLifetime, failures, size, replySize);
598
+ }
599
+
600
+ /**
601
+ * Obtains the Slice type ID of this value.
602
+ * @return The fully-scoped type ID.
603
+ */
604
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
605
+
606
+ /**
607
+ * The size of the invocation. This corresponds to the size of the
608
+ * marshalled input parameters.
609
+ */
610
+ long long int size = 0LL;
611
+ /**
612
+ * The size of the invocation reply. This corresponds to the size
613
+ * of the marshalled output and return parameters.
614
+ */
615
+ long long int replySize = 0LL;
616
+ };
617
+
618
+ /**
619
+ * Provides information on invocations that are collocated. Collocated
620
+ * metrics are embedded within {@link InvocationMetrics}.
621
+ * \headerfile Ice/Ice.h
622
+ */
623
+ class ICE_CLASS(ICE_API) CollocatedMetrics : public ::Ice::ValueHelper<CollocatedMetrics, ChildInvocationMetrics>
624
+ {
625
+ public:
626
+
627
+ ICE_MEMBER(ICE_API) virtual ~CollocatedMetrics();
628
+
629
+ CollocatedMetrics() = default;
630
+
631
+ CollocatedMetrics(const CollocatedMetrics&) = default;
632
+ CollocatedMetrics(CollocatedMetrics&&) = default;
633
+ CollocatedMetrics& operator=(const CollocatedMetrics&) = default;
634
+ CollocatedMetrics& operator=(CollocatedMetrics&&) = default;
635
+
636
+ /**
637
+ * One-shot constructor to initialize all data members.
638
+ * @param id The metrics identifier.
639
+ * @param total The total number of objects observed by this metrics.
640
+ * @param current The number of objects currently observed by this metrics.
641
+ * @param totalLifetime The sum of the lifetime of each observed objects.
642
+ * @param failures The number of failures observed.
643
+ * @param size The size of the invocation.
644
+ * @param replySize The size of the invocation reply.
645
+ */
646
+ CollocatedMetrics(const ::std::string& id, long long int total, int current, long long int totalLifetime, int failures, long long int size, long long int replySize) :
647
+ Ice::ValueHelper<CollocatedMetrics, ChildInvocationMetrics>(id, total, current, totalLifetime, failures, size, replySize)
648
+ {
649
+ }
650
+
651
+ /**
652
+ * Obtains a tuple containing all of the value's data members.
653
+ * @return The data members in a tuple.
654
+ */
655
+ std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const long long int&, const long long int&> ice_tuple() const
656
+ {
657
+ return std::tie(id, total, current, totalLifetime, failures, size, replySize);
658
+ }
659
+
660
+ /**
661
+ * Obtains the Slice type ID of this value.
662
+ * @return The fully-scoped type ID.
663
+ */
664
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
665
+ };
666
+
667
+ /**
668
+ * Provides information on invocations that are specifically sent over
669
+ * Ice connections. Remote metrics are embedded within {@link InvocationMetrics}.
670
+ * \headerfile Ice/Ice.h
671
+ */
672
+ class ICE_CLASS(ICE_API) RemoteMetrics : public ::Ice::ValueHelper<RemoteMetrics, ChildInvocationMetrics>
673
+ {
674
+ public:
675
+
676
+ ICE_MEMBER(ICE_API) virtual ~RemoteMetrics();
677
+
678
+ RemoteMetrics() = default;
679
+
680
+ RemoteMetrics(const RemoteMetrics&) = default;
681
+ RemoteMetrics(RemoteMetrics&&) = default;
682
+ RemoteMetrics& operator=(const RemoteMetrics&) = default;
683
+ RemoteMetrics& operator=(RemoteMetrics&&) = default;
684
+
685
+ /**
686
+ * One-shot constructor to initialize all data members.
687
+ * @param id The metrics identifier.
688
+ * @param total The total number of objects observed by this metrics.
689
+ * @param current The number of objects currently observed by this metrics.
690
+ * @param totalLifetime The sum of the lifetime of each observed objects.
691
+ * @param failures The number of failures observed.
692
+ * @param size The size of the invocation.
693
+ * @param replySize The size of the invocation reply.
694
+ */
695
+ RemoteMetrics(const ::std::string& id, long long int total, int current, long long int totalLifetime, int failures, long long int size, long long int replySize) :
696
+ Ice::ValueHelper<RemoteMetrics, ChildInvocationMetrics>(id, total, current, totalLifetime, failures, size, replySize)
697
+ {
698
+ }
699
+
700
+ /**
701
+ * Obtains a tuple containing all of the value's data members.
702
+ * @return The data members in a tuple.
703
+ */
704
+ std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const long long int&, const long long int&> ice_tuple() const
705
+ {
706
+ return std::tie(id, total, current, totalLifetime, failures, size, replySize);
707
+ }
708
+
709
+ /**
710
+ * Obtains the Slice type ID of this value.
711
+ * @return The fully-scoped type ID.
712
+ */
713
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
714
+ };
715
+
716
+ /**
717
+ * Provide measurements for proxy invocations. Proxy invocations can
718
+ * either be sent over the wire or be collocated.
719
+ * \headerfile Ice/Ice.h
720
+ */
721
+ class ICE_CLASS(ICE_API) InvocationMetrics : public ::Ice::ValueHelper<InvocationMetrics, Metrics>
722
+ {
723
+ public:
724
+
725
+ ICE_MEMBER(ICE_API) virtual ~InvocationMetrics();
726
+
727
+ InvocationMetrics() = default;
728
+
729
+ InvocationMetrics(const InvocationMetrics&) = default;
730
+ InvocationMetrics(InvocationMetrics&&) = default;
731
+ InvocationMetrics& operator=(const InvocationMetrics&) = default;
732
+ InvocationMetrics& operator=(InvocationMetrics&&) = default;
733
+
734
+ /**
735
+ * One-shot constructor to initialize all data members.
736
+ * @param id The metrics identifier.
737
+ * @param total The total number of objects observed by this metrics.
738
+ * @param current The number of objects currently observed by this metrics.
739
+ * @param totalLifetime The sum of the lifetime of each observed objects.
740
+ * @param failures The number of failures observed.
741
+ * @param retry The number of retries for the invocation(s).
742
+ * @param userException The number of invocations that failed with a user exception.
743
+ * @param remotes The remote invocation metrics map.
744
+ * @param collocated The collocated invocation metrics map.
745
+ */
746
+ InvocationMetrics(const ::std::string& id, long long int total, int current, long long int totalLifetime, int failures, int retry, int userException, const ::IceMX::MetricsMap& remotes, const ::IceMX::MetricsMap& collocated) :
747
+ Ice::ValueHelper<InvocationMetrics, Metrics>(id, total, current, totalLifetime, failures),
748
+ retry(retry),
749
+ userException(userException),
750
+ remotes(remotes),
751
+ collocated(collocated)
752
+ {
753
+ }
754
+
755
+ /**
756
+ * Obtains a tuple containing all of the value's data members.
757
+ * @return The data members in a tuple.
758
+ */
759
+ std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const int&, const int&, const ::IceMX::MetricsMap&, const ::IceMX::MetricsMap&> ice_tuple() const
760
+ {
761
+ return std::tie(id, total, current, totalLifetime, failures, retry, userException, remotes, collocated);
762
+ }
763
+
764
+ /**
765
+ * Obtains the Slice type ID of this value.
766
+ * @return The fully-scoped type ID.
767
+ */
768
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
769
+
770
+ /**
771
+ * The number of retries for the invocation(s).
772
+ */
773
+ int retry = 0;
774
+ /**
775
+ * The number of invocations that failed with a user exception.
776
+ */
777
+ int userException = 0;
778
+ /**
779
+ * The remote invocation metrics map.
780
+ * @see RemoteMetrics
781
+ */
782
+ ::IceMX::MetricsMap remotes;
783
+ /**
784
+ * The collocated invocation metrics map.
785
+ * @see CollocatedMetrics
786
+ */
787
+ ::IceMX::MetricsMap collocated;
788
+ };
789
+
790
+ /**
791
+ * Provides information on the data sent and received over Ice
792
+ * connections.
793
+ * \headerfile Ice/Ice.h
794
+ */
795
+ class ICE_CLASS(ICE_API) ConnectionMetrics : public ::Ice::ValueHelper<ConnectionMetrics, Metrics>
796
+ {
797
+ public:
798
+
799
+ ICE_MEMBER(ICE_API) virtual ~ConnectionMetrics();
800
+
801
+ ConnectionMetrics() = default;
802
+
803
+ ConnectionMetrics(const ConnectionMetrics&) = default;
804
+ ConnectionMetrics(ConnectionMetrics&&) = default;
805
+ ConnectionMetrics& operator=(const ConnectionMetrics&) = default;
806
+ ConnectionMetrics& operator=(ConnectionMetrics&&) = default;
807
+
808
+ /**
809
+ * One-shot constructor to initialize all data members.
810
+ * @param id The metrics identifier.
811
+ * @param total The total number of objects observed by this metrics.
812
+ * @param current The number of objects currently observed by this metrics.
813
+ * @param totalLifetime The sum of the lifetime of each observed objects.
814
+ * @param failures The number of failures observed.
815
+ * @param receivedBytes The number of bytes received by the connection.
816
+ * @param sentBytes The number of bytes sent by the connection.
817
+ */
818
+ ConnectionMetrics(const ::std::string& id, long long int total, int current, long long int totalLifetime, int failures, long long int receivedBytes, long long int sentBytes) :
819
+ Ice::ValueHelper<ConnectionMetrics, Metrics>(id, total, current, totalLifetime, failures),
820
+ receivedBytes(receivedBytes),
821
+ sentBytes(sentBytes)
822
+ {
823
+ }
824
+
825
+ /**
826
+ * Obtains a tuple containing all of the value's data members.
827
+ * @return The data members in a tuple.
828
+ */
829
+ std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const long long int&, const long long int&> ice_tuple() const
830
+ {
831
+ return std::tie(id, total, current, totalLifetime, failures, receivedBytes, sentBytes);
832
+ }
833
+
834
+ /**
835
+ * Obtains the Slice type ID of this value.
836
+ * @return The fully-scoped type ID.
837
+ */
838
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
839
+
840
+ /**
841
+ * The number of bytes received by the connection.
842
+ */
843
+ long long int receivedBytes = 0LL;
844
+ /**
845
+ * The number of bytes sent by the connection.
846
+ */
847
+ long long int sentBytes = 0LL;
848
+ };
849
+
850
+ }
851
+
852
+ namespace IceMX
853
+ {
854
+
855
+ /**
856
+ * The metrics administrative facet interface. This interface allows
857
+ * remote administrative clients to access metrics of an application
858
+ * that enabled the Ice administrative facility and configured some
859
+ * metrics views.
860
+ * \headerfile Ice/Ice.h
861
+ */
862
+ class ICE_CLASS(ICE_API) MetricsAdminPrx : public virtual ::Ice::Proxy<MetricsAdminPrx, ::Ice::ObjectPrx>
863
+ {
864
+ public:
865
+
866
+ /**
867
+ * Get the names of enabled and disabled metrics.
868
+ * @param disabledViews The names of the disabled views.
869
+ * @param context The Context map to send with the invocation.
870
+ * @return The name of the enabled views.
871
+ */
872
+ ::Ice::StringSeq getMetricsViewNames(::Ice::StringSeq& disabledViews, const ::Ice::Context& context = ::Ice::noExplicitContext)
873
+ {
874
+ auto _result = _makePromiseOutgoing<MetricsAdmin::GetMetricsViewNamesResult>(true, this, &MetricsAdminPrx::_iceI_getMetricsViewNames, context).get();
875
+ disabledViews = ::std::move(_result.disabledViews);
876
+ return ::std::move(_result.returnValue);
877
+ }
878
+
879
+ /**
880
+ * Get the names of enabled and disabled metrics.
881
+ * @param context The Context map to send with the invocation.
882
+ * @return The future object for the invocation.
883
+ */
884
+ template<template<typename> class P = ::std::promise>
885
+ auto getMetricsViewNamesAsync(const ::Ice::Context& context = ::Ice::noExplicitContext)
886
+ -> decltype(::std::declval<P<MetricsAdmin::GetMetricsViewNamesResult>>().get_future())
887
+ {
888
+ return _makePromiseOutgoing<MetricsAdmin::GetMetricsViewNamesResult, P>(false, this, &MetricsAdminPrx::_iceI_getMetricsViewNames, context);
889
+ }
890
+
891
+ /**
892
+ * Get the names of enabled and disabled metrics.
893
+ * @param response The response callback.
894
+ * @param ex The exception callback.
895
+ * @param sent The sent callback.
896
+ * @param context The Context map to send with the invocation.
897
+ * @return A function that can be called to cancel the invocation locally.
898
+ */
899
+ ::std::function<void()>
900
+ getMetricsViewNamesAsync(::std::function<void(::Ice::StringSeq, ::Ice::StringSeq)> response,
901
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
902
+ ::std::function<void(bool)> sent = nullptr,
903
+ const ::Ice::Context& context = ::Ice::noExplicitContext)
904
+ {
905
+ auto _responseCb = [response](MetricsAdmin::GetMetricsViewNamesResult&& _result)
906
+ {
907
+ response(::std::move(_result.returnValue), ::std::move(_result.disabledViews));
908
+ };
909
+ return _makeLamdaOutgoing<MetricsAdmin::GetMetricsViewNamesResult>(std::move(_responseCb), std::move(ex), std::move(sent), this, &IceMX::MetricsAdminPrx::_iceI_getMetricsViewNames, context);
910
+ }
911
+
912
+ /// \cond INTERNAL
913
+ ICE_MEMBER(ICE_API) void _iceI_getMetricsViewNames(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<MetricsAdmin::GetMetricsViewNamesResult>>&, const ::Ice::Context&);
914
+ /// \endcond
915
+
916
+ /**
917
+ * Enables a metrics view.
918
+ * @param name The metrics view name.
919
+ * @param context The Context map to send with the invocation.
920
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
921
+ * found.
922
+ */
923
+ void enableMetricsView(const ::std::string& name, const ::Ice::Context& context = ::Ice::noExplicitContext)
924
+ {
925
+ _makePromiseOutgoing<void>(true, this, &MetricsAdminPrx::_iceI_enableMetricsView, name, context).get();
926
+ }
927
+
928
+ /**
929
+ * Enables a metrics view.
930
+ * @param name The metrics view name.
931
+ * @param context The Context map to send with the invocation.
932
+ * @return The future object for the invocation.
933
+ */
934
+ template<template<typename> class P = ::std::promise>
935
+ auto enableMetricsViewAsync(const ::std::string& name, const ::Ice::Context& context = ::Ice::noExplicitContext)
936
+ -> decltype(::std::declval<P<void>>().get_future())
937
+ {
938
+ return _makePromiseOutgoing<void, P>(false, this, &MetricsAdminPrx::_iceI_enableMetricsView, name, context);
939
+ }
940
+
941
+ /**
942
+ * Enables a metrics view.
943
+ * @param name The metrics view name.
944
+ * @param response The response callback.
945
+ * @param ex The exception callback.
946
+ * @param sent The sent callback.
947
+ * @param context The Context map to send with the invocation.
948
+ * @return A function that can be called to cancel the invocation locally.
949
+ */
950
+ ::std::function<void()>
951
+ enableMetricsViewAsync(const ::std::string& name,
952
+ ::std::function<void()> response,
953
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
954
+ ::std::function<void(bool)> sent = nullptr,
955
+ const ::Ice::Context& context = ::Ice::noExplicitContext)
956
+ {
957
+ return _makeLamdaOutgoing<void>(std::move(response), std::move(ex), std::move(sent), this, &IceMX::MetricsAdminPrx::_iceI_enableMetricsView, name, context);
958
+ }
959
+
960
+ /// \cond INTERNAL
961
+ ICE_MEMBER(ICE_API) void _iceI_enableMetricsView(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<void>>&, const ::std::string&, const ::Ice::Context&);
962
+ /// \endcond
963
+
964
+ /**
965
+ * Disable a metrics view.
966
+ * @param name The metrics view name.
967
+ * @param context The Context map to send with the invocation.
968
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
969
+ * found.
970
+ */
971
+ void disableMetricsView(const ::std::string& name, const ::Ice::Context& context = ::Ice::noExplicitContext)
972
+ {
973
+ _makePromiseOutgoing<void>(true, this, &MetricsAdminPrx::_iceI_disableMetricsView, name, context).get();
974
+ }
975
+
976
+ /**
977
+ * Disable a metrics view.
978
+ * @param name The metrics view name.
979
+ * @param context The Context map to send with the invocation.
980
+ * @return The future object for the invocation.
981
+ */
982
+ template<template<typename> class P = ::std::promise>
983
+ auto disableMetricsViewAsync(const ::std::string& name, const ::Ice::Context& context = ::Ice::noExplicitContext)
984
+ -> decltype(::std::declval<P<void>>().get_future())
985
+ {
986
+ return _makePromiseOutgoing<void, P>(false, this, &MetricsAdminPrx::_iceI_disableMetricsView, name, context);
987
+ }
988
+
989
+ /**
990
+ * Disable a metrics view.
991
+ * @param name The metrics view name.
992
+ * @param response The response callback.
993
+ * @param ex The exception callback.
994
+ * @param sent The sent callback.
995
+ * @param context The Context map to send with the invocation.
996
+ * @return A function that can be called to cancel the invocation locally.
997
+ */
998
+ ::std::function<void()>
999
+ disableMetricsViewAsync(const ::std::string& name,
1000
+ ::std::function<void()> response,
1001
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
1002
+ ::std::function<void(bool)> sent = nullptr,
1003
+ const ::Ice::Context& context = ::Ice::noExplicitContext)
1004
+ {
1005
+ return _makeLamdaOutgoing<void>(std::move(response), std::move(ex), std::move(sent), this, &IceMX::MetricsAdminPrx::_iceI_disableMetricsView, name, context);
1006
+ }
1007
+
1008
+ /// \cond INTERNAL
1009
+ ICE_MEMBER(ICE_API) void _iceI_disableMetricsView(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<void>>&, const ::std::string&, const ::Ice::Context&);
1010
+ /// \endcond
1011
+
1012
+ /**
1013
+ * Get the metrics objects for the given metrics view. This
1014
+ * returns a dictionnary of metric maps for each metrics class
1015
+ * configured with the view. The timestamp allows the client to
1016
+ * compute averages which are not dependent of the invocation
1017
+ * latency for this operation.
1018
+ * @param view The name of the metrics view.
1019
+ * @param timestamp The local time of the process when the metrics
1020
+ * object were retrieved.
1021
+ * @param context The Context map to send with the invocation.
1022
+ * @return The metrics view data.
1023
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
1024
+ * found.
1025
+ */
1026
+ MetricsView getMetricsView(const ::std::string& view, long long int& timestamp, const ::Ice::Context& context = ::Ice::noExplicitContext)
1027
+ {
1028
+ auto _result = _makePromiseOutgoing<MetricsAdmin::GetMetricsViewResult>(true, this, &MetricsAdminPrx::_iceI_getMetricsView, view, context).get();
1029
+ timestamp = _result.timestamp;
1030
+ return ::std::move(_result.returnValue);
1031
+ }
1032
+
1033
+ /**
1034
+ * Get the metrics objects for the given metrics view. This
1035
+ * returns a dictionnary of metric maps for each metrics class
1036
+ * configured with the view. The timestamp allows the client to
1037
+ * compute averages which are not dependent of the invocation
1038
+ * latency for this operation.
1039
+ * @param view The name of the metrics view.
1040
+ * @param context The Context map to send with the invocation.
1041
+ * @return The future object for the invocation.
1042
+ */
1043
+ template<template<typename> class P = ::std::promise>
1044
+ auto getMetricsViewAsync(const ::std::string& view, const ::Ice::Context& context = ::Ice::noExplicitContext)
1045
+ -> decltype(::std::declval<P<MetricsAdmin::GetMetricsViewResult>>().get_future())
1046
+ {
1047
+ return _makePromiseOutgoing<MetricsAdmin::GetMetricsViewResult, P>(false, this, &MetricsAdminPrx::_iceI_getMetricsView, view, context);
1048
+ }
1049
+
1050
+ /**
1051
+ * Get the metrics objects for the given metrics view. This
1052
+ * returns a dictionnary of metric maps for each metrics class
1053
+ * configured with the view. The timestamp allows the client to
1054
+ * compute averages which are not dependent of the invocation
1055
+ * latency for this operation.
1056
+ * @param view The name of the metrics view.
1057
+ * @param response The response callback.
1058
+ * @param ex The exception callback.
1059
+ * @param sent The sent callback.
1060
+ * @param context The Context map to send with the invocation.
1061
+ * @return A function that can be called to cancel the invocation locally.
1062
+ */
1063
+ ::std::function<void()>
1064
+ getMetricsViewAsync(const ::std::string& view,
1065
+ ::std::function<void(::IceMX::MetricsView, long long int)> response,
1066
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
1067
+ ::std::function<void(bool)> sent = nullptr,
1068
+ const ::Ice::Context& context = ::Ice::noExplicitContext)
1069
+ {
1070
+ auto _responseCb = [response](MetricsAdmin::GetMetricsViewResult&& _result)
1071
+ {
1072
+ response(::std::move(_result.returnValue), _result.timestamp);
1073
+ };
1074
+ return _makeLamdaOutgoing<MetricsAdmin::GetMetricsViewResult>(std::move(_responseCb), std::move(ex), std::move(sent), this, &IceMX::MetricsAdminPrx::_iceI_getMetricsView, view, context);
1075
+ }
1076
+
1077
+ /// \cond INTERNAL
1078
+ ICE_MEMBER(ICE_API) void _iceI_getMetricsView(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<MetricsAdmin::GetMetricsViewResult>>&, const ::std::string&, const ::Ice::Context&);
1079
+ /// \endcond
1080
+
1081
+ /**
1082
+ * Get the metrics failures associated with the given view and map.
1083
+ * @param view The name of the metrics view.
1084
+ * @param map The name of the metrics map.
1085
+ * @param context The Context map to send with the invocation.
1086
+ * @return The metrics failures associated with the map.
1087
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
1088
+ * found.
1089
+ */
1090
+ MetricsFailuresSeq getMapMetricsFailures(const ::std::string& view, const ::std::string& map, const ::Ice::Context& context = ::Ice::noExplicitContext)
1091
+ {
1092
+ return _makePromiseOutgoing<::IceMX::MetricsFailuresSeq>(true, this, &MetricsAdminPrx::_iceI_getMapMetricsFailures, view, map, context).get();
1093
+ }
1094
+
1095
+ /**
1096
+ * Get the metrics failures associated with the given view and map.
1097
+ * @param view The name of the metrics view.
1098
+ * @param map The name of the metrics map.
1099
+ * @param context The Context map to send with the invocation.
1100
+ * @return The future object for the invocation.
1101
+ */
1102
+ template<template<typename> class P = ::std::promise>
1103
+ auto getMapMetricsFailuresAsync(const ::std::string& view, const ::std::string& map, const ::Ice::Context& context = ::Ice::noExplicitContext)
1104
+ -> decltype(::std::declval<P<::IceMX::MetricsFailuresSeq>>().get_future())
1105
+ {
1106
+ return _makePromiseOutgoing<::IceMX::MetricsFailuresSeq, P>(false, this, &MetricsAdminPrx::_iceI_getMapMetricsFailures, view, map, context);
1107
+ }
1108
+
1109
+ /**
1110
+ * Get the metrics failures associated with the given view and map.
1111
+ * @param view The name of the metrics view.
1112
+ * @param map The name of the metrics map.
1113
+ * @param response The response callback.
1114
+ * @param ex The exception callback.
1115
+ * @param sent The sent callback.
1116
+ * @param context The Context map to send with the invocation.
1117
+ * @return A function that can be called to cancel the invocation locally.
1118
+ */
1119
+ ::std::function<void()>
1120
+ getMapMetricsFailuresAsync(const ::std::string& view, const ::std::string& map,
1121
+ ::std::function<void(::IceMX::MetricsFailuresSeq)> response,
1122
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
1123
+ ::std::function<void(bool)> sent = nullptr,
1124
+ const ::Ice::Context& context = ::Ice::noExplicitContext)
1125
+ {
1126
+ return _makeLamdaOutgoing<::IceMX::MetricsFailuresSeq>(std::move(response), std::move(ex), std::move(sent), this, &IceMX::MetricsAdminPrx::_iceI_getMapMetricsFailures, view, map, context);
1127
+ }
1128
+
1129
+ /// \cond INTERNAL
1130
+ ICE_MEMBER(ICE_API) void _iceI_getMapMetricsFailures(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::IceMX::MetricsFailuresSeq>>&, const ::std::string&, const ::std::string&, const ::Ice::Context&);
1131
+ /// \endcond
1132
+
1133
+ /**
1134
+ * Get the metrics failure associated for the given metrics.
1135
+ * @param view The name of the metrics view.
1136
+ * @param map The name of the metrics map.
1137
+ * @param id The ID of the metrics.
1138
+ * @param context The Context map to send with the invocation.
1139
+ * @return The metrics failures associated with the metrics.
1140
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
1141
+ * found.
1142
+ */
1143
+ MetricsFailures getMetricsFailures(const ::std::string& view, const ::std::string& map, const ::std::string& id, const ::Ice::Context& context = ::Ice::noExplicitContext)
1144
+ {
1145
+ return _makePromiseOutgoing<::IceMX::MetricsFailures>(true, this, &MetricsAdminPrx::_iceI_getMetricsFailures, view, map, id, context).get();
1146
+ }
1147
+
1148
+ /**
1149
+ * Get the metrics failure associated for the given metrics.
1150
+ * @param view The name of the metrics view.
1151
+ * @param map The name of the metrics map.
1152
+ * @param id The ID of the metrics.
1153
+ * @param context The Context map to send with the invocation.
1154
+ * @return The future object for the invocation.
1155
+ */
1156
+ template<template<typename> class P = ::std::promise>
1157
+ auto getMetricsFailuresAsync(const ::std::string& view, const ::std::string& map, const ::std::string& id, const ::Ice::Context& context = ::Ice::noExplicitContext)
1158
+ -> decltype(::std::declval<P<::IceMX::MetricsFailures>>().get_future())
1159
+ {
1160
+ return _makePromiseOutgoing<::IceMX::MetricsFailures, P>(false, this, &MetricsAdminPrx::_iceI_getMetricsFailures, view, map, id, context);
1161
+ }
1162
+
1163
+ /**
1164
+ * Get the metrics failure associated for the given metrics.
1165
+ * @param view The name of the metrics view.
1166
+ * @param map The name of the metrics map.
1167
+ * @param id The ID of the metrics.
1168
+ * @param response The response callback.
1169
+ * @param ex The exception callback.
1170
+ * @param sent The sent callback.
1171
+ * @param context The Context map to send with the invocation.
1172
+ * @return A function that can be called to cancel the invocation locally.
1173
+ */
1174
+ ::std::function<void()>
1175
+ getMetricsFailuresAsync(const ::std::string& view, const ::std::string& map, const ::std::string& id,
1176
+ ::std::function<void(::IceMX::MetricsFailures)> response,
1177
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
1178
+ ::std::function<void(bool)> sent = nullptr,
1179
+ const ::Ice::Context& context = ::Ice::noExplicitContext)
1180
+ {
1181
+ return _makeLamdaOutgoing<::IceMX::MetricsFailures>(std::move(response), std::move(ex), std::move(sent), this, &IceMX::MetricsAdminPrx::_iceI_getMetricsFailures, view, map, id, context);
1182
+ }
1183
+
1184
+ /// \cond INTERNAL
1185
+ ICE_MEMBER(ICE_API) void _iceI_getMetricsFailures(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::IceMX::MetricsFailures>>&, const ::std::string&, const ::std::string&, const ::std::string&, const ::Ice::Context&);
1186
+ /// \endcond
1187
+
1188
+ /**
1189
+ * Obtains the Slice type ID of this interface.
1190
+ * @return The fully-scoped type ID.
1191
+ */
1192
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
1193
+
1194
+ protected:
1195
+
1196
+ /// \cond INTERNAL
1197
+ MetricsAdminPrx() = default;
1198
+ friend ::std::shared_ptr<MetricsAdminPrx> IceInternal::createProxy<MetricsAdminPrx>();
1199
+
1200
+ ICE_MEMBER(ICE_API) virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance() const override;
1201
+ /// \endcond
1202
+ };
1203
+
1204
+ }
1205
+
1206
+ /// \cond STREAM
1207
+ namespace Ice
1208
+ {
1209
+
1210
+ template<typename S>
1211
+ struct StreamReader<::IceMX::Metrics, S>
1212
+ {
1213
+ static void read(S* istr, ::IceMX::Metrics& v)
1214
+ {
1215
+ istr->readAll(v.id, v.total, v.current, v.totalLifetime, v.failures);
1216
+ }
1217
+ };
1218
+
1219
+ template<>
1220
+ struct StreamableTraits<::IceMX::MetricsFailures>
1221
+ {
1222
+ static const StreamHelperCategory helper = StreamHelperCategoryStruct;
1223
+ static const int minWireSize = 2;
1224
+ static const bool fixedLength = false;
1225
+ };
1226
+
1227
+ template<typename S>
1228
+ struct StreamReader<::IceMX::MetricsFailures, S>
1229
+ {
1230
+ static void read(S* istr, ::IceMX::MetricsFailures& v)
1231
+ {
1232
+ istr->readAll(v.id, v.failures);
1233
+ }
1234
+ };
1235
+
1236
+ template<typename S>
1237
+ struct StreamWriter<::IceMX::ThreadMetrics, S>
1238
+ {
1239
+ static void write(S* ostr, const ::IceMX::ThreadMetrics& v)
1240
+ {
1241
+ ostr->writeAll(v.inUseForIO, v.inUseForUser, v.inUseForOther);
1242
+ }
1243
+ };
1244
+
1245
+ template<typename S>
1246
+ struct StreamReader<::IceMX::ThreadMetrics, S>
1247
+ {
1248
+ static void read(S* istr, ::IceMX::ThreadMetrics& v)
1249
+ {
1250
+ istr->readAll(v.inUseForIO, v.inUseForUser, v.inUseForOther);
1251
+ }
1252
+ };
1253
+
1254
+ template<typename S>
1255
+ struct StreamWriter<::IceMX::DispatchMetrics, S>
1256
+ {
1257
+ static void write(S* ostr, const ::IceMX::DispatchMetrics& v)
1258
+ {
1259
+ ostr->writeAll(v.userException, v.size, v.replySize);
1260
+ }
1261
+ };
1262
+
1263
+ template<typename S>
1264
+ struct StreamReader<::IceMX::DispatchMetrics, S>
1265
+ {
1266
+ static void read(S* istr, ::IceMX::DispatchMetrics& v)
1267
+ {
1268
+ istr->readAll(v.userException, v.size, v.replySize);
1269
+ }
1270
+ };
1271
+
1272
+ template<typename S>
1273
+ struct StreamWriter<::IceMX::ChildInvocationMetrics, S>
1274
+ {
1275
+ static void write(S* ostr, const ::IceMX::ChildInvocationMetrics& v)
1276
+ {
1277
+ ostr->writeAll(v.size, v.replySize);
1278
+ }
1279
+ };
1280
+
1281
+ template<typename S>
1282
+ struct StreamReader<::IceMX::ChildInvocationMetrics, S>
1283
+ {
1284
+ static void read(S* istr, ::IceMX::ChildInvocationMetrics& v)
1285
+ {
1286
+ istr->readAll(v.size, v.replySize);
1287
+ }
1288
+ };
1289
+
1290
+ template<typename S>
1291
+ struct StreamWriter<::IceMX::CollocatedMetrics, S>
1292
+ {
1293
+ static void write(S*, const ::IceMX::CollocatedMetrics&)
1294
+ {
1295
+ }
1296
+ };
1297
+
1298
+ template<typename S>
1299
+ struct StreamReader<::IceMX::CollocatedMetrics, S>
1300
+ {
1301
+ static void read(S*, ::IceMX::CollocatedMetrics&)
1302
+ {
1303
+ }
1304
+ };
1305
+
1306
+ template<typename S>
1307
+ struct StreamWriter<::IceMX::RemoteMetrics, S>
1308
+ {
1309
+ static void write(S*, const ::IceMX::RemoteMetrics&)
1310
+ {
1311
+ }
1312
+ };
1313
+
1314
+ template<typename S>
1315
+ struct StreamReader<::IceMX::RemoteMetrics, S>
1316
+ {
1317
+ static void read(S*, ::IceMX::RemoteMetrics&)
1318
+ {
1319
+ }
1320
+ };
1321
+
1322
+ template<typename S>
1323
+ struct StreamWriter<::IceMX::InvocationMetrics, S>
1324
+ {
1325
+ static void write(S* ostr, const ::IceMX::InvocationMetrics& v)
1326
+ {
1327
+ ostr->writeAll(v.retry, v.userException, v.remotes, v.collocated);
1328
+ }
1329
+ };
1330
+
1331
+ template<typename S>
1332
+ struct StreamReader<::IceMX::InvocationMetrics, S>
1333
+ {
1334
+ static void read(S* istr, ::IceMX::InvocationMetrics& v)
1335
+ {
1336
+ istr->readAll(v.retry, v.userException, v.remotes, v.collocated);
1337
+ }
1338
+ };
1339
+
1340
+ template<typename S>
1341
+ struct StreamWriter<::IceMX::ConnectionMetrics, S>
1342
+ {
1343
+ static void write(S* ostr, const ::IceMX::ConnectionMetrics& v)
1344
+ {
1345
+ ostr->writeAll(v.receivedBytes, v.sentBytes);
1346
+ }
1347
+ };
1348
+
1349
+ template<typename S>
1350
+ struct StreamReader<::IceMX::ConnectionMetrics, S>
1351
+ {
1352
+ static void read(S* istr, ::IceMX::ConnectionMetrics& v)
1353
+ {
1354
+ istr->readAll(v.receivedBytes, v.sentBytes);
1355
+ }
1356
+ };
1357
+
1358
+ }
1359
+ /// \endcond
1360
+
1361
+ /// \cond INTERNAL
1362
+ namespace IceMX
1363
+ {
1364
+
1365
+ using MetricsPtr = ::std::shared_ptr<Metrics>;
1366
+
1367
+ using MetricsAdminPtr = ::std::shared_ptr<MetricsAdmin>;
1368
+ using MetricsAdminPrxPtr = ::std::shared_ptr<MetricsAdminPrx>;
1369
+
1370
+ using ThreadMetricsPtr = ::std::shared_ptr<ThreadMetrics>;
1371
+
1372
+ using DispatchMetricsPtr = ::std::shared_ptr<DispatchMetrics>;
1373
+
1374
+ using ChildInvocationMetricsPtr = ::std::shared_ptr<ChildInvocationMetrics>;
1375
+
1376
+ using CollocatedMetricsPtr = ::std::shared_ptr<CollocatedMetrics>;
1377
+
1378
+ using RemoteMetricsPtr = ::std::shared_ptr<RemoteMetrics>;
1379
+
1380
+ using InvocationMetricsPtr = ::std::shared_ptr<InvocationMetrics>;
1381
+
1382
+ using ConnectionMetricsPtr = ::std::shared_ptr<ConnectionMetrics>;
1383
+
1384
+ }
1385
+ /// \endcond
1386
+
1387
+ #else // C++98 mapping
1388
+
1389
+ namespace IceProxy
1390
+ {
1391
+
1392
+ namespace IceMX
1393
+ {
1394
+
1395
+ class Metrics;
1396
+ /// \cond INTERNAL
1397
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< Metrics>&);
1398
+ ICE_API ::IceProxy::Ice::Object* upCast(Metrics*);
1399
+ /// \endcond
1400
+
1401
+ class MetricsAdmin;
1402
+ /// \cond INTERNAL
1403
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< MetricsAdmin>&);
1404
+ ICE_API ::IceProxy::Ice::Object* upCast(MetricsAdmin*);
1405
+ /// \endcond
1406
+
1407
+ class ThreadMetrics;
1408
+ /// \cond INTERNAL
1409
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< ThreadMetrics>&);
1410
+ ICE_API ::IceProxy::Ice::Object* upCast(ThreadMetrics*);
1411
+ /// \endcond
1412
+
1413
+ class DispatchMetrics;
1414
+ /// \cond INTERNAL
1415
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< DispatchMetrics>&);
1416
+ ICE_API ::IceProxy::Ice::Object* upCast(DispatchMetrics*);
1417
+ /// \endcond
1418
+
1419
+ class ChildInvocationMetrics;
1420
+ /// \cond INTERNAL
1421
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< ChildInvocationMetrics>&);
1422
+ ICE_API ::IceProxy::Ice::Object* upCast(ChildInvocationMetrics*);
1423
+ /// \endcond
1424
+
1425
+ class CollocatedMetrics;
1426
+ /// \cond INTERNAL
1427
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< CollocatedMetrics>&);
1428
+ ICE_API ::IceProxy::Ice::Object* upCast(CollocatedMetrics*);
1429
+ /// \endcond
1430
+
1431
+ class RemoteMetrics;
1432
+ /// \cond INTERNAL
1433
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< RemoteMetrics>&);
1434
+ ICE_API ::IceProxy::Ice::Object* upCast(RemoteMetrics*);
1435
+ /// \endcond
1436
+
1437
+ class InvocationMetrics;
1438
+ /// \cond INTERNAL
1439
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< InvocationMetrics>&);
1440
+ ICE_API ::IceProxy::Ice::Object* upCast(InvocationMetrics*);
1441
+ /// \endcond
1442
+
1443
+ class ConnectionMetrics;
1444
+ /// \cond INTERNAL
1445
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< ConnectionMetrics>&);
1446
+ ICE_API ::IceProxy::Ice::Object* upCast(ConnectionMetrics*);
1447
+ /// \endcond
1448
+
1449
+ }
1450
+
1451
+ }
1452
+
1453
+ namespace IceMX
1454
+ {
1455
+
1456
+ class Metrics;
1457
+ /// \cond INTERNAL
1458
+ ICE_API ::Ice::Object* upCast(Metrics*);
1459
+ /// \endcond
1460
+ typedef ::IceInternal::Handle< Metrics> MetricsPtr;
1461
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::Metrics> MetricsPrx;
1462
+ typedef MetricsPrx MetricsPrxPtr;
1463
+ /// \cond INTERNAL
1464
+ ICE_API void _icePatchObjectPtr(MetricsPtr&, const ::Ice::ObjectPtr&);
1465
+ /// \endcond
1466
+
1467
+ class MetricsAdmin;
1468
+ /// \cond INTERNAL
1469
+ ICE_API ::Ice::Object* upCast(MetricsAdmin*);
1470
+ /// \endcond
1471
+ typedef ::IceInternal::Handle< MetricsAdmin> MetricsAdminPtr;
1472
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::MetricsAdmin> MetricsAdminPrx;
1473
+ typedef MetricsAdminPrx MetricsAdminPrxPtr;
1474
+ /// \cond INTERNAL
1475
+ ICE_API void _icePatchObjectPtr(MetricsAdminPtr&, const ::Ice::ObjectPtr&);
1476
+ /// \endcond
1477
+
1478
+ class ThreadMetrics;
1479
+ /// \cond INTERNAL
1480
+ ICE_API ::Ice::Object* upCast(ThreadMetrics*);
1481
+ /// \endcond
1482
+ typedef ::IceInternal::Handle< ThreadMetrics> ThreadMetricsPtr;
1483
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::ThreadMetrics> ThreadMetricsPrx;
1484
+ typedef ThreadMetricsPrx ThreadMetricsPrxPtr;
1485
+ /// \cond INTERNAL
1486
+ ICE_API void _icePatchObjectPtr(ThreadMetricsPtr&, const ::Ice::ObjectPtr&);
1487
+ /// \endcond
1488
+
1489
+ class DispatchMetrics;
1490
+ /// \cond INTERNAL
1491
+ ICE_API ::Ice::Object* upCast(DispatchMetrics*);
1492
+ /// \endcond
1493
+ typedef ::IceInternal::Handle< DispatchMetrics> DispatchMetricsPtr;
1494
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::DispatchMetrics> DispatchMetricsPrx;
1495
+ typedef DispatchMetricsPrx DispatchMetricsPrxPtr;
1496
+ /// \cond INTERNAL
1497
+ ICE_API void _icePatchObjectPtr(DispatchMetricsPtr&, const ::Ice::ObjectPtr&);
1498
+ /// \endcond
1499
+
1500
+ class ChildInvocationMetrics;
1501
+ /// \cond INTERNAL
1502
+ ICE_API ::Ice::Object* upCast(ChildInvocationMetrics*);
1503
+ /// \endcond
1504
+ typedef ::IceInternal::Handle< ChildInvocationMetrics> ChildInvocationMetricsPtr;
1505
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::ChildInvocationMetrics> ChildInvocationMetricsPrx;
1506
+ typedef ChildInvocationMetricsPrx ChildInvocationMetricsPrxPtr;
1507
+ /// \cond INTERNAL
1508
+ ICE_API void _icePatchObjectPtr(ChildInvocationMetricsPtr&, const ::Ice::ObjectPtr&);
1509
+ /// \endcond
1510
+
1511
+ class CollocatedMetrics;
1512
+ /// \cond INTERNAL
1513
+ ICE_API ::Ice::Object* upCast(CollocatedMetrics*);
1514
+ /// \endcond
1515
+ typedef ::IceInternal::Handle< CollocatedMetrics> CollocatedMetricsPtr;
1516
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::CollocatedMetrics> CollocatedMetricsPrx;
1517
+ typedef CollocatedMetricsPrx CollocatedMetricsPrxPtr;
1518
+ /// \cond INTERNAL
1519
+ ICE_API void _icePatchObjectPtr(CollocatedMetricsPtr&, const ::Ice::ObjectPtr&);
1520
+ /// \endcond
1521
+
1522
+ class RemoteMetrics;
1523
+ /// \cond INTERNAL
1524
+ ICE_API ::Ice::Object* upCast(RemoteMetrics*);
1525
+ /// \endcond
1526
+ typedef ::IceInternal::Handle< RemoteMetrics> RemoteMetricsPtr;
1527
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::RemoteMetrics> RemoteMetricsPrx;
1528
+ typedef RemoteMetricsPrx RemoteMetricsPrxPtr;
1529
+ /// \cond INTERNAL
1530
+ ICE_API void _icePatchObjectPtr(RemoteMetricsPtr&, const ::Ice::ObjectPtr&);
1531
+ /// \endcond
1532
+
1533
+ class InvocationMetrics;
1534
+ /// \cond INTERNAL
1535
+ ICE_API ::Ice::Object* upCast(InvocationMetrics*);
1536
+ /// \endcond
1537
+ typedef ::IceInternal::Handle< InvocationMetrics> InvocationMetricsPtr;
1538
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::InvocationMetrics> InvocationMetricsPrx;
1539
+ typedef InvocationMetricsPrx InvocationMetricsPrxPtr;
1540
+ /// \cond INTERNAL
1541
+ ICE_API void _icePatchObjectPtr(InvocationMetricsPtr&, const ::Ice::ObjectPtr&);
1542
+ /// \endcond
1543
+
1544
+ class ConnectionMetrics;
1545
+ /// \cond INTERNAL
1546
+ ICE_API ::Ice::Object* upCast(ConnectionMetrics*);
1547
+ /// \endcond
1548
+ typedef ::IceInternal::Handle< ConnectionMetrics> ConnectionMetricsPtr;
1549
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::ConnectionMetrics> ConnectionMetricsPrx;
1550
+ typedef ConnectionMetricsPrx ConnectionMetricsPrxPtr;
1551
+ /// \cond INTERNAL
1552
+ ICE_API void _icePatchObjectPtr(ConnectionMetricsPtr&, const ::Ice::ObjectPtr&);
1553
+ /// \endcond
1554
+
1555
+ }
1556
+
1557
+ namespace IceMX
1558
+ {
1559
+
1560
+ /**
1561
+ * A dictionnary of strings to integers.
1562
+ */
1563
+ typedef ::std::map< ::std::string, ::Ice::Int> StringIntDict;
1564
+
1565
+ /**
1566
+ * A structure to keep track of failures associated with a given
1567
+ * metrics.
1568
+ * \headerfile Ice/Ice.h
1569
+ */
1570
+ struct MetricsFailures
1571
+ {
1572
+ /**
1573
+ * The identifier of the metrics object associated to the
1574
+ * failures.
1575
+ */
1576
+ ::std::string id;
1577
+ /**
1578
+ * The failures observed for this metrics.
1579
+ */
1580
+ ::IceMX::StringIntDict failures;
1581
+ };
1582
+
1583
+ /**
1584
+ * A sequence of {@link MetricsFailures}.
1585
+ */
1586
+ typedef ::std::vector<MetricsFailures> MetricsFailuresSeq;
1587
+
1588
+ /**
1589
+ * A metrics map is a sequence of metrics. We use a sequence here
1590
+ * instead of a map because the ID of the metrics is already included
1591
+ * in the Metrics class and using sequences of metrics objects is more
1592
+ * efficient than using dictionaries since lookup is not necessary.
1593
+ */
1594
+ typedef ::std::vector<MetricsPtr> MetricsMap;
1595
+
1596
+ /**
1597
+ * A metrics view is a dictionary of metrics map. The key of the
1598
+ * dictionary is the name of the metrics map.
1599
+ */
1600
+ typedef ::std::map< ::std::string, MetricsMap> MetricsView;
1601
+
1602
+ /**
1603
+ * Raised if a metrics view cannot be found.
1604
+ * \headerfile Ice/Ice.h
1605
+ */
1606
+ class ICE_API UnknownMetricsView : public ::Ice::UserException
1607
+ {
1608
+ public:
1609
+
1610
+ UnknownMetricsView() {}
1611
+ virtual ~UnknownMetricsView() throw();
1612
+
1613
+ /**
1614
+ * Obtains the Slice type ID of this exception.
1615
+ * @return The fully-scoped type ID.
1616
+ */
1617
+ virtual ::std::string ice_id() const;
1618
+ /**
1619
+ * Polymporphically clones this exception.
1620
+ * @return A shallow copy of this exception.
1621
+ */
1622
+ virtual UnknownMetricsView* ice_clone() const;
1623
+ /**
1624
+ * Throws this exception.
1625
+ */
1626
+ virtual void ice_throw() const;
1627
+
1628
+ protected:
1629
+
1630
+ /// \cond STREAM
1631
+ virtual void _writeImpl(::Ice::OutputStream*) const;
1632
+ virtual void _readImpl(::Ice::InputStream*);
1633
+ /// \endcond
1634
+ };
1635
+
1636
+ /// \cond INTERNAL
1637
+ static UnknownMetricsView _iceS_UnknownMetricsView_init;
1638
+ /// \endcond
1639
+
1640
+ }
1641
+
1642
+ namespace IceMX
1643
+ {
1644
+
1645
+ /**
1646
+ * Base class for asynchronous callback wrapper classes used for calls to
1647
+ * IceProxy::IceMX::MetricsAdmin::begin_getMetricsViewNames.
1648
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMetricsViewNames.
1649
+ */
1650
+ class Callback_MetricsAdmin_getMetricsViewNames_Base : public virtual ::IceInternal::CallbackBase { };
1651
+ typedef ::IceUtil::Handle< Callback_MetricsAdmin_getMetricsViewNames_Base> Callback_MetricsAdmin_getMetricsViewNamesPtr;
1652
+
1653
+ /**
1654
+ * Base class for asynchronous callback wrapper classes used for calls to
1655
+ * IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
1656
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_enableMetricsView.
1657
+ */
1658
+ class Callback_MetricsAdmin_enableMetricsView_Base : public virtual ::IceInternal::CallbackBase { };
1659
+ typedef ::IceUtil::Handle< Callback_MetricsAdmin_enableMetricsView_Base> Callback_MetricsAdmin_enableMetricsViewPtr;
1660
+
1661
+ /**
1662
+ * Base class for asynchronous callback wrapper classes used for calls to
1663
+ * IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
1664
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_disableMetricsView.
1665
+ */
1666
+ class Callback_MetricsAdmin_disableMetricsView_Base : public virtual ::IceInternal::CallbackBase { };
1667
+ typedef ::IceUtil::Handle< Callback_MetricsAdmin_disableMetricsView_Base> Callback_MetricsAdmin_disableMetricsViewPtr;
1668
+
1669
+ /**
1670
+ * Base class for asynchronous callback wrapper classes used for calls to
1671
+ * IceProxy::IceMX::MetricsAdmin::begin_getMetricsView.
1672
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMetricsView.
1673
+ */
1674
+ class Callback_MetricsAdmin_getMetricsView_Base : public virtual ::IceInternal::CallbackBase { };
1675
+ typedef ::IceUtil::Handle< Callback_MetricsAdmin_getMetricsView_Base> Callback_MetricsAdmin_getMetricsViewPtr;
1676
+
1677
+ /**
1678
+ * Base class for asynchronous callback wrapper classes used for calls to
1679
+ * IceProxy::IceMX::MetricsAdmin::begin_getMapMetricsFailures.
1680
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMapMetricsFailures.
1681
+ */
1682
+ class Callback_MetricsAdmin_getMapMetricsFailures_Base : public virtual ::IceInternal::CallbackBase { };
1683
+ typedef ::IceUtil::Handle< Callback_MetricsAdmin_getMapMetricsFailures_Base> Callback_MetricsAdmin_getMapMetricsFailuresPtr;
1684
+
1685
+ /**
1686
+ * Base class for asynchronous callback wrapper classes used for calls to
1687
+ * IceProxy::IceMX::MetricsAdmin::begin_getMetricsFailures.
1688
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMetricsFailures.
1689
+ */
1690
+ class Callback_MetricsAdmin_getMetricsFailures_Base : public virtual ::IceInternal::CallbackBase { };
1691
+ typedef ::IceUtil::Handle< Callback_MetricsAdmin_getMetricsFailures_Base> Callback_MetricsAdmin_getMetricsFailuresPtr;
1692
+
1693
+ }
1694
+
1695
+ namespace IceProxy
1696
+ {
1697
+
1698
+ namespace IceMX
1699
+ {
1700
+
1701
+ class ICE_CLASS(ICE_API) Metrics : public virtual ::Ice::Proxy<Metrics, ::IceProxy::Ice::Object>
1702
+ {
1703
+ public:
1704
+
1705
+ /**
1706
+ * Obtains the Slice type ID corresponding to this class.
1707
+ * @return A fully-scoped type ID.
1708
+ */
1709
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
1710
+
1711
+ protected:
1712
+ /// \cond INTERNAL
1713
+
1714
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
1715
+ /// \endcond
1716
+ };
1717
+
1718
+ class ICE_CLASS(ICE_API) MetricsAdmin : public virtual ::Ice::Proxy<MetricsAdmin, ::IceProxy::Ice::Object>
1719
+ {
1720
+ public:
1721
+
1722
+ /**
1723
+ * Get the names of enabled and disabled metrics.
1724
+ * @param disabledViews The names of the disabled views.
1725
+ * @param context The Context map to send with the invocation.
1726
+ * @return The name of the enabled views.
1727
+ */
1728
+ ICE_MEMBER(ICE_API) ::Ice::StringSeq getMetricsViewNames(::Ice::StringSeq& disabledViews, const ::Ice::Context& context = ::Ice::noExplicitContext)
1729
+ {
1730
+ return end_getMetricsViewNames(disabledViews, _iceI_begin_getMetricsViewNames(context, ::IceInternal::dummyCallback, 0, true));
1731
+ }
1732
+
1733
+ /**
1734
+ * Get the names of enabled and disabled metrics.
1735
+ * @param context The Context map to send with the invocation.
1736
+ * @return The asynchronous result object for the invocation.
1737
+ */
1738
+ ::Ice::AsyncResultPtr begin_getMetricsViewNames(const ::Ice::Context& context = ::Ice::noExplicitContext)
1739
+ {
1740
+ return _iceI_begin_getMetricsViewNames(context, ::IceInternal::dummyCallback, 0);
1741
+ }
1742
+
1743
+ /**
1744
+ * Get the names of enabled and disabled metrics.
1745
+ * @param cb Asynchronous callback object.
1746
+ * @param cookie User-defined data to associate with the invocation.
1747
+ * @return The asynchronous result object for the invocation.
1748
+ */
1749
+ ::Ice::AsyncResultPtr begin_getMetricsViewNames(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1750
+ {
1751
+ return _iceI_begin_getMetricsViewNames(::Ice::noExplicitContext, cb, cookie);
1752
+ }
1753
+
1754
+ /**
1755
+ * Get the names of enabled and disabled metrics.
1756
+ * @param context The Context map to send with the invocation.
1757
+ * @param cb Asynchronous callback object.
1758
+ * @param cookie User-defined data to associate with the invocation.
1759
+ * @return The asynchronous result object for the invocation.
1760
+ */
1761
+ ::Ice::AsyncResultPtr begin_getMetricsViewNames(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1762
+ {
1763
+ return _iceI_begin_getMetricsViewNames(context, cb, cookie);
1764
+ }
1765
+
1766
+ /**
1767
+ * Get the names of enabled and disabled metrics.
1768
+ * @param cb Asynchronous callback object.
1769
+ * @param cookie User-defined data to associate with the invocation.
1770
+ * @return The asynchronous result object for the invocation.
1771
+ */
1772
+ ::Ice::AsyncResultPtr begin_getMetricsViewNames(const ::IceMX::Callback_MetricsAdmin_getMetricsViewNamesPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1773
+ {
1774
+ return _iceI_begin_getMetricsViewNames(::Ice::noExplicitContext, cb, cookie);
1775
+ }
1776
+
1777
+ /**
1778
+ * Get the names of enabled and disabled metrics.
1779
+ * @param context The Context map to send with the invocation.
1780
+ * @param cb Asynchronous callback object.
1781
+ * @param cookie User-defined data to associate with the invocation.
1782
+ * @return The asynchronous result object for the invocation.
1783
+ */
1784
+ ::Ice::AsyncResultPtr begin_getMetricsViewNames(const ::Ice::Context& context, const ::IceMX::Callback_MetricsAdmin_getMetricsViewNamesPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1785
+ {
1786
+ return _iceI_begin_getMetricsViewNames(context, cb, cookie);
1787
+ }
1788
+
1789
+ /**
1790
+ * Completes an invocation of begin_getMetricsViewNames.
1791
+ * @param disabledViews The names of the disabled views.
1792
+ * @param result The asynchronous result object for the invocation.
1793
+ * @return The name of the enabled views.
1794
+ */
1795
+ ICE_MEMBER(ICE_API) ::Ice::StringSeq end_getMetricsViewNames(::Ice::StringSeq& disabledViews, const ::Ice::AsyncResultPtr& result);
1796
+ /// \cond INTERNAL
1797
+
1798
+ ICE_MEMBER(ICE_API) void _iceI_end_getMetricsViewNames(::Ice::StringSeq& iceP_disabledViews, ::Ice::StringSeq& ret, const ::Ice::AsyncResultPtr&);
1799
+ /// \endcond
1800
+
1801
+ private:
1802
+
1803
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getMetricsViewNames(const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
1804
+
1805
+ public:
1806
+
1807
+ /**
1808
+ * Enables a metrics view.
1809
+ * @param name The metrics view name.
1810
+ * @param context The Context map to send with the invocation.
1811
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
1812
+ * found.
1813
+ */
1814
+ ICE_MEMBER(ICE_API) void enableMetricsView(const ::std::string& name, const ::Ice::Context& context = ::Ice::noExplicitContext)
1815
+ {
1816
+ end_enableMetricsView(_iceI_begin_enableMetricsView(name, context, ::IceInternal::dummyCallback, 0, true));
1817
+ }
1818
+
1819
+ /**
1820
+ * Enables a metrics view.
1821
+ * @param name The metrics view name.
1822
+ * @param context The Context map to send with the invocation.
1823
+ * @return The asynchronous result object for the invocation.
1824
+ */
1825
+ ::Ice::AsyncResultPtr begin_enableMetricsView(const ::std::string& name, const ::Ice::Context& context = ::Ice::noExplicitContext)
1826
+ {
1827
+ return _iceI_begin_enableMetricsView(name, context, ::IceInternal::dummyCallback, 0);
1828
+ }
1829
+
1830
+ /**
1831
+ * Enables a metrics view.
1832
+ * @param name The metrics view name.
1833
+ * @param cb Asynchronous callback object.
1834
+ * @param cookie User-defined data to associate with the invocation.
1835
+ * @return The asynchronous result object for the invocation.
1836
+ */
1837
+ ::Ice::AsyncResultPtr begin_enableMetricsView(const ::std::string& name, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1838
+ {
1839
+ return _iceI_begin_enableMetricsView(name, ::Ice::noExplicitContext, cb, cookie);
1840
+ }
1841
+
1842
+ /**
1843
+ * Enables a metrics view.
1844
+ * @param name The metrics view name.
1845
+ * @param context The Context map to send with the invocation.
1846
+ * @param cb Asynchronous callback object.
1847
+ * @param cookie User-defined data to associate with the invocation.
1848
+ * @return The asynchronous result object for the invocation.
1849
+ */
1850
+ ::Ice::AsyncResultPtr begin_enableMetricsView(const ::std::string& name, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1851
+ {
1852
+ return _iceI_begin_enableMetricsView(name, context, cb, cookie);
1853
+ }
1854
+
1855
+ /**
1856
+ * Enables a metrics view.
1857
+ * @param name The metrics view name.
1858
+ * @param cb Asynchronous callback object.
1859
+ * @param cookie User-defined data to associate with the invocation.
1860
+ * @return The asynchronous result object for the invocation.
1861
+ */
1862
+ ::Ice::AsyncResultPtr begin_enableMetricsView(const ::std::string& name, const ::IceMX::Callback_MetricsAdmin_enableMetricsViewPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1863
+ {
1864
+ return _iceI_begin_enableMetricsView(name, ::Ice::noExplicitContext, cb, cookie);
1865
+ }
1866
+
1867
+ /**
1868
+ * Enables a metrics view.
1869
+ * @param name The metrics view name.
1870
+ * @param context The Context map to send with the invocation.
1871
+ * @param cb Asynchronous callback object.
1872
+ * @param cookie User-defined data to associate with the invocation.
1873
+ * @return The asynchronous result object for the invocation.
1874
+ */
1875
+ ::Ice::AsyncResultPtr begin_enableMetricsView(const ::std::string& name, const ::Ice::Context& context, const ::IceMX::Callback_MetricsAdmin_enableMetricsViewPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1876
+ {
1877
+ return _iceI_begin_enableMetricsView(name, context, cb, cookie);
1878
+ }
1879
+
1880
+ /**
1881
+ * Completes an invocation of begin_enableMetricsView.
1882
+ * @param result The asynchronous result object for the invocation.
1883
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
1884
+ * found.
1885
+ */
1886
+ ICE_MEMBER(ICE_API) void end_enableMetricsView(const ::Ice::AsyncResultPtr& result);
1887
+
1888
+ private:
1889
+
1890
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_enableMetricsView(const ::std::string&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
1891
+
1892
+ public:
1893
+
1894
+ /**
1895
+ * Disable a metrics view.
1896
+ * @param name The metrics view name.
1897
+ * @param context The Context map to send with the invocation.
1898
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
1899
+ * found.
1900
+ */
1901
+ ICE_MEMBER(ICE_API) void disableMetricsView(const ::std::string& name, const ::Ice::Context& context = ::Ice::noExplicitContext)
1902
+ {
1903
+ end_disableMetricsView(_iceI_begin_disableMetricsView(name, context, ::IceInternal::dummyCallback, 0, true));
1904
+ }
1905
+
1906
+ /**
1907
+ * Disable a metrics view.
1908
+ * @param name The metrics view name.
1909
+ * @param context The Context map to send with the invocation.
1910
+ * @return The asynchronous result object for the invocation.
1911
+ */
1912
+ ::Ice::AsyncResultPtr begin_disableMetricsView(const ::std::string& name, const ::Ice::Context& context = ::Ice::noExplicitContext)
1913
+ {
1914
+ return _iceI_begin_disableMetricsView(name, context, ::IceInternal::dummyCallback, 0);
1915
+ }
1916
+
1917
+ /**
1918
+ * Disable a metrics view.
1919
+ * @param name The metrics view name.
1920
+ * @param cb Asynchronous callback object.
1921
+ * @param cookie User-defined data to associate with the invocation.
1922
+ * @return The asynchronous result object for the invocation.
1923
+ */
1924
+ ::Ice::AsyncResultPtr begin_disableMetricsView(const ::std::string& name, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1925
+ {
1926
+ return _iceI_begin_disableMetricsView(name, ::Ice::noExplicitContext, cb, cookie);
1927
+ }
1928
+
1929
+ /**
1930
+ * Disable a metrics view.
1931
+ * @param name The metrics view name.
1932
+ * @param context The Context map to send with the invocation.
1933
+ * @param cb Asynchronous callback object.
1934
+ * @param cookie User-defined data to associate with the invocation.
1935
+ * @return The asynchronous result object for the invocation.
1936
+ */
1937
+ ::Ice::AsyncResultPtr begin_disableMetricsView(const ::std::string& name, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1938
+ {
1939
+ return _iceI_begin_disableMetricsView(name, context, cb, cookie);
1940
+ }
1941
+
1942
+ /**
1943
+ * Disable a metrics view.
1944
+ * @param name The metrics view name.
1945
+ * @param cb Asynchronous callback object.
1946
+ * @param cookie User-defined data to associate with the invocation.
1947
+ * @return The asynchronous result object for the invocation.
1948
+ */
1949
+ ::Ice::AsyncResultPtr begin_disableMetricsView(const ::std::string& name, const ::IceMX::Callback_MetricsAdmin_disableMetricsViewPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1950
+ {
1951
+ return _iceI_begin_disableMetricsView(name, ::Ice::noExplicitContext, cb, cookie);
1952
+ }
1953
+
1954
+ /**
1955
+ * Disable a metrics view.
1956
+ * @param name The metrics view name.
1957
+ * @param context The Context map to send with the invocation.
1958
+ * @param cb Asynchronous callback object.
1959
+ * @param cookie User-defined data to associate with the invocation.
1960
+ * @return The asynchronous result object for the invocation.
1961
+ */
1962
+ ::Ice::AsyncResultPtr begin_disableMetricsView(const ::std::string& name, const ::Ice::Context& context, const ::IceMX::Callback_MetricsAdmin_disableMetricsViewPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1963
+ {
1964
+ return _iceI_begin_disableMetricsView(name, context, cb, cookie);
1965
+ }
1966
+
1967
+ /**
1968
+ * Completes an invocation of begin_disableMetricsView.
1969
+ * @param result The asynchronous result object for the invocation.
1970
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
1971
+ * found.
1972
+ */
1973
+ ICE_MEMBER(ICE_API) void end_disableMetricsView(const ::Ice::AsyncResultPtr& result);
1974
+
1975
+ private:
1976
+
1977
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_disableMetricsView(const ::std::string&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
1978
+
1979
+ public:
1980
+
1981
+ /**
1982
+ * Get the metrics objects for the given metrics view. This
1983
+ * returns a dictionnary of metric maps for each metrics class
1984
+ * configured with the view. The timestamp allows the client to
1985
+ * compute averages which are not dependent of the invocation
1986
+ * latency for this operation.
1987
+ * @param view The name of the metrics view.
1988
+ * @param timestamp The local time of the process when the metrics
1989
+ * object were retrieved.
1990
+ * @param context The Context map to send with the invocation.
1991
+ * @return The metrics view data.
1992
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
1993
+ * found.
1994
+ */
1995
+ ICE_MEMBER(ICE_API) ::IceMX::MetricsView getMetricsView(const ::std::string& view, ::Ice::Long& timestamp, const ::Ice::Context& context = ::Ice::noExplicitContext)
1996
+ {
1997
+ return end_getMetricsView(timestamp, _iceI_begin_getMetricsView(view, context, ::IceInternal::dummyCallback, 0, true));
1998
+ }
1999
+
2000
+ /**
2001
+ * Get the metrics objects for the given metrics view. This
2002
+ * returns a dictionnary of metric maps for each metrics class
2003
+ * configured with the view. The timestamp allows the client to
2004
+ * compute averages which are not dependent of the invocation
2005
+ * latency for this operation.
2006
+ * @param view The name of the metrics view.
2007
+ * @param context The Context map to send with the invocation.
2008
+ * @return The asynchronous result object for the invocation.
2009
+ */
2010
+ ::Ice::AsyncResultPtr begin_getMetricsView(const ::std::string& view, const ::Ice::Context& context = ::Ice::noExplicitContext)
2011
+ {
2012
+ return _iceI_begin_getMetricsView(view, context, ::IceInternal::dummyCallback, 0);
2013
+ }
2014
+
2015
+ /**
2016
+ * Get the metrics objects for the given metrics view. This
2017
+ * returns a dictionnary of metric maps for each metrics class
2018
+ * configured with the view. The timestamp allows the client to
2019
+ * compute averages which are not dependent of the invocation
2020
+ * latency for this operation.
2021
+ * @param view The name of the metrics view.
2022
+ * @param cb Asynchronous callback object.
2023
+ * @param cookie User-defined data to associate with the invocation.
2024
+ * @return The asynchronous result object for the invocation.
2025
+ */
2026
+ ::Ice::AsyncResultPtr begin_getMetricsView(const ::std::string& view, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2027
+ {
2028
+ return _iceI_begin_getMetricsView(view, ::Ice::noExplicitContext, cb, cookie);
2029
+ }
2030
+
2031
+ /**
2032
+ * Get the metrics objects for the given metrics view. This
2033
+ * returns a dictionnary of metric maps for each metrics class
2034
+ * configured with the view. The timestamp allows the client to
2035
+ * compute averages which are not dependent of the invocation
2036
+ * latency for this operation.
2037
+ * @param view The name of the metrics view.
2038
+ * @param context The Context map to send with the invocation.
2039
+ * @param cb Asynchronous callback object.
2040
+ * @param cookie User-defined data to associate with the invocation.
2041
+ * @return The asynchronous result object for the invocation.
2042
+ */
2043
+ ::Ice::AsyncResultPtr begin_getMetricsView(const ::std::string& view, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2044
+ {
2045
+ return _iceI_begin_getMetricsView(view, context, cb, cookie);
2046
+ }
2047
+
2048
+ /**
2049
+ * Get the metrics objects for the given metrics view. This
2050
+ * returns a dictionnary of metric maps for each metrics class
2051
+ * configured with the view. The timestamp allows the client to
2052
+ * compute averages which are not dependent of the invocation
2053
+ * latency for this operation.
2054
+ * @param view The name of the metrics view.
2055
+ * @param cb Asynchronous callback object.
2056
+ * @param cookie User-defined data to associate with the invocation.
2057
+ * @return The asynchronous result object for the invocation.
2058
+ */
2059
+ ::Ice::AsyncResultPtr begin_getMetricsView(const ::std::string& view, const ::IceMX::Callback_MetricsAdmin_getMetricsViewPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2060
+ {
2061
+ return _iceI_begin_getMetricsView(view, ::Ice::noExplicitContext, cb, cookie);
2062
+ }
2063
+
2064
+ /**
2065
+ * Get the metrics objects for the given metrics view. This
2066
+ * returns a dictionnary of metric maps for each metrics class
2067
+ * configured with the view. The timestamp allows the client to
2068
+ * compute averages which are not dependent of the invocation
2069
+ * latency for this operation.
2070
+ * @param view The name of the metrics view.
2071
+ * @param context The Context map to send with the invocation.
2072
+ * @param cb Asynchronous callback object.
2073
+ * @param cookie User-defined data to associate with the invocation.
2074
+ * @return The asynchronous result object for the invocation.
2075
+ */
2076
+ ::Ice::AsyncResultPtr begin_getMetricsView(const ::std::string& view, const ::Ice::Context& context, const ::IceMX::Callback_MetricsAdmin_getMetricsViewPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2077
+ {
2078
+ return _iceI_begin_getMetricsView(view, context, cb, cookie);
2079
+ }
2080
+
2081
+ /**
2082
+ * Completes an invocation of begin_getMetricsView.
2083
+ * @param timestamp The local time of the process when the metrics
2084
+ * object were retrieved.
2085
+ * @param result The asynchronous result object for the invocation.
2086
+ * @return The metrics view data.
2087
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
2088
+ * found.
2089
+ */
2090
+ ICE_MEMBER(ICE_API) ::IceMX::MetricsView end_getMetricsView(::Ice::Long& timestamp, const ::Ice::AsyncResultPtr& result);
2091
+ /// \cond INTERNAL
2092
+
2093
+ ICE_MEMBER(ICE_API) void _iceI_end_getMetricsView(::Ice::Long& iceP_timestamp, ::IceMX::MetricsView& ret, const ::Ice::AsyncResultPtr&);
2094
+ /// \endcond
2095
+
2096
+ private:
2097
+
2098
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getMetricsView(const ::std::string&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
2099
+
2100
+ public:
2101
+
2102
+ /**
2103
+ * Get the metrics failures associated with the given view and map.
2104
+ * @param view The name of the metrics view.
2105
+ * @param map The name of the metrics map.
2106
+ * @param context The Context map to send with the invocation.
2107
+ * @return The metrics failures associated with the map.
2108
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
2109
+ * found.
2110
+ */
2111
+ ICE_MEMBER(ICE_API) ::IceMX::MetricsFailuresSeq getMapMetricsFailures(const ::std::string& view, const ::std::string& map, const ::Ice::Context& context = ::Ice::noExplicitContext)
2112
+ {
2113
+ return end_getMapMetricsFailures(_iceI_begin_getMapMetricsFailures(view, map, context, ::IceInternal::dummyCallback, 0, true));
2114
+ }
2115
+
2116
+ /**
2117
+ * Get the metrics failures associated with the given view and map.
2118
+ * @param view The name of the metrics view.
2119
+ * @param map The name of the metrics map.
2120
+ * @param context The Context map to send with the invocation.
2121
+ * @return The asynchronous result object for the invocation.
2122
+ */
2123
+ ::Ice::AsyncResultPtr begin_getMapMetricsFailures(const ::std::string& view, const ::std::string& map, const ::Ice::Context& context = ::Ice::noExplicitContext)
2124
+ {
2125
+ return _iceI_begin_getMapMetricsFailures(view, map, context, ::IceInternal::dummyCallback, 0);
2126
+ }
2127
+
2128
+ /**
2129
+ * Get the metrics failures associated with the given view and map.
2130
+ * @param view The name of the metrics view.
2131
+ * @param map The name of the metrics map.
2132
+ * @param cb Asynchronous callback object.
2133
+ * @param cookie User-defined data to associate with the invocation.
2134
+ * @return The asynchronous result object for the invocation.
2135
+ */
2136
+ ::Ice::AsyncResultPtr begin_getMapMetricsFailures(const ::std::string& view, const ::std::string& map, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2137
+ {
2138
+ return _iceI_begin_getMapMetricsFailures(view, map, ::Ice::noExplicitContext, cb, cookie);
2139
+ }
2140
+
2141
+ /**
2142
+ * Get the metrics failures associated with the given view and map.
2143
+ * @param view The name of the metrics view.
2144
+ * @param map The name of the metrics map.
2145
+ * @param context The Context map to send with the invocation.
2146
+ * @param cb Asynchronous callback object.
2147
+ * @param cookie User-defined data to associate with the invocation.
2148
+ * @return The asynchronous result object for the invocation.
2149
+ */
2150
+ ::Ice::AsyncResultPtr begin_getMapMetricsFailures(const ::std::string& view, const ::std::string& map, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2151
+ {
2152
+ return _iceI_begin_getMapMetricsFailures(view, map, context, cb, cookie);
2153
+ }
2154
+
2155
+ /**
2156
+ * Get the metrics failures associated with the given view and map.
2157
+ * @param view The name of the metrics view.
2158
+ * @param map The name of the metrics map.
2159
+ * @param cb Asynchronous callback object.
2160
+ * @param cookie User-defined data to associate with the invocation.
2161
+ * @return The asynchronous result object for the invocation.
2162
+ */
2163
+ ::Ice::AsyncResultPtr begin_getMapMetricsFailures(const ::std::string& view, const ::std::string& map, const ::IceMX::Callback_MetricsAdmin_getMapMetricsFailuresPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2164
+ {
2165
+ return _iceI_begin_getMapMetricsFailures(view, map, ::Ice::noExplicitContext, cb, cookie);
2166
+ }
2167
+
2168
+ /**
2169
+ * Get the metrics failures associated with the given view and map.
2170
+ * @param view The name of the metrics view.
2171
+ * @param map The name of the metrics map.
2172
+ * @param context The Context map to send with the invocation.
2173
+ * @param cb Asynchronous callback object.
2174
+ * @param cookie User-defined data to associate with the invocation.
2175
+ * @return The asynchronous result object for the invocation.
2176
+ */
2177
+ ::Ice::AsyncResultPtr begin_getMapMetricsFailures(const ::std::string& view, const ::std::string& map, const ::Ice::Context& context, const ::IceMX::Callback_MetricsAdmin_getMapMetricsFailuresPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2178
+ {
2179
+ return _iceI_begin_getMapMetricsFailures(view, map, context, cb, cookie);
2180
+ }
2181
+
2182
+ /**
2183
+ * Completes an invocation of begin_getMapMetricsFailures.
2184
+ * @param result The asynchronous result object for the invocation.
2185
+ * @return The metrics failures associated with the map.
2186
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
2187
+ * found.
2188
+ */
2189
+ ICE_MEMBER(ICE_API) ::IceMX::MetricsFailuresSeq end_getMapMetricsFailures(const ::Ice::AsyncResultPtr& result);
2190
+
2191
+ private:
2192
+
2193
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getMapMetricsFailures(const ::std::string&, const ::std::string&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
2194
+
2195
+ public:
2196
+
2197
+ /**
2198
+ * Get the metrics failure associated for the given metrics.
2199
+ * @param view The name of the metrics view.
2200
+ * @param map The name of the metrics map.
2201
+ * @param id The ID of the metrics.
2202
+ * @param context The Context map to send with the invocation.
2203
+ * @return The metrics failures associated with the metrics.
2204
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
2205
+ * found.
2206
+ */
2207
+ ICE_MEMBER(ICE_API) ::IceMX::MetricsFailures getMetricsFailures(const ::std::string& view, const ::std::string& map, const ::std::string& id, const ::Ice::Context& context = ::Ice::noExplicitContext)
2208
+ {
2209
+ return end_getMetricsFailures(_iceI_begin_getMetricsFailures(view, map, id, context, ::IceInternal::dummyCallback, 0, true));
2210
+ }
2211
+
2212
+ /**
2213
+ * Get the metrics failure associated for the given metrics.
2214
+ * @param view The name of the metrics view.
2215
+ * @param map The name of the metrics map.
2216
+ * @param id The ID of the metrics.
2217
+ * @param context The Context map to send with the invocation.
2218
+ * @return The asynchronous result object for the invocation.
2219
+ */
2220
+ ::Ice::AsyncResultPtr begin_getMetricsFailures(const ::std::string& view, const ::std::string& map, const ::std::string& id, const ::Ice::Context& context = ::Ice::noExplicitContext)
2221
+ {
2222
+ return _iceI_begin_getMetricsFailures(view, map, id, context, ::IceInternal::dummyCallback, 0);
2223
+ }
2224
+
2225
+ /**
2226
+ * Get the metrics failure associated for the given metrics.
2227
+ * @param view The name of the metrics view.
2228
+ * @param map The name of the metrics map.
2229
+ * @param id The ID of the metrics.
2230
+ * @param cb Asynchronous callback object.
2231
+ * @param cookie User-defined data to associate with the invocation.
2232
+ * @return The asynchronous result object for the invocation.
2233
+ */
2234
+ ::Ice::AsyncResultPtr begin_getMetricsFailures(const ::std::string& view, const ::std::string& map, const ::std::string& id, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2235
+ {
2236
+ return _iceI_begin_getMetricsFailures(view, map, id, ::Ice::noExplicitContext, cb, cookie);
2237
+ }
2238
+
2239
+ /**
2240
+ * Get the metrics failure associated for the given metrics.
2241
+ * @param view The name of the metrics view.
2242
+ * @param map The name of the metrics map.
2243
+ * @param id The ID of the metrics.
2244
+ * @param context The Context map to send with the invocation.
2245
+ * @param cb Asynchronous callback object.
2246
+ * @param cookie User-defined data to associate with the invocation.
2247
+ * @return The asynchronous result object for the invocation.
2248
+ */
2249
+ ::Ice::AsyncResultPtr begin_getMetricsFailures(const ::std::string& view, const ::std::string& map, const ::std::string& id, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2250
+ {
2251
+ return _iceI_begin_getMetricsFailures(view, map, id, context, cb, cookie);
2252
+ }
2253
+
2254
+ /**
2255
+ * Get the metrics failure associated for the given metrics.
2256
+ * @param view The name of the metrics view.
2257
+ * @param map The name of the metrics map.
2258
+ * @param id The ID of the metrics.
2259
+ * @param cb Asynchronous callback object.
2260
+ * @param cookie User-defined data to associate with the invocation.
2261
+ * @return The asynchronous result object for the invocation.
2262
+ */
2263
+ ::Ice::AsyncResultPtr begin_getMetricsFailures(const ::std::string& view, const ::std::string& map, const ::std::string& id, const ::IceMX::Callback_MetricsAdmin_getMetricsFailuresPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2264
+ {
2265
+ return _iceI_begin_getMetricsFailures(view, map, id, ::Ice::noExplicitContext, cb, cookie);
2266
+ }
2267
+
2268
+ /**
2269
+ * Get the metrics failure associated for the given metrics.
2270
+ * @param view The name of the metrics view.
2271
+ * @param map The name of the metrics map.
2272
+ * @param id The ID of the metrics.
2273
+ * @param context The Context map to send with the invocation.
2274
+ * @param cb Asynchronous callback object.
2275
+ * @param cookie User-defined data to associate with the invocation.
2276
+ * @return The asynchronous result object for the invocation.
2277
+ */
2278
+ ::Ice::AsyncResultPtr begin_getMetricsFailures(const ::std::string& view, const ::std::string& map, const ::std::string& id, const ::Ice::Context& context, const ::IceMX::Callback_MetricsAdmin_getMetricsFailuresPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
2279
+ {
2280
+ return _iceI_begin_getMetricsFailures(view, map, id, context, cb, cookie);
2281
+ }
2282
+
2283
+ /**
2284
+ * Completes an invocation of begin_getMetricsFailures.
2285
+ * @param result The asynchronous result object for the invocation.
2286
+ * @return The metrics failures associated with the metrics.
2287
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
2288
+ * found.
2289
+ */
2290
+ ICE_MEMBER(ICE_API) ::IceMX::MetricsFailures end_getMetricsFailures(const ::Ice::AsyncResultPtr& result);
2291
+
2292
+ private:
2293
+
2294
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getMetricsFailures(const ::std::string&, const ::std::string&, const ::std::string&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
2295
+
2296
+ public:
2297
+
2298
+ /**
2299
+ * Obtains the Slice type ID corresponding to this interface.
2300
+ * @return A fully-scoped type ID.
2301
+ */
2302
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
2303
+
2304
+ protected:
2305
+ /// \cond INTERNAL
2306
+
2307
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
2308
+ /// \endcond
2309
+ };
2310
+
2311
+ class ICE_CLASS(ICE_API) ThreadMetrics : public virtual ::Ice::Proxy<ThreadMetrics, ::IceProxy::IceMX::Metrics>
2312
+ {
2313
+ public:
2314
+
2315
+ /**
2316
+ * Obtains the Slice type ID corresponding to this class.
2317
+ * @return A fully-scoped type ID.
2318
+ */
2319
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
2320
+
2321
+ protected:
2322
+ /// \cond INTERNAL
2323
+
2324
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
2325
+ /// \endcond
2326
+ };
2327
+
2328
+ class ICE_CLASS(ICE_API) DispatchMetrics : public virtual ::Ice::Proxy<DispatchMetrics, ::IceProxy::IceMX::Metrics>
2329
+ {
2330
+ public:
2331
+
2332
+ /**
2333
+ * Obtains the Slice type ID corresponding to this class.
2334
+ * @return A fully-scoped type ID.
2335
+ */
2336
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
2337
+
2338
+ protected:
2339
+ /// \cond INTERNAL
2340
+
2341
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
2342
+ /// \endcond
2343
+ };
2344
+
2345
+ class ICE_CLASS(ICE_API) ChildInvocationMetrics : public virtual ::Ice::Proxy<ChildInvocationMetrics, ::IceProxy::IceMX::Metrics>
2346
+ {
2347
+ public:
2348
+
2349
+ /**
2350
+ * Obtains the Slice type ID corresponding to this class.
2351
+ * @return A fully-scoped type ID.
2352
+ */
2353
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
2354
+
2355
+ protected:
2356
+ /// \cond INTERNAL
2357
+
2358
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
2359
+ /// \endcond
2360
+ };
2361
+
2362
+ class ICE_CLASS(ICE_API) CollocatedMetrics : public virtual ::Ice::Proxy<CollocatedMetrics, ::IceProxy::IceMX::ChildInvocationMetrics>
2363
+ {
2364
+ public:
2365
+
2366
+ /**
2367
+ * Obtains the Slice type ID corresponding to this class.
2368
+ * @return A fully-scoped type ID.
2369
+ */
2370
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
2371
+
2372
+ protected:
2373
+ /// \cond INTERNAL
2374
+
2375
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
2376
+ /// \endcond
2377
+ };
2378
+
2379
+ class ICE_CLASS(ICE_API) RemoteMetrics : public virtual ::Ice::Proxy<RemoteMetrics, ::IceProxy::IceMX::ChildInvocationMetrics>
2380
+ {
2381
+ public:
2382
+
2383
+ /**
2384
+ * Obtains the Slice type ID corresponding to this class.
2385
+ * @return A fully-scoped type ID.
2386
+ */
2387
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
2388
+
2389
+ protected:
2390
+ /// \cond INTERNAL
2391
+
2392
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
2393
+ /// \endcond
2394
+ };
2395
+
2396
+ class ICE_CLASS(ICE_API) InvocationMetrics : public virtual ::Ice::Proxy<InvocationMetrics, ::IceProxy::IceMX::Metrics>
2397
+ {
2398
+ public:
2399
+
2400
+ /**
2401
+ * Obtains the Slice type ID corresponding to this class.
2402
+ * @return A fully-scoped type ID.
2403
+ */
2404
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
2405
+
2406
+ protected:
2407
+ /// \cond INTERNAL
2408
+
2409
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
2410
+ /// \endcond
2411
+ };
2412
+
2413
+ class ICE_CLASS(ICE_API) ConnectionMetrics : public virtual ::Ice::Proxy<ConnectionMetrics, ::IceProxy::IceMX::Metrics>
2414
+ {
2415
+ public:
2416
+
2417
+ /**
2418
+ * Obtains the Slice type ID corresponding to this class.
2419
+ * @return A fully-scoped type ID.
2420
+ */
2421
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
2422
+
2423
+ protected:
2424
+ /// \cond INTERNAL
2425
+
2426
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
2427
+ /// \endcond
2428
+ };
2429
+
2430
+ }
2431
+
2432
+ }
2433
+
2434
+ namespace IceMX
2435
+ {
2436
+
2437
+ /**
2438
+ * The base class for metrics. A metrics object represents a
2439
+ * collection of measurements associated to a given a system.
2440
+ * \headerfile Ice/Ice.h
2441
+ */
2442
+ class ICE_API Metrics : public virtual ::Ice::Object
2443
+ {
2444
+ public:
2445
+
2446
+ typedef MetricsPrx ProxyType;
2447
+ typedef MetricsPtr PointerType;
2448
+
2449
+ virtual ~Metrics();
2450
+
2451
+ /** Default constructor that assigns default values to members as specified in the Slice definition. */
2452
+ Metrics() :
2453
+ total(ICE_INT64(0)),
2454
+ current(0),
2455
+ totalLifetime(ICE_INT64(0)),
2456
+ failures(0)
2457
+ {
2458
+ }
2459
+
2460
+ /**
2461
+ * One-shot constructor to initialize all data members.
2462
+ * @param id The metrics identifier.
2463
+ * @param total The total number of objects observed by this metrics.
2464
+ * @param current The number of objects currently observed by this metrics.
2465
+ * @param totalLifetime The sum of the lifetime of each observed objects.
2466
+ * @param failures The number of failures observed.
2467
+ */
2468
+ Metrics(const ::std::string& id, ::Ice::Long total, ::Ice::Int current, ::Ice::Long totalLifetime, ::Ice::Int failures) :
2469
+ id(id),
2470
+ total(total),
2471
+ current(current),
2472
+ totalLifetime(totalLifetime),
2473
+ failures(failures)
2474
+ {
2475
+ }
2476
+
2477
+ /**
2478
+ * Polymporphically clones this object.
2479
+ * @return A shallow copy of this object.
2480
+ */
2481
+ virtual ::Ice::ObjectPtr ice_clone() const;
2482
+
2483
+ /**
2484
+ * Determines whether this object supports an interface with the given Slice type ID.
2485
+ * @param id The fully-scoped Slice type ID.
2486
+ * @param current The Current object for the invocation.
2487
+ * @return True if this object supports the interface, false, otherwise.
2488
+ */
2489
+ virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2490
+
2491
+ /**
2492
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
2493
+ * @param current The Current object for the invocation.
2494
+ * @return A list of fully-scoped type IDs.
2495
+ */
2496
+ virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2497
+
2498
+ /**
2499
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
2500
+ * @param current The Current object for the invocation.
2501
+ * @return A fully-scoped type ID.
2502
+ */
2503
+ virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2504
+
2505
+ /**
2506
+ * Obtains the Slice type ID corresponding to this class.
2507
+ * @return A fully-scoped type ID.
2508
+ */
2509
+ static const ::std::string& ice_staticId();
2510
+
2511
+ /**
2512
+ * Obtains a value factory that instantiates this class.
2513
+ * @return The value factory.
2514
+ */
2515
+ static ::Ice::ValueFactoryPtr ice_factory();
2516
+
2517
+ protected:
2518
+
2519
+ /// \cond STREAM
2520
+ virtual void _iceWriteImpl(::Ice::OutputStream*) const;
2521
+ virtual void _iceReadImpl(::Ice::InputStream*);
2522
+ /// \endcond
2523
+
2524
+ public:
2525
+
2526
+ /**
2527
+ * The metrics identifier.
2528
+ */
2529
+ ::std::string id;
2530
+ /**
2531
+ * The total number of objects observed by this metrics. This includes
2532
+ * the number of currently observed objects and the number of objects
2533
+ * observed in the past.
2534
+ */
2535
+ ::Ice::Long total;
2536
+ /**
2537
+ * The number of objects currently observed by this metrics.
2538
+ */
2539
+ ::Ice::Int current;
2540
+ /**
2541
+ * The sum of the lifetime of each observed objects. This does not
2542
+ * include the lifetime of objects which are currently observed,
2543
+ * only the objects observed in the past.
2544
+ */
2545
+ ::Ice::Long totalLifetime;
2546
+ /**
2547
+ * The number of failures observed.
2548
+ */
2549
+ ::Ice::Int failures;
2550
+ };
2551
+ /// \cond INTERNAL
2552
+ static ::Ice::ValueFactoryPtr _iceS_Metrics_init = ::IceMX::Metrics::ice_factory();
2553
+ /// \endcond
2554
+
2555
+ /// \cond INTERNAL
2556
+ inline bool operator==(const Metrics& lhs, const Metrics& rhs)
2557
+ {
2558
+ return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
2559
+ }
2560
+
2561
+ inline bool operator<(const Metrics& lhs, const Metrics& rhs)
2562
+ {
2563
+ return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
2564
+ }
2565
+ /// \endcond
2566
+
2567
+ /**
2568
+ * The metrics administrative facet interface. This interface allows
2569
+ * remote administrative clients to access metrics of an application
2570
+ * that enabled the Ice administrative facility and configured some
2571
+ * metrics views.
2572
+ * \headerfile Ice/Ice.h
2573
+ */
2574
+ class ICE_API MetricsAdmin : public virtual ::Ice::Object
2575
+ {
2576
+ public:
2577
+
2578
+ typedef MetricsAdminPrx ProxyType;
2579
+ typedef MetricsAdminPtr PointerType;
2580
+
2581
+ virtual ~MetricsAdmin();
2582
+
2583
+ /**
2584
+ * Determines whether this object supports an interface with the given Slice type ID.
2585
+ * @param id The fully-scoped Slice type ID.
2586
+ * @param current The Current object for the invocation.
2587
+ * @return True if this object supports the interface, false, otherwise.
2588
+ */
2589
+ virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2590
+
2591
+ /**
2592
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
2593
+ * @param current The Current object for the invocation.
2594
+ * @return A list of fully-scoped type IDs.
2595
+ */
2596
+ virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2597
+
2598
+ /**
2599
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
2600
+ * @param current The Current object for the invocation.
2601
+ * @return A fully-scoped type ID.
2602
+ */
2603
+ virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2604
+
2605
+ /**
2606
+ * Obtains the Slice type ID corresponding to this class.
2607
+ * @return A fully-scoped type ID.
2608
+ */
2609
+ static const ::std::string& ice_staticId();
2610
+
2611
+ /**
2612
+ * Get the names of enabled and disabled metrics.
2613
+ * @param disabledViews The names of the disabled views.
2614
+ * @param current The Current object for the invocation.
2615
+ * @return The name of the enabled views.
2616
+ */
2617
+ virtual ::Ice::StringSeq getMetricsViewNames(::Ice::StringSeq& disabledViews, const ::Ice::Current& current = ::Ice::emptyCurrent) = 0;
2618
+ /// \cond INTERNAL
2619
+ bool _iceD_getMetricsViewNames(::IceInternal::Incoming&, const ::Ice::Current&);
2620
+ /// \endcond
2621
+
2622
+ /**
2623
+ * Enables a metrics view.
2624
+ * @param name The metrics view name.
2625
+ * @param current The Current object for the invocation.
2626
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
2627
+ * found.
2628
+ */
2629
+ virtual void enableMetricsView(const ::std::string& name, const ::Ice::Current& current = ::Ice::emptyCurrent) = 0;
2630
+ /// \cond INTERNAL
2631
+ bool _iceD_enableMetricsView(::IceInternal::Incoming&, const ::Ice::Current&);
2632
+ /// \endcond
2633
+
2634
+ /**
2635
+ * Disable a metrics view.
2636
+ * @param name The metrics view name.
2637
+ * @param current The Current object for the invocation.
2638
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
2639
+ * found.
2640
+ */
2641
+ virtual void disableMetricsView(const ::std::string& name, const ::Ice::Current& current = ::Ice::emptyCurrent) = 0;
2642
+ /// \cond INTERNAL
2643
+ bool _iceD_disableMetricsView(::IceInternal::Incoming&, const ::Ice::Current&);
2644
+ /// \endcond
2645
+
2646
+ /**
2647
+ * Get the metrics objects for the given metrics view. This
2648
+ * returns a dictionnary of metric maps for each metrics class
2649
+ * configured with the view. The timestamp allows the client to
2650
+ * compute averages which are not dependent of the invocation
2651
+ * latency for this operation.
2652
+ * @param view The name of the metrics view.
2653
+ * @param timestamp The local time of the process when the metrics
2654
+ * object were retrieved.
2655
+ * @param current The Current object for the invocation.
2656
+ * @return The metrics view data.
2657
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
2658
+ * found.
2659
+ */
2660
+ virtual MetricsView getMetricsView(const ::std::string& view, ::Ice::Long& timestamp, const ::Ice::Current& current = ::Ice::emptyCurrent) = 0;
2661
+ /// \cond INTERNAL
2662
+ bool _iceD_getMetricsView(::IceInternal::Incoming&, const ::Ice::Current&);
2663
+ /// \endcond
2664
+
2665
+ /**
2666
+ * Get the metrics failures associated with the given view and map.
2667
+ * @param view The name of the metrics view.
2668
+ * @param map The name of the metrics map.
2669
+ * @param current The Current object for the invocation.
2670
+ * @return The metrics failures associated with the map.
2671
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
2672
+ * found.
2673
+ */
2674
+ virtual MetricsFailuresSeq getMapMetricsFailures(const ::std::string& view, const ::std::string& map, const ::Ice::Current& current = ::Ice::emptyCurrent) = 0;
2675
+ /// \cond INTERNAL
2676
+ bool _iceD_getMapMetricsFailures(::IceInternal::Incoming&, const ::Ice::Current&);
2677
+ /// \endcond
2678
+
2679
+ /**
2680
+ * Get the metrics failure associated for the given metrics.
2681
+ * @param view The name of the metrics view.
2682
+ * @param map The name of the metrics map.
2683
+ * @param id The ID of the metrics.
2684
+ * @param current The Current object for the invocation.
2685
+ * @return The metrics failures associated with the metrics.
2686
+ * @throws IceMX::UnknownMetricsView Raised if the metrics view cannot be
2687
+ * found.
2688
+ */
2689
+ virtual MetricsFailures getMetricsFailures(const ::std::string& view, const ::std::string& map, const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) = 0;
2690
+ /// \cond INTERNAL
2691
+ bool _iceD_getMetricsFailures(::IceInternal::Incoming&, const ::Ice::Current&);
2692
+ /// \endcond
2693
+
2694
+ /// \cond INTERNAL
2695
+ virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
2696
+ /// \endcond
2697
+
2698
+ protected:
2699
+
2700
+ /// \cond STREAM
2701
+ virtual void _iceWriteImpl(::Ice::OutputStream*) const;
2702
+ virtual void _iceReadImpl(::Ice::InputStream*);
2703
+ /// \endcond
2704
+ };
2705
+
2706
+ /// \cond INTERNAL
2707
+ inline bool operator==(const MetricsAdmin& lhs, const MetricsAdmin& rhs)
2708
+ {
2709
+ return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
2710
+ }
2711
+
2712
+ inline bool operator<(const MetricsAdmin& lhs, const MetricsAdmin& rhs)
2713
+ {
2714
+ return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
2715
+ }
2716
+ /// \endcond
2717
+
2718
+ /**
2719
+ * Provides information on the number of threads currently in use and
2720
+ * their activity.
2721
+ * \headerfile Ice/Ice.h
2722
+ */
2723
+ class ICE_API ThreadMetrics : public Metrics
2724
+ {
2725
+ public:
2726
+
2727
+ typedef ThreadMetricsPrx ProxyType;
2728
+ typedef ThreadMetricsPtr PointerType;
2729
+
2730
+ virtual ~ThreadMetrics();
2731
+
2732
+ /** Default constructor that assigns default values to members as specified in the Slice definition. */
2733
+ ThreadMetrics() :
2734
+ inUseForIO(0),
2735
+ inUseForUser(0),
2736
+ inUseForOther(0)
2737
+ {
2738
+ }
2739
+
2740
+ /**
2741
+ * One-shot constructor to initialize all data members.
2742
+ * @param id The metrics identifier.
2743
+ * @param total The total number of objects observed by this metrics.
2744
+ * @param current The number of objects currently observed by this metrics.
2745
+ * @param totalLifetime The sum of the lifetime of each observed objects.
2746
+ * @param failures The number of failures observed.
2747
+ * @param inUseForIO The number of threads which are currently performing socket read or writes.
2748
+ * @param inUseForUser The number of threads which are currently calling user code (servant dispatch, AMI callbacks, etc).
2749
+ * @param inUseForOther The number of threads which are currently performing other activities.
2750
+ */
2751
+ ThreadMetrics(const ::std::string& id, ::Ice::Long total, ::Ice::Int current, ::Ice::Long totalLifetime, ::Ice::Int failures, ::Ice::Int inUseForIO, ::Ice::Int inUseForUser, ::Ice::Int inUseForOther) :
2752
+ ::IceMX::Metrics(id, total, current, totalLifetime, failures),
2753
+ inUseForIO(inUseForIO),
2754
+ inUseForUser(inUseForUser),
2755
+ inUseForOther(inUseForOther)
2756
+ {
2757
+ }
2758
+
2759
+ /**
2760
+ * Polymporphically clones this object.
2761
+ * @return A shallow copy of this object.
2762
+ */
2763
+ virtual ::Ice::ObjectPtr ice_clone() const;
2764
+
2765
+ /**
2766
+ * Determines whether this object supports an interface with the given Slice type ID.
2767
+ * @param id The fully-scoped Slice type ID.
2768
+ * @param current The Current object for the invocation.
2769
+ * @return True if this object supports the interface, false, otherwise.
2770
+ */
2771
+ virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2772
+
2773
+ /**
2774
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
2775
+ * @param current The Current object for the invocation.
2776
+ * @return A list of fully-scoped type IDs.
2777
+ */
2778
+ virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2779
+
2780
+ /**
2781
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
2782
+ * @param current The Current object for the invocation.
2783
+ * @return A fully-scoped type ID.
2784
+ */
2785
+ virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2786
+
2787
+ /**
2788
+ * Obtains the Slice type ID corresponding to this class.
2789
+ * @return A fully-scoped type ID.
2790
+ */
2791
+ static const ::std::string& ice_staticId();
2792
+
2793
+ /**
2794
+ * Obtains a value factory that instantiates this class.
2795
+ * @return The value factory.
2796
+ */
2797
+ static ::Ice::ValueFactoryPtr ice_factory();
2798
+
2799
+ protected:
2800
+
2801
+ /// \cond STREAM
2802
+ virtual void _iceWriteImpl(::Ice::OutputStream*) const;
2803
+ virtual void _iceReadImpl(::Ice::InputStream*);
2804
+ /// \endcond
2805
+
2806
+ public:
2807
+
2808
+ /**
2809
+ * The number of threads which are currently performing socket
2810
+ * read or writes.
2811
+ */
2812
+ ::Ice::Int inUseForIO;
2813
+ /**
2814
+ * The number of threads which are currently calling user code
2815
+ * (servant dispatch, AMI callbacks, etc).
2816
+ */
2817
+ ::Ice::Int inUseForUser;
2818
+ /**
2819
+ * The number of threads which are currently performing other
2820
+ * activities. These are all other that are not counted with
2821
+ * {@link #inUseForUser} or {@link #inUseForIO}, such as DNS
2822
+ * lookups, garbage collection).
2823
+ */
2824
+ ::Ice::Int inUseForOther;
2825
+ };
2826
+ /// \cond INTERNAL
2827
+ static ::Ice::ValueFactoryPtr _iceS_ThreadMetrics_init = ::IceMX::ThreadMetrics::ice_factory();
2828
+ /// \endcond
2829
+
2830
+ /// \cond INTERNAL
2831
+ inline bool operator==(const ThreadMetrics& lhs, const ThreadMetrics& rhs)
2832
+ {
2833
+ return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
2834
+ }
2835
+
2836
+ inline bool operator<(const ThreadMetrics& lhs, const ThreadMetrics& rhs)
2837
+ {
2838
+ return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
2839
+ }
2840
+ /// \endcond
2841
+
2842
+ /**
2843
+ * Provides information on servant dispatch.
2844
+ * \headerfile Ice/Ice.h
2845
+ */
2846
+ class ICE_API DispatchMetrics : public Metrics
2847
+ {
2848
+ public:
2849
+
2850
+ typedef DispatchMetricsPrx ProxyType;
2851
+ typedef DispatchMetricsPtr PointerType;
2852
+
2853
+ virtual ~DispatchMetrics();
2854
+
2855
+ /** Default constructor that assigns default values to members as specified in the Slice definition. */
2856
+ DispatchMetrics() :
2857
+ userException(0),
2858
+ size(ICE_INT64(0)),
2859
+ replySize(ICE_INT64(0))
2860
+ {
2861
+ }
2862
+
2863
+ /**
2864
+ * One-shot constructor to initialize all data members.
2865
+ * @param id The metrics identifier.
2866
+ * @param total The total number of objects observed by this metrics.
2867
+ * @param current The number of objects currently observed by this metrics.
2868
+ * @param totalLifetime The sum of the lifetime of each observed objects.
2869
+ * @param failures The number of failures observed.
2870
+ * @param userException The number of dispatch that failed with a user exception.
2871
+ * @param size The size of the dispatch.
2872
+ * @param replySize The size of the dispatch reply.
2873
+ */
2874
+ DispatchMetrics(const ::std::string& id, ::Ice::Long total, ::Ice::Int current, ::Ice::Long totalLifetime, ::Ice::Int failures, ::Ice::Int userException, ::Ice::Long size, ::Ice::Long replySize) :
2875
+ ::IceMX::Metrics(id, total, current, totalLifetime, failures),
2876
+ userException(userException),
2877
+ size(size),
2878
+ replySize(replySize)
2879
+ {
2880
+ }
2881
+
2882
+ /**
2883
+ * Polymporphically clones this object.
2884
+ * @return A shallow copy of this object.
2885
+ */
2886
+ virtual ::Ice::ObjectPtr ice_clone() const;
2887
+
2888
+ /**
2889
+ * Determines whether this object supports an interface with the given Slice type ID.
2890
+ * @param id The fully-scoped Slice type ID.
2891
+ * @param current The Current object for the invocation.
2892
+ * @return True if this object supports the interface, false, otherwise.
2893
+ */
2894
+ virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2895
+
2896
+ /**
2897
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
2898
+ * @param current The Current object for the invocation.
2899
+ * @return A list of fully-scoped type IDs.
2900
+ */
2901
+ virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2902
+
2903
+ /**
2904
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
2905
+ * @param current The Current object for the invocation.
2906
+ * @return A fully-scoped type ID.
2907
+ */
2908
+ virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
2909
+
2910
+ /**
2911
+ * Obtains the Slice type ID corresponding to this class.
2912
+ * @return A fully-scoped type ID.
2913
+ */
2914
+ static const ::std::string& ice_staticId();
2915
+
2916
+ /**
2917
+ * Obtains a value factory that instantiates this class.
2918
+ * @return The value factory.
2919
+ */
2920
+ static ::Ice::ValueFactoryPtr ice_factory();
2921
+
2922
+ protected:
2923
+
2924
+ /// \cond STREAM
2925
+ virtual void _iceWriteImpl(::Ice::OutputStream*) const;
2926
+ virtual void _iceReadImpl(::Ice::InputStream*);
2927
+ /// \endcond
2928
+
2929
+ public:
2930
+
2931
+ /**
2932
+ * The number of dispatch that failed with a user exception.
2933
+ */
2934
+ ::Ice::Int userException;
2935
+ /**
2936
+ * The size of the dispatch. This corresponds to the size of the
2937
+ * marshalled input parameters.
2938
+ */
2939
+ ::Ice::Long size;
2940
+ /**
2941
+ * The size of the dispatch reply. This corresponds to the size of
2942
+ * the marshalled output and return parameters.
2943
+ */
2944
+ ::Ice::Long replySize;
2945
+ };
2946
+ /// \cond INTERNAL
2947
+ static ::Ice::ValueFactoryPtr _iceS_DispatchMetrics_init = ::IceMX::DispatchMetrics::ice_factory();
2948
+ /// \endcond
2949
+
2950
+ /// \cond INTERNAL
2951
+ inline bool operator==(const DispatchMetrics& lhs, const DispatchMetrics& rhs)
2952
+ {
2953
+ return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
2954
+ }
2955
+
2956
+ inline bool operator<(const DispatchMetrics& lhs, const DispatchMetrics& rhs)
2957
+ {
2958
+ return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
2959
+ }
2960
+ /// \endcond
2961
+
2962
+ /**
2963
+ * Provides information on child invocations. A child invocation is
2964
+ * either remote (sent over an Ice connection) or collocated. An
2965
+ * invocation can have multiple child invocation if it is
2966
+ * retried. Child invocation metrics are embedded within
2967
+ * {@link InvocationMetrics}.
2968
+ * \headerfile Ice/Ice.h
2969
+ */
2970
+ class ICE_API ChildInvocationMetrics : public Metrics
2971
+ {
2972
+ public:
2973
+
2974
+ typedef ChildInvocationMetricsPrx ProxyType;
2975
+ typedef ChildInvocationMetricsPtr PointerType;
2976
+
2977
+ virtual ~ChildInvocationMetrics();
2978
+
2979
+ /** Default constructor that assigns default values to members as specified in the Slice definition. */
2980
+ ChildInvocationMetrics() :
2981
+ size(ICE_INT64(0)),
2982
+ replySize(ICE_INT64(0))
2983
+ {
2984
+ }
2985
+
2986
+ /**
2987
+ * One-shot constructor to initialize all data members.
2988
+ * @param id The metrics identifier.
2989
+ * @param total The total number of objects observed by this metrics.
2990
+ * @param current The number of objects currently observed by this metrics.
2991
+ * @param totalLifetime The sum of the lifetime of each observed objects.
2992
+ * @param failures The number of failures observed.
2993
+ * @param size The size of the invocation.
2994
+ * @param replySize The size of the invocation reply.
2995
+ */
2996
+ ChildInvocationMetrics(const ::std::string& id, ::Ice::Long total, ::Ice::Int current, ::Ice::Long totalLifetime, ::Ice::Int failures, ::Ice::Long size, ::Ice::Long replySize) :
2997
+ ::IceMX::Metrics(id, total, current, totalLifetime, failures),
2998
+ size(size),
2999
+ replySize(replySize)
3000
+ {
3001
+ }
3002
+
3003
+ /**
3004
+ * Polymporphically clones this object.
3005
+ * @return A shallow copy of this object.
3006
+ */
3007
+ virtual ::Ice::ObjectPtr ice_clone() const;
3008
+
3009
+ /**
3010
+ * Determines whether this object supports an interface with the given Slice type ID.
3011
+ * @param id The fully-scoped Slice type ID.
3012
+ * @param current The Current object for the invocation.
3013
+ * @return True if this object supports the interface, false, otherwise.
3014
+ */
3015
+ virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3016
+
3017
+ /**
3018
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
3019
+ * @param current The Current object for the invocation.
3020
+ * @return A list of fully-scoped type IDs.
3021
+ */
3022
+ virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3023
+
3024
+ /**
3025
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
3026
+ * @param current The Current object for the invocation.
3027
+ * @return A fully-scoped type ID.
3028
+ */
3029
+ virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3030
+
3031
+ /**
3032
+ * Obtains the Slice type ID corresponding to this class.
3033
+ * @return A fully-scoped type ID.
3034
+ */
3035
+ static const ::std::string& ice_staticId();
3036
+
3037
+ /**
3038
+ * Obtains a value factory that instantiates this class.
3039
+ * @return The value factory.
3040
+ */
3041
+ static ::Ice::ValueFactoryPtr ice_factory();
3042
+
3043
+ protected:
3044
+
3045
+ /// \cond STREAM
3046
+ virtual void _iceWriteImpl(::Ice::OutputStream*) const;
3047
+ virtual void _iceReadImpl(::Ice::InputStream*);
3048
+ /// \endcond
3049
+
3050
+ public:
3051
+
3052
+ /**
3053
+ * The size of the invocation. This corresponds to the size of the
3054
+ * marshalled input parameters.
3055
+ */
3056
+ ::Ice::Long size;
3057
+ /**
3058
+ * The size of the invocation reply. This corresponds to the size
3059
+ * of the marshalled output and return parameters.
3060
+ */
3061
+ ::Ice::Long replySize;
3062
+ };
3063
+ /// \cond INTERNAL
3064
+ static ::Ice::ValueFactoryPtr _iceS_ChildInvocationMetrics_init = ::IceMX::ChildInvocationMetrics::ice_factory();
3065
+ /// \endcond
3066
+
3067
+ /// \cond INTERNAL
3068
+ inline bool operator==(const ChildInvocationMetrics& lhs, const ChildInvocationMetrics& rhs)
3069
+ {
3070
+ return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
3071
+ }
3072
+
3073
+ inline bool operator<(const ChildInvocationMetrics& lhs, const ChildInvocationMetrics& rhs)
3074
+ {
3075
+ return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
3076
+ }
3077
+ /// \endcond
3078
+
3079
+ /**
3080
+ * Provides information on invocations that are collocated. Collocated
3081
+ * metrics are embedded within {@link InvocationMetrics}.
3082
+ * \headerfile Ice/Ice.h
3083
+ */
3084
+ class ICE_API CollocatedMetrics : public ChildInvocationMetrics
3085
+ {
3086
+ public:
3087
+
3088
+ typedef CollocatedMetricsPrx ProxyType;
3089
+ typedef CollocatedMetricsPtr PointerType;
3090
+
3091
+ virtual ~CollocatedMetrics();
3092
+
3093
+ CollocatedMetrics()
3094
+ {
3095
+ }
3096
+
3097
+ /**
3098
+ * One-shot constructor to initialize all data members.
3099
+ * @param id The metrics identifier.
3100
+ * @param total The total number of objects observed by this metrics.
3101
+ * @param current The number of objects currently observed by this metrics.
3102
+ * @param totalLifetime The sum of the lifetime of each observed objects.
3103
+ * @param failures The number of failures observed.
3104
+ * @param size The size of the invocation.
3105
+ * @param replySize The size of the invocation reply.
3106
+ */
3107
+ CollocatedMetrics(const ::std::string& id, ::Ice::Long total, ::Ice::Int current, ::Ice::Long totalLifetime, ::Ice::Int failures, ::Ice::Long size, ::Ice::Long replySize) :
3108
+ ::IceMX::ChildInvocationMetrics(id, total, current, totalLifetime, failures, size, replySize)
3109
+ {
3110
+ }
3111
+
3112
+ /**
3113
+ * Polymporphically clones this object.
3114
+ * @return A shallow copy of this object.
3115
+ */
3116
+ virtual ::Ice::ObjectPtr ice_clone() const;
3117
+
3118
+ /**
3119
+ * Determines whether this object supports an interface with the given Slice type ID.
3120
+ * @param id The fully-scoped Slice type ID.
3121
+ * @param current The Current object for the invocation.
3122
+ * @return True if this object supports the interface, false, otherwise.
3123
+ */
3124
+ virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3125
+
3126
+ /**
3127
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
3128
+ * @param current The Current object for the invocation.
3129
+ * @return A list of fully-scoped type IDs.
3130
+ */
3131
+ virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3132
+
3133
+ /**
3134
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
3135
+ * @param current The Current object for the invocation.
3136
+ * @return A fully-scoped type ID.
3137
+ */
3138
+ virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3139
+
3140
+ /**
3141
+ * Obtains the Slice type ID corresponding to this class.
3142
+ * @return A fully-scoped type ID.
3143
+ */
3144
+ static const ::std::string& ice_staticId();
3145
+
3146
+ /**
3147
+ * Obtains a value factory that instantiates this class.
3148
+ * @return The value factory.
3149
+ */
3150
+ static ::Ice::ValueFactoryPtr ice_factory();
3151
+
3152
+ protected:
3153
+
3154
+ /// \cond STREAM
3155
+ virtual void _iceWriteImpl(::Ice::OutputStream*) const;
3156
+ virtual void _iceReadImpl(::Ice::InputStream*);
3157
+ /// \endcond
3158
+ };
3159
+ /// \cond INTERNAL
3160
+ static ::Ice::ValueFactoryPtr _iceS_CollocatedMetrics_init = ::IceMX::CollocatedMetrics::ice_factory();
3161
+ /// \endcond
3162
+
3163
+ /// \cond INTERNAL
3164
+ inline bool operator==(const CollocatedMetrics& lhs, const CollocatedMetrics& rhs)
3165
+ {
3166
+ return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
3167
+ }
3168
+
3169
+ inline bool operator<(const CollocatedMetrics& lhs, const CollocatedMetrics& rhs)
3170
+ {
3171
+ return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
3172
+ }
3173
+ /// \endcond
3174
+
3175
+ /**
3176
+ * Provides information on invocations that are specifically sent over
3177
+ * Ice connections. Remote metrics are embedded within {@link InvocationMetrics}.
3178
+ * \headerfile Ice/Ice.h
3179
+ */
3180
+ class ICE_API RemoteMetrics : public ChildInvocationMetrics
3181
+ {
3182
+ public:
3183
+
3184
+ typedef RemoteMetricsPrx ProxyType;
3185
+ typedef RemoteMetricsPtr PointerType;
3186
+
3187
+ virtual ~RemoteMetrics();
3188
+
3189
+ RemoteMetrics()
3190
+ {
3191
+ }
3192
+
3193
+ /**
3194
+ * One-shot constructor to initialize all data members.
3195
+ * @param id The metrics identifier.
3196
+ * @param total The total number of objects observed by this metrics.
3197
+ * @param current The number of objects currently observed by this metrics.
3198
+ * @param totalLifetime The sum of the lifetime of each observed objects.
3199
+ * @param failures The number of failures observed.
3200
+ * @param size The size of the invocation.
3201
+ * @param replySize The size of the invocation reply.
3202
+ */
3203
+ RemoteMetrics(const ::std::string& id, ::Ice::Long total, ::Ice::Int current, ::Ice::Long totalLifetime, ::Ice::Int failures, ::Ice::Long size, ::Ice::Long replySize) :
3204
+ ::IceMX::ChildInvocationMetrics(id, total, current, totalLifetime, failures, size, replySize)
3205
+ {
3206
+ }
3207
+
3208
+ /**
3209
+ * Polymporphically clones this object.
3210
+ * @return A shallow copy of this object.
3211
+ */
3212
+ virtual ::Ice::ObjectPtr ice_clone() const;
3213
+
3214
+ /**
3215
+ * Determines whether this object supports an interface with the given Slice type ID.
3216
+ * @param id The fully-scoped Slice type ID.
3217
+ * @param current The Current object for the invocation.
3218
+ * @return True if this object supports the interface, false, otherwise.
3219
+ */
3220
+ virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3221
+
3222
+ /**
3223
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
3224
+ * @param current The Current object for the invocation.
3225
+ * @return A list of fully-scoped type IDs.
3226
+ */
3227
+ virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3228
+
3229
+ /**
3230
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
3231
+ * @param current The Current object for the invocation.
3232
+ * @return A fully-scoped type ID.
3233
+ */
3234
+ virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3235
+
3236
+ /**
3237
+ * Obtains the Slice type ID corresponding to this class.
3238
+ * @return A fully-scoped type ID.
3239
+ */
3240
+ static const ::std::string& ice_staticId();
3241
+
3242
+ /**
3243
+ * Obtains a value factory that instantiates this class.
3244
+ * @return The value factory.
3245
+ */
3246
+ static ::Ice::ValueFactoryPtr ice_factory();
3247
+
3248
+ protected:
3249
+
3250
+ /// \cond STREAM
3251
+ virtual void _iceWriteImpl(::Ice::OutputStream*) const;
3252
+ virtual void _iceReadImpl(::Ice::InputStream*);
3253
+ /// \endcond
3254
+ };
3255
+ /// \cond INTERNAL
3256
+ static ::Ice::ValueFactoryPtr _iceS_RemoteMetrics_init = ::IceMX::RemoteMetrics::ice_factory();
3257
+ /// \endcond
3258
+
3259
+ /// \cond INTERNAL
3260
+ inline bool operator==(const RemoteMetrics& lhs, const RemoteMetrics& rhs)
3261
+ {
3262
+ return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
3263
+ }
3264
+
3265
+ inline bool operator<(const RemoteMetrics& lhs, const RemoteMetrics& rhs)
3266
+ {
3267
+ return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
3268
+ }
3269
+ /// \endcond
3270
+
3271
+ /**
3272
+ * Provide measurements for proxy invocations. Proxy invocations can
3273
+ * either be sent over the wire or be collocated.
3274
+ * \headerfile Ice/Ice.h
3275
+ */
3276
+ class ICE_API InvocationMetrics : public Metrics, public ::IceInternal::GCObject
3277
+ {
3278
+ public:
3279
+
3280
+ typedef InvocationMetricsPrx ProxyType;
3281
+ typedef InvocationMetricsPtr PointerType;
3282
+
3283
+ virtual ~InvocationMetrics();
3284
+
3285
+ /** Default constructor that assigns default values to members as specified in the Slice definition. */
3286
+ InvocationMetrics() :
3287
+ retry(0),
3288
+ userException(0)
3289
+ {
3290
+ }
3291
+
3292
+ /**
3293
+ * One-shot constructor to initialize all data members.
3294
+ * @param id The metrics identifier.
3295
+ * @param total The total number of objects observed by this metrics.
3296
+ * @param current The number of objects currently observed by this metrics.
3297
+ * @param totalLifetime The sum of the lifetime of each observed objects.
3298
+ * @param failures The number of failures observed.
3299
+ * @param retry The number of retries for the invocation(s).
3300
+ * @param userException The number of invocations that failed with a user exception.
3301
+ * @param remotes The remote invocation metrics map.
3302
+ * @param collocated The collocated invocation metrics map.
3303
+ */
3304
+ InvocationMetrics(const ::std::string& id, ::Ice::Long total, ::Ice::Int current, ::Ice::Long totalLifetime, ::Ice::Int failures, ::Ice::Int retry, ::Ice::Int userException, const ::IceMX::MetricsMap& remotes, const ::IceMX::MetricsMap& collocated) :
3305
+ ::IceMX::Metrics(id, total, current, totalLifetime, failures),
3306
+ retry(retry),
3307
+ userException(userException),
3308
+ remotes(remotes),
3309
+ collocated(collocated)
3310
+ {
3311
+ }
3312
+
3313
+ /**
3314
+ * Polymporphically clones this object.
3315
+ * @return A shallow copy of this object.
3316
+ */
3317
+ virtual ::Ice::ObjectPtr ice_clone() const;
3318
+
3319
+ /**
3320
+ * Determines whether this object supports an interface with the given Slice type ID.
3321
+ * @param id The fully-scoped Slice type ID.
3322
+ * @param current The Current object for the invocation.
3323
+ * @return True if this object supports the interface, false, otherwise.
3324
+ */
3325
+ virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3326
+
3327
+ /**
3328
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
3329
+ * @param current The Current object for the invocation.
3330
+ * @return A list of fully-scoped type IDs.
3331
+ */
3332
+ virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3333
+
3334
+ /**
3335
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
3336
+ * @param current The Current object for the invocation.
3337
+ * @return A fully-scoped type ID.
3338
+ */
3339
+ virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3340
+
3341
+ /**
3342
+ * Obtains the Slice type ID corresponding to this class.
3343
+ * @return A fully-scoped type ID.
3344
+ */
3345
+ static const ::std::string& ice_staticId();
3346
+ /// \cond INTERNAL
3347
+ virtual void _iceGcVisitMembers(::IceInternal::GCVisitor&);
3348
+ /// \endcond
3349
+
3350
+ /**
3351
+ * Obtains a value factory that instantiates this class.
3352
+ * @return The value factory.
3353
+ */
3354
+ static ::Ice::ValueFactoryPtr ice_factory();
3355
+
3356
+ protected:
3357
+
3358
+ /// \cond STREAM
3359
+ virtual void _iceWriteImpl(::Ice::OutputStream*) const;
3360
+ virtual void _iceReadImpl(::Ice::InputStream*);
3361
+ /// \endcond
3362
+
3363
+ public:
3364
+
3365
+ /**
3366
+ * The number of retries for the invocation(s).
3367
+ */
3368
+ ::Ice::Int retry;
3369
+ /**
3370
+ * The number of invocations that failed with a user exception.
3371
+ */
3372
+ ::Ice::Int userException;
3373
+ /**
3374
+ * The remote invocation metrics map.
3375
+ * @see RemoteMetrics
3376
+ */
3377
+ ::IceMX::MetricsMap remotes;
3378
+ /**
3379
+ * The collocated invocation metrics map.
3380
+ * @see CollocatedMetrics
3381
+ */
3382
+ ::IceMX::MetricsMap collocated;
3383
+ };
3384
+ /// \cond INTERNAL
3385
+ static ::Ice::ValueFactoryPtr _iceS_InvocationMetrics_init = ::IceMX::InvocationMetrics::ice_factory();
3386
+ /// \endcond
3387
+
3388
+ /// \cond INTERNAL
3389
+ inline bool operator==(const InvocationMetrics& lhs, const InvocationMetrics& rhs)
3390
+ {
3391
+ return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
3392
+ }
3393
+
3394
+ inline bool operator<(const InvocationMetrics& lhs, const InvocationMetrics& rhs)
3395
+ {
3396
+ return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
3397
+ }
3398
+ /// \endcond
3399
+
3400
+ /**
3401
+ * Provides information on the data sent and received over Ice
3402
+ * connections.
3403
+ * \headerfile Ice/Ice.h
3404
+ */
3405
+ class ICE_API ConnectionMetrics : public Metrics
3406
+ {
3407
+ public:
3408
+
3409
+ typedef ConnectionMetricsPrx ProxyType;
3410
+ typedef ConnectionMetricsPtr PointerType;
3411
+
3412
+ virtual ~ConnectionMetrics();
3413
+
3414
+ /** Default constructor that assigns default values to members as specified in the Slice definition. */
3415
+ ConnectionMetrics() :
3416
+ receivedBytes(ICE_INT64(0)),
3417
+ sentBytes(ICE_INT64(0))
3418
+ {
3419
+ }
3420
+
3421
+ /**
3422
+ * One-shot constructor to initialize all data members.
3423
+ * @param id The metrics identifier.
3424
+ * @param total The total number of objects observed by this metrics.
3425
+ * @param current The number of objects currently observed by this metrics.
3426
+ * @param totalLifetime The sum of the lifetime of each observed objects.
3427
+ * @param failures The number of failures observed.
3428
+ * @param receivedBytes The number of bytes received by the connection.
3429
+ * @param sentBytes The number of bytes sent by the connection.
3430
+ */
3431
+ ConnectionMetrics(const ::std::string& id, ::Ice::Long total, ::Ice::Int current, ::Ice::Long totalLifetime, ::Ice::Int failures, ::Ice::Long receivedBytes, ::Ice::Long sentBytes) :
3432
+ ::IceMX::Metrics(id, total, current, totalLifetime, failures),
3433
+ receivedBytes(receivedBytes),
3434
+ sentBytes(sentBytes)
3435
+ {
3436
+ }
3437
+
3438
+ /**
3439
+ * Polymporphically clones this object.
3440
+ * @return A shallow copy of this object.
3441
+ */
3442
+ virtual ::Ice::ObjectPtr ice_clone() const;
3443
+
3444
+ /**
3445
+ * Determines whether this object supports an interface with the given Slice type ID.
3446
+ * @param id The fully-scoped Slice type ID.
3447
+ * @param current The Current object for the invocation.
3448
+ * @return True if this object supports the interface, false, otherwise.
3449
+ */
3450
+ virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3451
+
3452
+ /**
3453
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
3454
+ * @param current The Current object for the invocation.
3455
+ * @return A list of fully-scoped type IDs.
3456
+ */
3457
+ virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3458
+
3459
+ /**
3460
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
3461
+ * @param current The Current object for the invocation.
3462
+ * @return A fully-scoped type ID.
3463
+ */
3464
+ virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
3465
+
3466
+ /**
3467
+ * Obtains the Slice type ID corresponding to this class.
3468
+ * @return A fully-scoped type ID.
3469
+ */
3470
+ static const ::std::string& ice_staticId();
3471
+
3472
+ /**
3473
+ * Obtains a value factory that instantiates this class.
3474
+ * @return The value factory.
3475
+ */
3476
+ static ::Ice::ValueFactoryPtr ice_factory();
3477
+
3478
+ protected:
3479
+
3480
+ /// \cond STREAM
3481
+ virtual void _iceWriteImpl(::Ice::OutputStream*) const;
3482
+ virtual void _iceReadImpl(::Ice::InputStream*);
3483
+ /// \endcond
3484
+
3485
+ public:
3486
+
3487
+ /**
3488
+ * The number of bytes received by the connection.
3489
+ */
3490
+ ::Ice::Long receivedBytes;
3491
+ /**
3492
+ * The number of bytes sent by the connection.
3493
+ */
3494
+ ::Ice::Long sentBytes;
3495
+ };
3496
+ /// \cond INTERNAL
3497
+ static ::Ice::ValueFactoryPtr _iceS_ConnectionMetrics_init = ::IceMX::ConnectionMetrics::ice_factory();
3498
+ /// \endcond
3499
+
3500
+ /// \cond INTERNAL
3501
+ inline bool operator==(const ConnectionMetrics& lhs, const ConnectionMetrics& rhs)
3502
+ {
3503
+ return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
3504
+ }
3505
+
3506
+ inline bool operator<(const ConnectionMetrics& lhs, const ConnectionMetrics& rhs)
3507
+ {
3508
+ return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
3509
+ }
3510
+ /// \endcond
3511
+
3512
+ }
3513
+
3514
+ /// \cond STREAM
3515
+ namespace Ice
3516
+ {
3517
+
3518
+ template<typename S>
3519
+ struct StreamWriter< ::IceMX::Metrics, S>
3520
+ {
3521
+ static void write(S* ostr, const ::IceMX::Metrics& v)
3522
+ {
3523
+ ostr->write(v.id);
3524
+ ostr->write(v.total);
3525
+ ostr->write(v.current);
3526
+ ostr->write(v.totalLifetime);
3527
+ ostr->write(v.failures);
3528
+ }
3529
+ };
3530
+
3531
+ template<typename S>
3532
+ struct StreamReader< ::IceMX::Metrics, S>
3533
+ {
3534
+ static void read(S* istr, ::IceMX::Metrics& v)
3535
+ {
3536
+ istr->read(v.id);
3537
+ istr->read(v.total);
3538
+ istr->read(v.current);
3539
+ istr->read(v.totalLifetime);
3540
+ istr->read(v.failures);
3541
+ }
3542
+ };
3543
+
3544
+ template<>
3545
+ struct StreamableTraits< ::IceMX::MetricsFailures>
3546
+ {
3547
+ static const StreamHelperCategory helper = StreamHelperCategoryStruct;
3548
+ static const int minWireSize = 2;
3549
+ static const bool fixedLength = false;
3550
+ };
3551
+
3552
+ template<typename S>
3553
+ struct StreamWriter< ::IceMX::MetricsFailures, S>
3554
+ {
3555
+ static void write(S* ostr, const ::IceMX::MetricsFailures& v)
3556
+ {
3557
+ ostr->write(v.id);
3558
+ ostr->write(v.failures);
3559
+ }
3560
+ };
3561
+
3562
+ template<typename S>
3563
+ struct StreamReader< ::IceMX::MetricsFailures, S>
3564
+ {
3565
+ static void read(S* istr, ::IceMX::MetricsFailures& v)
3566
+ {
3567
+ istr->read(v.id);
3568
+ istr->read(v.failures);
3569
+ }
3570
+ };
3571
+
3572
+ template<>
3573
+ struct StreamableTraits< ::IceMX::UnknownMetricsView>
3574
+ {
3575
+ static const StreamHelperCategory helper = StreamHelperCategoryUserException;
3576
+ };
3577
+
3578
+ template<typename S>
3579
+ struct StreamWriter< ::IceMX::ThreadMetrics, S>
3580
+ {
3581
+ static void write(S* ostr, const ::IceMX::ThreadMetrics& v)
3582
+ {
3583
+ ostr->write(v.inUseForIO);
3584
+ ostr->write(v.inUseForUser);
3585
+ ostr->write(v.inUseForOther);
3586
+ }
3587
+ };
3588
+
3589
+ template<typename S>
3590
+ struct StreamReader< ::IceMX::ThreadMetrics, S>
3591
+ {
3592
+ static void read(S* istr, ::IceMX::ThreadMetrics& v)
3593
+ {
3594
+ istr->read(v.inUseForIO);
3595
+ istr->read(v.inUseForUser);
3596
+ istr->read(v.inUseForOther);
3597
+ }
3598
+ };
3599
+
3600
+ template<typename S>
3601
+ struct StreamWriter< ::IceMX::DispatchMetrics, S>
3602
+ {
3603
+ static void write(S* ostr, const ::IceMX::DispatchMetrics& v)
3604
+ {
3605
+ ostr->write(v.userException);
3606
+ ostr->write(v.size);
3607
+ ostr->write(v.replySize);
3608
+ }
3609
+ };
3610
+
3611
+ template<typename S>
3612
+ struct StreamReader< ::IceMX::DispatchMetrics, S>
3613
+ {
3614
+ static void read(S* istr, ::IceMX::DispatchMetrics& v)
3615
+ {
3616
+ istr->read(v.userException);
3617
+ istr->read(v.size);
3618
+ istr->read(v.replySize);
3619
+ }
3620
+ };
3621
+
3622
+ template<typename S>
3623
+ struct StreamWriter< ::IceMX::ChildInvocationMetrics, S>
3624
+ {
3625
+ static void write(S* ostr, const ::IceMX::ChildInvocationMetrics& v)
3626
+ {
3627
+ ostr->write(v.size);
3628
+ ostr->write(v.replySize);
3629
+ }
3630
+ };
3631
+
3632
+ template<typename S>
3633
+ struct StreamReader< ::IceMX::ChildInvocationMetrics, S>
3634
+ {
3635
+ static void read(S* istr, ::IceMX::ChildInvocationMetrics& v)
3636
+ {
3637
+ istr->read(v.size);
3638
+ istr->read(v.replySize);
3639
+ }
3640
+ };
3641
+
3642
+ template<typename S>
3643
+ struct StreamWriter< ::IceMX::InvocationMetrics, S>
3644
+ {
3645
+ static void write(S* ostr, const ::IceMX::InvocationMetrics& v)
3646
+ {
3647
+ ostr->write(v.retry);
3648
+ ostr->write(v.userException);
3649
+ ostr->write(v.remotes);
3650
+ ostr->write(v.collocated);
3651
+ }
3652
+ };
3653
+
3654
+ template<typename S>
3655
+ struct StreamReader< ::IceMX::InvocationMetrics, S>
3656
+ {
3657
+ static void read(S* istr, ::IceMX::InvocationMetrics& v)
3658
+ {
3659
+ istr->read(v.retry);
3660
+ istr->read(v.userException);
3661
+ istr->read(v.remotes);
3662
+ istr->read(v.collocated);
3663
+ }
3664
+ };
3665
+
3666
+ template<typename S>
3667
+ struct StreamWriter< ::IceMX::ConnectionMetrics, S>
3668
+ {
3669
+ static void write(S* ostr, const ::IceMX::ConnectionMetrics& v)
3670
+ {
3671
+ ostr->write(v.receivedBytes);
3672
+ ostr->write(v.sentBytes);
3673
+ }
3674
+ };
3675
+
3676
+ template<typename S>
3677
+ struct StreamReader< ::IceMX::ConnectionMetrics, S>
3678
+ {
3679
+ static void read(S* istr, ::IceMX::ConnectionMetrics& v)
3680
+ {
3681
+ istr->read(v.receivedBytes);
3682
+ istr->read(v.sentBytes);
3683
+ }
3684
+ };
3685
+
3686
+ }
3687
+ /// \endcond
3688
+
3689
+ namespace IceMX
3690
+ {
3691
+
3692
+ /**
3693
+ * Type-safe asynchronous callback wrapper class used for calls to
3694
+ * IceProxy::IceMX::MetricsAdmin::begin_getMetricsViewNames.
3695
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMetricsViewNames.
3696
+ */
3697
+ template<class T>
3698
+ class CallbackNC_MetricsAdmin_getMetricsViewNames : public Callback_MetricsAdmin_getMetricsViewNames_Base, public ::IceInternal::TwowayCallbackNC<T>
3699
+ {
3700
+ public:
3701
+
3702
+ typedef IceUtil::Handle<T> TPtr;
3703
+
3704
+ typedef void (T::*Exception)(const ::Ice::Exception&);
3705
+ typedef void (T::*Sent)(bool);
3706
+ typedef void (T::*Response)(const ::Ice::StringSeq&, const ::Ice::StringSeq&);
3707
+
3708
+ CallbackNC_MetricsAdmin_getMetricsViewNames(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
3709
+ : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
3710
+ {
3711
+ }
3712
+
3713
+ /// \cond INTERNAL
3714
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
3715
+ {
3716
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
3717
+ ::Ice::StringSeq iceP_disabledViews;
3718
+ ::Ice::StringSeq ret;
3719
+ try
3720
+ {
3721
+ ret = proxy->end_getMetricsViewNames(iceP_disabledViews, result);
3722
+ }
3723
+ catch(const ::Ice::Exception& ex)
3724
+ {
3725
+ ::IceInternal::CallbackNC<T>::exception(result, ex);
3726
+ return;
3727
+ }
3728
+ if(_response)
3729
+ {
3730
+ (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_disabledViews);
3731
+ }
3732
+ }
3733
+ /// \endcond
3734
+
3735
+ private:
3736
+
3737
+ Response _response;
3738
+ };
3739
+
3740
+ /**
3741
+ * Creates a callback wrapper instance that delegates to your object.
3742
+ * @param instance The callback object.
3743
+ * @param cb The success method of the callback object.
3744
+ * @param excb The exception method of the callback object.
3745
+ * @param sentcb The sent method of the callback object.
3746
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsViewNames.
3747
+ */
3748
+ template<class T> Callback_MetricsAdmin_getMetricsViewNamesPtr
3749
+ newCallback_MetricsAdmin_getMetricsViewNames(const IceUtil::Handle<T>& instance, void (T::*cb)(const ::Ice::StringSeq&, const ::Ice::StringSeq&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
3750
+ {
3751
+ return new CallbackNC_MetricsAdmin_getMetricsViewNames<T>(instance, cb, excb, sentcb);
3752
+ }
3753
+
3754
+ /**
3755
+ * Creates a callback wrapper instance that delegates to your object.
3756
+ * @param instance The callback object.
3757
+ * @param cb The success method of the callback object.
3758
+ * @param excb The exception method of the callback object.
3759
+ * @param sentcb The sent method of the callback object.
3760
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsViewNames.
3761
+ */
3762
+ template<class T> Callback_MetricsAdmin_getMetricsViewNamesPtr
3763
+ newCallback_MetricsAdmin_getMetricsViewNames(T* instance, void (T::*cb)(const ::Ice::StringSeq&, const ::Ice::StringSeq&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
3764
+ {
3765
+ return new CallbackNC_MetricsAdmin_getMetricsViewNames<T>(instance, cb, excb, sentcb);
3766
+ }
3767
+
3768
+ /**
3769
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
3770
+ * IceProxy::IceMX::MetricsAdmin::begin_getMetricsViewNames.
3771
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMetricsViewNames.
3772
+ */
3773
+ template<class T, typename CT>
3774
+ class Callback_MetricsAdmin_getMetricsViewNames : public Callback_MetricsAdmin_getMetricsViewNames_Base, public ::IceInternal::TwowayCallback<T, CT>
3775
+ {
3776
+ public:
3777
+
3778
+ typedef IceUtil::Handle<T> TPtr;
3779
+
3780
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
3781
+ typedef void (T::*Sent)(bool , const CT&);
3782
+ typedef void (T::*Response)(const ::Ice::StringSeq&, const ::Ice::StringSeq&, const CT&);
3783
+
3784
+ Callback_MetricsAdmin_getMetricsViewNames(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
3785
+ : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
3786
+ {
3787
+ }
3788
+
3789
+ /// \cond INTERNAL
3790
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
3791
+ {
3792
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
3793
+ ::Ice::StringSeq iceP_disabledViews;
3794
+ ::Ice::StringSeq ret;
3795
+ try
3796
+ {
3797
+ ret = proxy->end_getMetricsViewNames(iceP_disabledViews, result);
3798
+ }
3799
+ catch(const ::Ice::Exception& ex)
3800
+ {
3801
+ ::IceInternal::Callback<T, CT>::exception(result, ex);
3802
+ return;
3803
+ }
3804
+ if(_response)
3805
+ {
3806
+ (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_disabledViews, CT::dynamicCast(result->getCookie()));
3807
+ }
3808
+ }
3809
+ /// \endcond
3810
+
3811
+ private:
3812
+
3813
+ Response _response;
3814
+ };
3815
+
3816
+ /**
3817
+ * Creates a callback wrapper instance that delegates to your object.
3818
+ * Use this overload when your callback methods receive a cookie value.
3819
+ * @param instance The callback object.
3820
+ * @param cb The success method of the callback object.
3821
+ * @param excb The exception method of the callback object.
3822
+ * @param sentcb The sent method of the callback object.
3823
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsViewNames.
3824
+ */
3825
+ template<class T, typename CT> Callback_MetricsAdmin_getMetricsViewNamesPtr
3826
+ newCallback_MetricsAdmin_getMetricsViewNames(const IceUtil::Handle<T>& instance, void (T::*cb)(const ::Ice::StringSeq&, const ::Ice::StringSeq&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
3827
+ {
3828
+ return new Callback_MetricsAdmin_getMetricsViewNames<T, CT>(instance, cb, excb, sentcb);
3829
+ }
3830
+
3831
+ /**
3832
+ * Creates a callback wrapper instance that delegates to your object.
3833
+ * Use this overload when your callback methods receive a cookie value.
3834
+ * @param instance The callback object.
3835
+ * @param cb The success method of the callback object.
3836
+ * @param excb The exception method of the callback object.
3837
+ * @param sentcb The sent method of the callback object.
3838
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsViewNames.
3839
+ */
3840
+ template<class T, typename CT> Callback_MetricsAdmin_getMetricsViewNamesPtr
3841
+ newCallback_MetricsAdmin_getMetricsViewNames(T* instance, void (T::*cb)(const ::Ice::StringSeq&, const ::Ice::StringSeq&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
3842
+ {
3843
+ return new Callback_MetricsAdmin_getMetricsViewNames<T, CT>(instance, cb, excb, sentcb);
3844
+ }
3845
+
3846
+ /**
3847
+ * Type-safe asynchronous callback wrapper class used for calls to
3848
+ * IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
3849
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_enableMetricsView.
3850
+ */
3851
+ template<class T>
3852
+ class CallbackNC_MetricsAdmin_enableMetricsView : public Callback_MetricsAdmin_enableMetricsView_Base, public ::IceInternal::TwowayCallbackNC<T>
3853
+ {
3854
+ public:
3855
+
3856
+ typedef IceUtil::Handle<T> TPtr;
3857
+
3858
+ typedef void (T::*Exception)(const ::Ice::Exception&);
3859
+ typedef void (T::*Sent)(bool);
3860
+ typedef void (T::*Response)();
3861
+
3862
+ CallbackNC_MetricsAdmin_enableMetricsView(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
3863
+ : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
3864
+ {
3865
+ }
3866
+
3867
+ /// \cond INTERNAL
3868
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
3869
+ {
3870
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
3871
+ try
3872
+ {
3873
+ proxy->end_enableMetricsView(result);
3874
+ }
3875
+ catch(const ::Ice::Exception& ex)
3876
+ {
3877
+ ::IceInternal::CallbackNC<T>::exception(result, ex);
3878
+ return;
3879
+ }
3880
+ if(_response)
3881
+ {
3882
+ (::IceInternal::CallbackNC<T>::_callback.get()->*_response)();
3883
+ }
3884
+ }
3885
+ /// \endcond
3886
+
3887
+ private:
3888
+
3889
+ Response _response;
3890
+ };
3891
+
3892
+ /**
3893
+ * Creates a callback wrapper instance that delegates to your object.
3894
+ * @param instance The callback object.
3895
+ * @param cb The success method of the callback object.
3896
+ * @param excb The exception method of the callback object.
3897
+ * @param sentcb The sent method of the callback object.
3898
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
3899
+ */
3900
+ template<class T> Callback_MetricsAdmin_enableMetricsViewPtr
3901
+ newCallback_MetricsAdmin_enableMetricsView(const IceUtil::Handle<T>& instance, void (T::*cb)(), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
3902
+ {
3903
+ return new CallbackNC_MetricsAdmin_enableMetricsView<T>(instance, cb, excb, sentcb);
3904
+ }
3905
+
3906
+ /**
3907
+ * Creates a callback wrapper instance that delegates to your object.
3908
+ * @param instance The callback object.
3909
+ * @param excb The exception method of the callback object.
3910
+ * @param sentcb The sent method of the callback object.
3911
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
3912
+ */
3913
+ template<class T> Callback_MetricsAdmin_enableMetricsViewPtr
3914
+ newCallback_MetricsAdmin_enableMetricsView(const IceUtil::Handle<T>& instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
3915
+ {
3916
+ return new CallbackNC_MetricsAdmin_enableMetricsView<T>(instance, 0, excb, sentcb);
3917
+ }
3918
+
3919
+ /**
3920
+ * Creates a callback wrapper instance that delegates to your object.
3921
+ * @param instance The callback object.
3922
+ * @param cb The success method of the callback object.
3923
+ * @param excb The exception method of the callback object.
3924
+ * @param sentcb The sent method of the callback object.
3925
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
3926
+ */
3927
+ template<class T> Callback_MetricsAdmin_enableMetricsViewPtr
3928
+ newCallback_MetricsAdmin_enableMetricsView(T* instance, void (T::*cb)(), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
3929
+ {
3930
+ return new CallbackNC_MetricsAdmin_enableMetricsView<T>(instance, cb, excb, sentcb);
3931
+ }
3932
+
3933
+ /**
3934
+ * Creates a callback wrapper instance that delegates to your object.
3935
+ * @param instance The callback object.
3936
+ * @param excb The exception method of the callback object.
3937
+ * @param sentcb The sent method of the callback object.
3938
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
3939
+ */
3940
+ template<class T> Callback_MetricsAdmin_enableMetricsViewPtr
3941
+ newCallback_MetricsAdmin_enableMetricsView(T* instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
3942
+ {
3943
+ return new CallbackNC_MetricsAdmin_enableMetricsView<T>(instance, 0, excb, sentcb);
3944
+ }
3945
+
3946
+ /**
3947
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
3948
+ * IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
3949
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_enableMetricsView.
3950
+ */
3951
+ template<class T, typename CT>
3952
+ class Callback_MetricsAdmin_enableMetricsView : public Callback_MetricsAdmin_enableMetricsView_Base, public ::IceInternal::TwowayCallback<T, CT>
3953
+ {
3954
+ public:
3955
+
3956
+ typedef IceUtil::Handle<T> TPtr;
3957
+
3958
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
3959
+ typedef void (T::*Sent)(bool , const CT&);
3960
+ typedef void (T::*Response)(const CT&);
3961
+
3962
+ Callback_MetricsAdmin_enableMetricsView(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
3963
+ : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
3964
+ {
3965
+ }
3966
+
3967
+ /// \cond INTERNAL
3968
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
3969
+ {
3970
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
3971
+ try
3972
+ {
3973
+ proxy->end_enableMetricsView(result);
3974
+ }
3975
+ catch(const ::Ice::Exception& ex)
3976
+ {
3977
+ ::IceInternal::Callback<T, CT>::exception(result, ex);
3978
+ return;
3979
+ }
3980
+ if(_response)
3981
+ {
3982
+ (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(CT::dynamicCast(result->getCookie()));
3983
+ }
3984
+ }
3985
+ /// \endcond
3986
+
3987
+ private:
3988
+
3989
+ Response _response;
3990
+ };
3991
+
3992
+ /**
3993
+ * Creates a callback wrapper instance that delegates to your object.
3994
+ * Use this overload when your callback methods receive a cookie value.
3995
+ * @param instance The callback object.
3996
+ * @param cb The success method of the callback object.
3997
+ * @param excb The exception method of the callback object.
3998
+ * @param sentcb The sent method of the callback object.
3999
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
4000
+ */
4001
+ template<class T, typename CT> Callback_MetricsAdmin_enableMetricsViewPtr
4002
+ newCallback_MetricsAdmin_enableMetricsView(const IceUtil::Handle<T>& instance, void (T::*cb)(const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4003
+ {
4004
+ return new Callback_MetricsAdmin_enableMetricsView<T, CT>(instance, cb, excb, sentcb);
4005
+ }
4006
+
4007
+ /**
4008
+ * Creates a callback wrapper instance that delegates to your object.
4009
+ * Use this overload when your callback methods receive a cookie value.
4010
+ * @param instance The callback object.
4011
+ * @param excb The exception method of the callback object.
4012
+ * @param sentcb The sent method of the callback object.
4013
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
4014
+ */
4015
+ template<class T, typename CT> Callback_MetricsAdmin_enableMetricsViewPtr
4016
+ newCallback_MetricsAdmin_enableMetricsView(const IceUtil::Handle<T>& instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4017
+ {
4018
+ return new Callback_MetricsAdmin_enableMetricsView<T, CT>(instance, 0, excb, sentcb);
4019
+ }
4020
+
4021
+ /**
4022
+ * Creates a callback wrapper instance that delegates to your object.
4023
+ * Use this overload when your callback methods receive a cookie value.
4024
+ * @param instance The callback object.
4025
+ * @param cb The success method of the callback object.
4026
+ * @param excb The exception method of the callback object.
4027
+ * @param sentcb The sent method of the callback object.
4028
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
4029
+ */
4030
+ template<class T, typename CT> Callback_MetricsAdmin_enableMetricsViewPtr
4031
+ newCallback_MetricsAdmin_enableMetricsView(T* instance, void (T::*cb)(const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4032
+ {
4033
+ return new Callback_MetricsAdmin_enableMetricsView<T, CT>(instance, cb, excb, sentcb);
4034
+ }
4035
+
4036
+ /**
4037
+ * Creates a callback wrapper instance that delegates to your object.
4038
+ * Use this overload when your callback methods receive a cookie value.
4039
+ * @param instance The callback object.
4040
+ * @param excb The exception method of the callback object.
4041
+ * @param sentcb The sent method of the callback object.
4042
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_enableMetricsView.
4043
+ */
4044
+ template<class T, typename CT> Callback_MetricsAdmin_enableMetricsViewPtr
4045
+ newCallback_MetricsAdmin_enableMetricsView(T* instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4046
+ {
4047
+ return new Callback_MetricsAdmin_enableMetricsView<T, CT>(instance, 0, excb, sentcb);
4048
+ }
4049
+
4050
+ /**
4051
+ * Type-safe asynchronous callback wrapper class used for calls to
4052
+ * IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
4053
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_disableMetricsView.
4054
+ */
4055
+ template<class T>
4056
+ class CallbackNC_MetricsAdmin_disableMetricsView : public Callback_MetricsAdmin_disableMetricsView_Base, public ::IceInternal::TwowayCallbackNC<T>
4057
+ {
4058
+ public:
4059
+
4060
+ typedef IceUtil::Handle<T> TPtr;
4061
+
4062
+ typedef void (T::*Exception)(const ::Ice::Exception&);
4063
+ typedef void (T::*Sent)(bool);
4064
+ typedef void (T::*Response)();
4065
+
4066
+ CallbackNC_MetricsAdmin_disableMetricsView(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
4067
+ : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
4068
+ {
4069
+ }
4070
+
4071
+ /// \cond INTERNAL
4072
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
4073
+ {
4074
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
4075
+ try
4076
+ {
4077
+ proxy->end_disableMetricsView(result);
4078
+ }
4079
+ catch(const ::Ice::Exception& ex)
4080
+ {
4081
+ ::IceInternal::CallbackNC<T>::exception(result, ex);
4082
+ return;
4083
+ }
4084
+ if(_response)
4085
+ {
4086
+ (::IceInternal::CallbackNC<T>::_callback.get()->*_response)();
4087
+ }
4088
+ }
4089
+ /// \endcond
4090
+
4091
+ private:
4092
+
4093
+ Response _response;
4094
+ };
4095
+
4096
+ /**
4097
+ * Creates a callback wrapper instance that delegates to your object.
4098
+ * @param instance The callback object.
4099
+ * @param cb The success method of the callback object.
4100
+ * @param excb The exception method of the callback object.
4101
+ * @param sentcb The sent method of the callback object.
4102
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
4103
+ */
4104
+ template<class T> Callback_MetricsAdmin_disableMetricsViewPtr
4105
+ newCallback_MetricsAdmin_disableMetricsView(const IceUtil::Handle<T>& instance, void (T::*cb)(), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
4106
+ {
4107
+ return new CallbackNC_MetricsAdmin_disableMetricsView<T>(instance, cb, excb, sentcb);
4108
+ }
4109
+
4110
+ /**
4111
+ * Creates a callback wrapper instance that delegates to your object.
4112
+ * @param instance The callback object.
4113
+ * @param excb The exception method of the callback object.
4114
+ * @param sentcb The sent method of the callback object.
4115
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
4116
+ */
4117
+ template<class T> Callback_MetricsAdmin_disableMetricsViewPtr
4118
+ newCallback_MetricsAdmin_disableMetricsView(const IceUtil::Handle<T>& instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
4119
+ {
4120
+ return new CallbackNC_MetricsAdmin_disableMetricsView<T>(instance, 0, excb, sentcb);
4121
+ }
4122
+
4123
+ /**
4124
+ * Creates a callback wrapper instance that delegates to your object.
4125
+ * @param instance The callback object.
4126
+ * @param cb The success method of the callback object.
4127
+ * @param excb The exception method of the callback object.
4128
+ * @param sentcb The sent method of the callback object.
4129
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
4130
+ */
4131
+ template<class T> Callback_MetricsAdmin_disableMetricsViewPtr
4132
+ newCallback_MetricsAdmin_disableMetricsView(T* instance, void (T::*cb)(), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
4133
+ {
4134
+ return new CallbackNC_MetricsAdmin_disableMetricsView<T>(instance, cb, excb, sentcb);
4135
+ }
4136
+
4137
+ /**
4138
+ * Creates a callback wrapper instance that delegates to your object.
4139
+ * @param instance The callback object.
4140
+ * @param excb The exception method of the callback object.
4141
+ * @param sentcb The sent method of the callback object.
4142
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
4143
+ */
4144
+ template<class T> Callback_MetricsAdmin_disableMetricsViewPtr
4145
+ newCallback_MetricsAdmin_disableMetricsView(T* instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
4146
+ {
4147
+ return new CallbackNC_MetricsAdmin_disableMetricsView<T>(instance, 0, excb, sentcb);
4148
+ }
4149
+
4150
+ /**
4151
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
4152
+ * IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
4153
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_disableMetricsView.
4154
+ */
4155
+ template<class T, typename CT>
4156
+ class Callback_MetricsAdmin_disableMetricsView : public Callback_MetricsAdmin_disableMetricsView_Base, public ::IceInternal::TwowayCallback<T, CT>
4157
+ {
4158
+ public:
4159
+
4160
+ typedef IceUtil::Handle<T> TPtr;
4161
+
4162
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
4163
+ typedef void (T::*Sent)(bool , const CT&);
4164
+ typedef void (T::*Response)(const CT&);
4165
+
4166
+ Callback_MetricsAdmin_disableMetricsView(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
4167
+ : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
4168
+ {
4169
+ }
4170
+
4171
+ /// \cond INTERNAL
4172
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
4173
+ {
4174
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
4175
+ try
4176
+ {
4177
+ proxy->end_disableMetricsView(result);
4178
+ }
4179
+ catch(const ::Ice::Exception& ex)
4180
+ {
4181
+ ::IceInternal::Callback<T, CT>::exception(result, ex);
4182
+ return;
4183
+ }
4184
+ if(_response)
4185
+ {
4186
+ (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(CT::dynamicCast(result->getCookie()));
4187
+ }
4188
+ }
4189
+ /// \endcond
4190
+
4191
+ private:
4192
+
4193
+ Response _response;
4194
+ };
4195
+
4196
+ /**
4197
+ * Creates a callback wrapper instance that delegates to your object.
4198
+ * Use this overload when your callback methods receive a cookie value.
4199
+ * @param instance The callback object.
4200
+ * @param cb The success method of the callback object.
4201
+ * @param excb The exception method of the callback object.
4202
+ * @param sentcb The sent method of the callback object.
4203
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
4204
+ */
4205
+ template<class T, typename CT> Callback_MetricsAdmin_disableMetricsViewPtr
4206
+ newCallback_MetricsAdmin_disableMetricsView(const IceUtil::Handle<T>& instance, void (T::*cb)(const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4207
+ {
4208
+ return new Callback_MetricsAdmin_disableMetricsView<T, CT>(instance, cb, excb, sentcb);
4209
+ }
4210
+
4211
+ /**
4212
+ * Creates a callback wrapper instance that delegates to your object.
4213
+ * Use this overload when your callback methods receive a cookie value.
4214
+ * @param instance The callback object.
4215
+ * @param excb The exception method of the callback object.
4216
+ * @param sentcb The sent method of the callback object.
4217
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
4218
+ */
4219
+ template<class T, typename CT> Callback_MetricsAdmin_disableMetricsViewPtr
4220
+ newCallback_MetricsAdmin_disableMetricsView(const IceUtil::Handle<T>& instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4221
+ {
4222
+ return new Callback_MetricsAdmin_disableMetricsView<T, CT>(instance, 0, excb, sentcb);
4223
+ }
4224
+
4225
+ /**
4226
+ * Creates a callback wrapper instance that delegates to your object.
4227
+ * Use this overload when your callback methods receive a cookie value.
4228
+ * @param instance The callback object.
4229
+ * @param cb The success method of the callback object.
4230
+ * @param excb The exception method of the callback object.
4231
+ * @param sentcb The sent method of the callback object.
4232
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
4233
+ */
4234
+ template<class T, typename CT> Callback_MetricsAdmin_disableMetricsViewPtr
4235
+ newCallback_MetricsAdmin_disableMetricsView(T* instance, void (T::*cb)(const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4236
+ {
4237
+ return new Callback_MetricsAdmin_disableMetricsView<T, CT>(instance, cb, excb, sentcb);
4238
+ }
4239
+
4240
+ /**
4241
+ * Creates a callback wrapper instance that delegates to your object.
4242
+ * Use this overload when your callback methods receive a cookie value.
4243
+ * @param instance The callback object.
4244
+ * @param excb The exception method of the callback object.
4245
+ * @param sentcb The sent method of the callback object.
4246
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_disableMetricsView.
4247
+ */
4248
+ template<class T, typename CT> Callback_MetricsAdmin_disableMetricsViewPtr
4249
+ newCallback_MetricsAdmin_disableMetricsView(T* instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4250
+ {
4251
+ return new Callback_MetricsAdmin_disableMetricsView<T, CT>(instance, 0, excb, sentcb);
4252
+ }
4253
+
4254
+ /**
4255
+ * Type-safe asynchronous callback wrapper class used for calls to
4256
+ * IceProxy::IceMX::MetricsAdmin::begin_getMetricsView.
4257
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMetricsView.
4258
+ */
4259
+ template<class T>
4260
+ class CallbackNC_MetricsAdmin_getMetricsView : public Callback_MetricsAdmin_getMetricsView_Base, public ::IceInternal::TwowayCallbackNC<T>
4261
+ {
4262
+ public:
4263
+
4264
+ typedef IceUtil::Handle<T> TPtr;
4265
+
4266
+ typedef void (T::*Exception)(const ::Ice::Exception&);
4267
+ typedef void (T::*Sent)(bool);
4268
+ typedef void (T::*Response)(const MetricsView&, ::Ice::Long);
4269
+
4270
+ CallbackNC_MetricsAdmin_getMetricsView(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
4271
+ : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
4272
+ {
4273
+ }
4274
+
4275
+ /// \cond INTERNAL
4276
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
4277
+ {
4278
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
4279
+ ::Ice::Long iceP_timestamp;
4280
+ MetricsView ret;
4281
+ try
4282
+ {
4283
+ ret = proxy->end_getMetricsView(iceP_timestamp, result);
4284
+ }
4285
+ catch(const ::Ice::Exception& ex)
4286
+ {
4287
+ ::IceInternal::CallbackNC<T>::exception(result, ex);
4288
+ return;
4289
+ }
4290
+ if(_response)
4291
+ {
4292
+ (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_timestamp);
4293
+ }
4294
+ }
4295
+ /// \endcond
4296
+
4297
+ private:
4298
+
4299
+ Response _response;
4300
+ };
4301
+
4302
+ /**
4303
+ * Creates a callback wrapper instance that delegates to your object.
4304
+ * @param instance The callback object.
4305
+ * @param cb The success method of the callback object.
4306
+ * @param excb The exception method of the callback object.
4307
+ * @param sentcb The sent method of the callback object.
4308
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsView.
4309
+ */
4310
+ template<class T> Callback_MetricsAdmin_getMetricsViewPtr
4311
+ newCallback_MetricsAdmin_getMetricsView(const IceUtil::Handle<T>& instance, void (T::*cb)(const MetricsView&, ::Ice::Long), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
4312
+ {
4313
+ return new CallbackNC_MetricsAdmin_getMetricsView<T>(instance, cb, excb, sentcb);
4314
+ }
4315
+
4316
+ /**
4317
+ * Creates a callback wrapper instance that delegates to your object.
4318
+ * @param instance The callback object.
4319
+ * @param cb The success method of the callback object.
4320
+ * @param excb The exception method of the callback object.
4321
+ * @param sentcb The sent method of the callback object.
4322
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsView.
4323
+ */
4324
+ template<class T> Callback_MetricsAdmin_getMetricsViewPtr
4325
+ newCallback_MetricsAdmin_getMetricsView(T* instance, void (T::*cb)(const MetricsView&, ::Ice::Long), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
4326
+ {
4327
+ return new CallbackNC_MetricsAdmin_getMetricsView<T>(instance, cb, excb, sentcb);
4328
+ }
4329
+
4330
+ /**
4331
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
4332
+ * IceProxy::IceMX::MetricsAdmin::begin_getMetricsView.
4333
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMetricsView.
4334
+ */
4335
+ template<class T, typename CT>
4336
+ class Callback_MetricsAdmin_getMetricsView : public Callback_MetricsAdmin_getMetricsView_Base, public ::IceInternal::TwowayCallback<T, CT>
4337
+ {
4338
+ public:
4339
+
4340
+ typedef IceUtil::Handle<T> TPtr;
4341
+
4342
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
4343
+ typedef void (T::*Sent)(bool , const CT&);
4344
+ typedef void (T::*Response)(const MetricsView&, ::Ice::Long, const CT&);
4345
+
4346
+ Callback_MetricsAdmin_getMetricsView(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
4347
+ : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
4348
+ {
4349
+ }
4350
+
4351
+ /// \cond INTERNAL
4352
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
4353
+ {
4354
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
4355
+ ::Ice::Long iceP_timestamp;
4356
+ MetricsView ret;
4357
+ try
4358
+ {
4359
+ ret = proxy->end_getMetricsView(iceP_timestamp, result);
4360
+ }
4361
+ catch(const ::Ice::Exception& ex)
4362
+ {
4363
+ ::IceInternal::Callback<T, CT>::exception(result, ex);
4364
+ return;
4365
+ }
4366
+ if(_response)
4367
+ {
4368
+ (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_timestamp, CT::dynamicCast(result->getCookie()));
4369
+ }
4370
+ }
4371
+ /// \endcond
4372
+
4373
+ private:
4374
+
4375
+ Response _response;
4376
+ };
4377
+
4378
+ /**
4379
+ * Creates a callback wrapper instance that delegates to your object.
4380
+ * Use this overload when your callback methods receive a cookie value.
4381
+ * @param instance The callback object.
4382
+ * @param cb The success method of the callback object.
4383
+ * @param excb The exception method of the callback object.
4384
+ * @param sentcb The sent method of the callback object.
4385
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsView.
4386
+ */
4387
+ template<class T, typename CT> Callback_MetricsAdmin_getMetricsViewPtr
4388
+ newCallback_MetricsAdmin_getMetricsView(const IceUtil::Handle<T>& instance, void (T::*cb)(const MetricsView&, ::Ice::Long, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4389
+ {
4390
+ return new Callback_MetricsAdmin_getMetricsView<T, CT>(instance, cb, excb, sentcb);
4391
+ }
4392
+
4393
+ /**
4394
+ * Creates a callback wrapper instance that delegates to your object.
4395
+ * Use this overload when your callback methods receive a cookie value.
4396
+ * @param instance The callback object.
4397
+ * @param cb The success method of the callback object.
4398
+ * @param excb The exception method of the callback object.
4399
+ * @param sentcb The sent method of the callback object.
4400
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsView.
4401
+ */
4402
+ template<class T, typename CT> Callback_MetricsAdmin_getMetricsViewPtr
4403
+ newCallback_MetricsAdmin_getMetricsView(T* instance, void (T::*cb)(const MetricsView&, ::Ice::Long, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4404
+ {
4405
+ return new Callback_MetricsAdmin_getMetricsView<T, CT>(instance, cb, excb, sentcb);
4406
+ }
4407
+
4408
+ /**
4409
+ * Type-safe asynchronous callback wrapper class used for calls to
4410
+ * IceProxy::IceMX::MetricsAdmin::begin_getMapMetricsFailures.
4411
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMapMetricsFailures.
4412
+ */
4413
+ template<class T>
4414
+ class CallbackNC_MetricsAdmin_getMapMetricsFailures : public Callback_MetricsAdmin_getMapMetricsFailures_Base, public ::IceInternal::TwowayCallbackNC<T>
4415
+ {
4416
+ public:
4417
+
4418
+ typedef IceUtil::Handle<T> TPtr;
4419
+
4420
+ typedef void (T::*Exception)(const ::Ice::Exception&);
4421
+ typedef void (T::*Sent)(bool);
4422
+ typedef void (T::*Response)(const MetricsFailuresSeq&);
4423
+
4424
+ CallbackNC_MetricsAdmin_getMapMetricsFailures(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
4425
+ : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
4426
+ {
4427
+ }
4428
+
4429
+ /// \cond INTERNAL
4430
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
4431
+ {
4432
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
4433
+ MetricsFailuresSeq ret;
4434
+ try
4435
+ {
4436
+ ret = proxy->end_getMapMetricsFailures(result);
4437
+ }
4438
+ catch(const ::Ice::Exception& ex)
4439
+ {
4440
+ ::IceInternal::CallbackNC<T>::exception(result, ex);
4441
+ return;
4442
+ }
4443
+ if(_response)
4444
+ {
4445
+ (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
4446
+ }
4447
+ }
4448
+ /// \endcond
4449
+
4450
+ private:
4451
+
4452
+ Response _response;
4453
+ };
4454
+
4455
+ /**
4456
+ * Creates a callback wrapper instance that delegates to your object.
4457
+ * @param instance The callback object.
4458
+ * @param cb The success method of the callback object.
4459
+ * @param excb The exception method of the callback object.
4460
+ * @param sentcb The sent method of the callback object.
4461
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMapMetricsFailures.
4462
+ */
4463
+ template<class T> Callback_MetricsAdmin_getMapMetricsFailuresPtr
4464
+ newCallback_MetricsAdmin_getMapMetricsFailures(const IceUtil::Handle<T>& instance, void (T::*cb)(const MetricsFailuresSeq&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
4465
+ {
4466
+ return new CallbackNC_MetricsAdmin_getMapMetricsFailures<T>(instance, cb, excb, sentcb);
4467
+ }
4468
+
4469
+ /**
4470
+ * Creates a callback wrapper instance that delegates to your object.
4471
+ * @param instance The callback object.
4472
+ * @param cb The success method of the callback object.
4473
+ * @param excb The exception method of the callback object.
4474
+ * @param sentcb The sent method of the callback object.
4475
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMapMetricsFailures.
4476
+ */
4477
+ template<class T> Callback_MetricsAdmin_getMapMetricsFailuresPtr
4478
+ newCallback_MetricsAdmin_getMapMetricsFailures(T* instance, void (T::*cb)(const MetricsFailuresSeq&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
4479
+ {
4480
+ return new CallbackNC_MetricsAdmin_getMapMetricsFailures<T>(instance, cb, excb, sentcb);
4481
+ }
4482
+
4483
+ /**
4484
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
4485
+ * IceProxy::IceMX::MetricsAdmin::begin_getMapMetricsFailures.
4486
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMapMetricsFailures.
4487
+ */
4488
+ template<class T, typename CT>
4489
+ class Callback_MetricsAdmin_getMapMetricsFailures : public Callback_MetricsAdmin_getMapMetricsFailures_Base, public ::IceInternal::TwowayCallback<T, CT>
4490
+ {
4491
+ public:
4492
+
4493
+ typedef IceUtil::Handle<T> TPtr;
4494
+
4495
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
4496
+ typedef void (T::*Sent)(bool , const CT&);
4497
+ typedef void (T::*Response)(const MetricsFailuresSeq&, const CT&);
4498
+
4499
+ Callback_MetricsAdmin_getMapMetricsFailures(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
4500
+ : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
4501
+ {
4502
+ }
4503
+
4504
+ /// \cond INTERNAL
4505
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
4506
+ {
4507
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
4508
+ MetricsFailuresSeq ret;
4509
+ try
4510
+ {
4511
+ ret = proxy->end_getMapMetricsFailures(result);
4512
+ }
4513
+ catch(const ::Ice::Exception& ex)
4514
+ {
4515
+ ::IceInternal::Callback<T, CT>::exception(result, ex);
4516
+ return;
4517
+ }
4518
+ if(_response)
4519
+ {
4520
+ (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
4521
+ }
4522
+ }
4523
+ /// \endcond
4524
+
4525
+ private:
4526
+
4527
+ Response _response;
4528
+ };
4529
+
4530
+ /**
4531
+ * Creates a callback wrapper instance that delegates to your object.
4532
+ * Use this overload when your callback methods receive a cookie value.
4533
+ * @param instance The callback object.
4534
+ * @param cb The success method of the callback object.
4535
+ * @param excb The exception method of the callback object.
4536
+ * @param sentcb The sent method of the callback object.
4537
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMapMetricsFailures.
4538
+ */
4539
+ template<class T, typename CT> Callback_MetricsAdmin_getMapMetricsFailuresPtr
4540
+ newCallback_MetricsAdmin_getMapMetricsFailures(const IceUtil::Handle<T>& instance, void (T::*cb)(const MetricsFailuresSeq&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4541
+ {
4542
+ return new Callback_MetricsAdmin_getMapMetricsFailures<T, CT>(instance, cb, excb, sentcb);
4543
+ }
4544
+
4545
+ /**
4546
+ * Creates a callback wrapper instance that delegates to your object.
4547
+ * Use this overload when your callback methods receive a cookie value.
4548
+ * @param instance The callback object.
4549
+ * @param cb The success method of the callback object.
4550
+ * @param excb The exception method of the callback object.
4551
+ * @param sentcb The sent method of the callback object.
4552
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMapMetricsFailures.
4553
+ */
4554
+ template<class T, typename CT> Callback_MetricsAdmin_getMapMetricsFailuresPtr
4555
+ newCallback_MetricsAdmin_getMapMetricsFailures(T* instance, void (T::*cb)(const MetricsFailuresSeq&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4556
+ {
4557
+ return new Callback_MetricsAdmin_getMapMetricsFailures<T, CT>(instance, cb, excb, sentcb);
4558
+ }
4559
+
4560
+ /**
4561
+ * Type-safe asynchronous callback wrapper class used for calls to
4562
+ * IceProxy::IceMX::MetricsAdmin::begin_getMetricsFailures.
4563
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMetricsFailures.
4564
+ */
4565
+ template<class T>
4566
+ class CallbackNC_MetricsAdmin_getMetricsFailures : public Callback_MetricsAdmin_getMetricsFailures_Base, public ::IceInternal::TwowayCallbackNC<T>
4567
+ {
4568
+ public:
4569
+
4570
+ typedef IceUtil::Handle<T> TPtr;
4571
+
4572
+ typedef void (T::*Exception)(const ::Ice::Exception&);
4573
+ typedef void (T::*Sent)(bool);
4574
+ typedef void (T::*Response)(const MetricsFailures&);
4575
+
4576
+ CallbackNC_MetricsAdmin_getMetricsFailures(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
4577
+ : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
4578
+ {
4579
+ }
4580
+
4581
+ /// \cond INTERNAL
4582
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
4583
+ {
4584
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
4585
+ MetricsFailures ret;
4586
+ try
4587
+ {
4588
+ ret = proxy->end_getMetricsFailures(result);
4589
+ }
4590
+ catch(const ::Ice::Exception& ex)
4591
+ {
4592
+ ::IceInternal::CallbackNC<T>::exception(result, ex);
4593
+ return;
4594
+ }
4595
+ if(_response)
4596
+ {
4597
+ (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
4598
+ }
4599
+ }
4600
+ /// \endcond
4601
+
4602
+ private:
4603
+
4604
+ Response _response;
4605
+ };
4606
+
4607
+ /**
4608
+ * Creates a callback wrapper instance that delegates to your object.
4609
+ * @param instance The callback object.
4610
+ * @param cb The success method of the callback object.
4611
+ * @param excb The exception method of the callback object.
4612
+ * @param sentcb The sent method of the callback object.
4613
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsFailures.
4614
+ */
4615
+ template<class T> Callback_MetricsAdmin_getMetricsFailuresPtr
4616
+ newCallback_MetricsAdmin_getMetricsFailures(const IceUtil::Handle<T>& instance, void (T::*cb)(const MetricsFailures&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
4617
+ {
4618
+ return new CallbackNC_MetricsAdmin_getMetricsFailures<T>(instance, cb, excb, sentcb);
4619
+ }
4620
+
4621
+ /**
4622
+ * Creates a callback wrapper instance that delegates to your object.
4623
+ * @param instance The callback object.
4624
+ * @param cb The success method of the callback object.
4625
+ * @param excb The exception method of the callback object.
4626
+ * @param sentcb The sent method of the callback object.
4627
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsFailures.
4628
+ */
4629
+ template<class T> Callback_MetricsAdmin_getMetricsFailuresPtr
4630
+ newCallback_MetricsAdmin_getMetricsFailures(T* instance, void (T::*cb)(const MetricsFailures&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
4631
+ {
4632
+ return new CallbackNC_MetricsAdmin_getMetricsFailures<T>(instance, cb, excb, sentcb);
4633
+ }
4634
+
4635
+ /**
4636
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
4637
+ * IceProxy::IceMX::MetricsAdmin::begin_getMetricsFailures.
4638
+ * Create a wrapper instance by calling ::IceMX::newCallback_MetricsAdmin_getMetricsFailures.
4639
+ */
4640
+ template<class T, typename CT>
4641
+ class Callback_MetricsAdmin_getMetricsFailures : public Callback_MetricsAdmin_getMetricsFailures_Base, public ::IceInternal::TwowayCallback<T, CT>
4642
+ {
4643
+ public:
4644
+
4645
+ typedef IceUtil::Handle<T> TPtr;
4646
+
4647
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
4648
+ typedef void (T::*Sent)(bool , const CT&);
4649
+ typedef void (T::*Response)(const MetricsFailures&, const CT&);
4650
+
4651
+ Callback_MetricsAdmin_getMetricsFailures(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
4652
+ : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
4653
+ {
4654
+ }
4655
+
4656
+ /// \cond INTERNAL
4657
+ virtual void completed(const ::Ice::AsyncResultPtr& result) const
4658
+ {
4659
+ MetricsAdminPrx proxy = MetricsAdminPrx::uncheckedCast(result->getProxy());
4660
+ MetricsFailures ret;
4661
+ try
4662
+ {
4663
+ ret = proxy->end_getMetricsFailures(result);
4664
+ }
4665
+ catch(const ::Ice::Exception& ex)
4666
+ {
4667
+ ::IceInternal::Callback<T, CT>::exception(result, ex);
4668
+ return;
4669
+ }
4670
+ if(_response)
4671
+ {
4672
+ (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
4673
+ }
4674
+ }
4675
+ /// \endcond
4676
+
4677
+ private:
4678
+
4679
+ Response _response;
4680
+ };
4681
+
4682
+ /**
4683
+ * Creates a callback wrapper instance that delegates to your object.
4684
+ * Use this overload when your callback methods receive a cookie value.
4685
+ * @param instance The callback object.
4686
+ * @param cb The success method of the callback object.
4687
+ * @param excb The exception method of the callback object.
4688
+ * @param sentcb The sent method of the callback object.
4689
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsFailures.
4690
+ */
4691
+ template<class T, typename CT> Callback_MetricsAdmin_getMetricsFailuresPtr
4692
+ newCallback_MetricsAdmin_getMetricsFailures(const IceUtil::Handle<T>& instance, void (T::*cb)(const MetricsFailures&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4693
+ {
4694
+ return new Callback_MetricsAdmin_getMetricsFailures<T, CT>(instance, cb, excb, sentcb);
4695
+ }
4696
+
4697
+ /**
4698
+ * Creates a callback wrapper instance that delegates to your object.
4699
+ * Use this overload when your callback methods receive a cookie value.
4700
+ * @param instance The callback object.
4701
+ * @param cb The success method of the callback object.
4702
+ * @param excb The exception method of the callback object.
4703
+ * @param sentcb The sent method of the callback object.
4704
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::IceMX::MetricsAdmin::begin_getMetricsFailures.
4705
+ */
4706
+ template<class T, typename CT> Callback_MetricsAdmin_getMetricsFailuresPtr
4707
+ newCallback_MetricsAdmin_getMetricsFailures(T* instance, void (T::*cb)(const MetricsFailures&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
4708
+ {
4709
+ return new Callback_MetricsAdmin_getMetricsFailures<T, CT>(instance, cb, excb, sentcb);
4710
+ }
4711
+
4712
+ }
4713
+
4714
+ #endif
4715
+
4716
+ #include <IceUtil/PopDisableWarnings.h>
4717
+ #endif