zeroc-ice 3.7.9.1 → 3.7.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (994) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Connection.cpp +536 -0
  3. data/dist/IceRuby/Endpoint.cpp +344 -0
  4. data/dist/IceRuby/ImplicitContext.cpp +148 -0
  5. data/dist/IceRuby/Logger.cpp +151 -0
  6. data/dist/IceRuby/Operation.cpp +665 -0
  7. data/dist/IceRuby/Properties.cpp +369 -0
  8. data/dist/IceRuby/Types.cpp +3336 -0
  9. data/dist/IceRuby/Types.h +604 -0
  10. data/dist/IceRuby/ValueFactoryManager.cpp +445 -0
  11. data/dist/ice/cpp/include/Ice/Config.h +76 -0
  12. data/dist/ice/cpp/include/Ice/ConsoleUtil.h +23 -0
  13. data/dist/ice/cpp/include/Ice/ExceptionHelpers.h +74 -0
  14. data/dist/ice/cpp/include/Ice/Ice.h +55 -0
  15. data/dist/ice/cpp/include/Ice/Initialize.h +957 -0
  16. data/dist/ice/cpp/include/Ice/MetricsObserverI.h +669 -0
  17. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +868 -0
  18. data/dist/ice/cpp/include/Ice/Proxy.h +5171 -0
  19. data/dist/ice/cpp/include/Ice/SHA1.h +40 -0
  20. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +90 -0
  21. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +1889 -0
  22. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +1197 -0
  23. data/dist/ice/cpp/include/IceSSL/IceSSL.h +24 -0
  24. data/dist/ice/cpp/include/IceUtil/Cond.h +317 -0
  25. data/dist/ice/cpp/include/IceUtil/Config.h +392 -0
  26. data/dist/ice/cpp/include/IceUtil/ConsoleUtil.h +92 -0
  27. data/dist/ice/cpp/include/IceUtil/CtrlCHandler.h +96 -0
  28. data/dist/ice/cpp/include/IceUtil/FileUtil.h +140 -0
  29. data/dist/ice/cpp/include/IceUtil/IceUtil.h +40 -0
  30. data/dist/ice/cpp/include/IceUtil/InputUtil.h +42 -0
  31. data/dist/ice/cpp/include/IceUtil/Mutex.h +349 -0
  32. data/dist/ice/cpp/include/IceUtil/ResourceConfig.h +37 -0
  33. data/dist/ice/cpp/include/IceUtil/Thread.h +160 -0
  34. data/dist/ice/cpp/include/IceUtil/Timer.h +153 -0
  35. data/dist/ice/cpp/include/generated/Glacier2/Metrics.h +475 -0
  36. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifier.h +1430 -0
  37. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifierF.h +147 -0
  38. data/dist/ice/cpp/include/generated/Glacier2/Router.h +3260 -0
  39. data/dist/ice/cpp/include/generated/Glacier2/RouterF.h +125 -0
  40. data/dist/ice/cpp/include/generated/Glacier2/SSLInfo.h +223 -0
  41. data/dist/ice/cpp/include/generated/Glacier2/Session.h +5894 -0
  42. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +170 -0
  43. data/dist/ice/cpp/include/generated/Ice/Communicator.h +1162 -0
  44. data/dist/ice/cpp/include/generated/Ice/CommunicatorF.h +101 -0
  45. data/dist/ice/cpp/include/generated/Ice/Connection.h +1703 -0
  46. data/dist/ice/cpp/include/generated/Ice/ConnectionF.h +119 -0
  47. data/dist/ice/cpp/include/generated/Ice/Current.h +322 -0
  48. data/dist/ice/cpp/include/generated/Ice/Endpoint.h +979 -0
  49. data/dist/ice/cpp/include/generated/Ice/EndpointF.h +166 -0
  50. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +118 -0
  51. data/dist/ice/cpp/include/generated/Ice/FacetMap.h +80 -0
  52. data/dist/ice/cpp/include/generated/Ice/Identity.h +264 -0
  53. data/dist/ice/cpp/include/generated/Ice/ImplicitContext.h +284 -0
  54. data/dist/ice/cpp/include/generated/Ice/ImplicitContextF.h +101 -0
  55. data/dist/ice/cpp/include/generated/Ice/Instrumentation.h +1203 -0
  56. data/dist/ice/cpp/include/generated/Ice/InstrumentationF.h +128 -0
  57. data/dist/ice/cpp/include/generated/Ice/LocalException.h +7437 -0
  58. data/dist/ice/cpp/include/generated/Ice/Locator.h +3898 -0
  59. data/dist/ice/cpp/include/generated/Ice/LocatorF.h +147 -0
  60. data/dist/ice/cpp/include/generated/Ice/Logger.h +237 -0
  61. data/dist/ice/cpp/include/generated/Ice/LoggerF.h +101 -0
  62. data/dist/ice/cpp/include/generated/Ice/Metrics.h +4769 -0
  63. data/dist/ice/cpp/include/generated/Ice/ObjectAdapter.h +1181 -0
  64. data/dist/ice/cpp/include/generated/Ice/ObjectAdapterF.h +101 -0
  65. data/dist/ice/cpp/include/generated/Ice/ObjectFactory.h +203 -0
  66. data/dist/ice/cpp/include/generated/Ice/Plugin.h +318 -0
  67. data/dist/ice/cpp/include/generated/Ice/PluginF.h +110 -0
  68. data/dist/ice/cpp/include/generated/Ice/Process.h +977 -0
  69. data/dist/ice/cpp/include/generated/Ice/ProcessF.h +125 -0
  70. data/dist/ice/cpp/include/generated/Ice/Properties.h +452 -0
  71. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +1366 -0
  72. data/dist/ice/cpp/include/generated/Ice/PropertiesF.h +134 -0
  73. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +2707 -0
  74. data/dist/ice/cpp/include/generated/Ice/Router.h +1850 -0
  75. data/dist/ice/cpp/include/generated/Ice/RouterF.h +125 -0
  76. data/dist/ice/cpp/include/generated/Ice/ServantLocator.h +305 -0
  77. data/dist/ice/cpp/include/generated/Ice/ServantLocatorF.h +101 -0
  78. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +84 -0
  79. data/dist/ice/cpp/include/generated/Ice/ValueFactory.h +330 -0
  80. data/dist/ice/cpp/include/generated/Ice/Version.h +357 -0
  81. data/dist/ice/cpp/include/generated/IceBox/IceBox.h +3269 -0
  82. data/dist/ice/cpp/include/generated/IceGrid/Admin.h +33773 -0
  83. data/dist/ice/cpp/include/generated/IceGrid/Descriptor.h +5254 -0
  84. data/dist/ice/cpp/include/generated/IceGrid/Exception.h +2834 -0
  85. data/dist/ice/cpp/include/generated/IceGrid/FileParser.h +824 -0
  86. data/dist/ice/cpp/include/generated/IceGrid/PluginFacade.h +635 -0
  87. data/dist/ice/cpp/include/generated/IceGrid/Registry.h +5089 -0
  88. data/dist/ice/cpp/include/generated/IceGrid/Session.h +2240 -0
  89. data/dist/ice/cpp/include/generated/IceGrid/UserAccountMapper.h +800 -0
  90. data/dist/ice/cpp/include/generated/IcePatch2/FileInfo.h +325 -0
  91. data/dist/ice/cpp/include/generated/IcePatch2/FileServer.h +2891 -0
  92. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +228 -0
  93. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +101 -0
  94. data/dist/ice/cpp/include/generated/IceSSL/EndpointInfo.h +186 -0
  95. data/dist/ice/cpp/include/generated/IceStorm/IceStorm.h +6627 -0
  96. data/dist/ice/cpp/include/generated/IceStorm/Metrics.h +665 -0
  97. data/dist/ice/cpp/src/Ice/Acceptor.h +37 -0
  98. data/dist/ice/cpp/src/Ice/Application.cpp +661 -0
  99. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +1972 -0
  100. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +264 -0
  101. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +3670 -0
  102. data/dist/ice/cpp/src/Ice/ConnectionI.h +389 -0
  103. data/dist/ice/cpp/src/Ice/CountDownLatch.cpp +171 -0
  104. data/dist/ice/cpp/src/Ice/DLLMain.cpp +50 -0
  105. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +159 -0
  106. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +284 -0
  107. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +189 -0
  108. data/dist/ice/cpp/src/Ice/EndpointI.cpp +98 -0
  109. data/dist/ice/cpp/src/Ice/EventHandler.cpp +32 -0
  110. data/dist/ice/cpp/src/Ice/EventHandler.h +81 -0
  111. data/dist/ice/cpp/src/Ice/Exception.cpp +818 -0
  112. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +710 -0
  113. data/dist/ice/cpp/src/Ice/IPEndpointI.h +152 -0
  114. data/dist/ice/cpp/src/Ice/InputStream.cpp +2741 -0
  115. data/dist/ice/cpp/src/Ice/Instance.cpp +1967 -0
  116. data/dist/ice/cpp/src/Ice/LoggerI.cpp +259 -0
  117. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +694 -0
  118. data/dist/ice/cpp/src/Ice/Network.cpp +2249 -0
  119. data/dist/ice/cpp/src/Ice/Network.h +289 -0
  120. data/dist/ice/cpp/src/Ice/NetworkF.h +19 -0
  121. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +311 -0
  122. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1530 -0
  123. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1322 -0
  124. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +503 -0
  125. data/dist/ice/cpp/src/Ice/PropertiesI.cpp +739 -0
  126. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +1428 -0
  127. data/dist/ice/cpp/src/Ice/PropertyNames.h +78 -0
  128. data/dist/ice/cpp/src/Ice/Proxy.cpp +1604 -0
  129. data/dist/ice/cpp/src/Ice/SHA1.cpp +169 -0
  130. data/dist/ice/cpp/src/Ice/Selector.cpp +1535 -0
  131. data/dist/ice/cpp/src/Ice/Selector.h +292 -0
  132. data/dist/ice/cpp/src/Ice/Service.cpp +1883 -0
  133. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +519 -0
  134. data/dist/ice/cpp/src/Ice/StreamSocket.h +85 -0
  135. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +234 -0
  136. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +61 -0
  137. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +135 -0
  138. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +58 -0
  139. data/dist/ice/cpp/src/Ice/Thread.cpp +569 -0
  140. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1292 -0
  141. data/dist/ice/cpp/src/Ice/ThreadPool.h +393 -0
  142. data/dist/ice/cpp/src/Ice/Transceiver.h +49 -0
  143. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +131 -0
  144. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +806 -0
  145. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +96 -0
  146. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +92 -0
  147. data/dist/ice/cpp/src/Ice/WSAcceptor.h +52 -0
  148. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +1704 -0
  149. data/dist/ice/cpp/src/Ice/WSTransceiver.h +141 -0
  150. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +49 -0
  151. data/dist/ice/cpp/src/Ice/generated/Communicator.cpp +79 -0
  152. data/dist/ice/cpp/src/Ice/generated/CommunicatorF.cpp +61 -0
  153. data/dist/ice/cpp/src/Ice/generated/Connection.cpp +155 -0
  154. data/dist/ice/cpp/src/Ice/generated/ConnectionF.cpp +61 -0
  155. data/dist/ice/cpp/src/Ice/generated/Current.cpp +62 -0
  156. data/dist/ice/cpp/src/Ice/generated/Endpoint.cpp +147 -0
  157. data/dist/ice/cpp/src/Ice/generated/EndpointF.cpp +61 -0
  158. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +51 -0
  159. data/dist/ice/cpp/src/Ice/generated/FacetMap.cpp +49 -0
  160. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +57 -0
  161. data/dist/ice/cpp/src/Ice/generated/ImplicitContext.cpp +75 -0
  162. data/dist/ice/cpp/src/Ice/generated/ImplicitContextF.cpp +61 -0
  163. data/dist/ice/cpp/src/Ice/generated/Instrumentation.cpp +188 -0
  164. data/dist/ice/cpp/src/Ice/generated/InstrumentationF.cpp +66 -0
  165. data/dist/ice/cpp/src/Ice/generated/LocalException.cpp +3262 -0
  166. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +2042 -0
  167. data/dist/ice/cpp/src/Ice/generated/LocatorF.cpp +63 -0
  168. data/dist/ice/cpp/src/Ice/generated/Logger.cpp +73 -0
  169. data/dist/ice/cpp/src/Ice/generated/LoggerF.cpp +61 -0
  170. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +2352 -0
  171. data/dist/ice/cpp/src/Ice/generated/ObjectAdapter.cpp +79 -0
  172. data/dist/ice/cpp/src/Ice/generated/ObjectAdapterF.cpp +61 -0
  173. data/dist/ice/cpp/src/Ice/generated/ObjectFactory.cpp +75 -0
  174. data/dist/ice/cpp/src/Ice/generated/Plugin.cpp +87 -0
  175. data/dist/ice/cpp/src/Ice/generated/PluginF.cpp +61 -0
  176. data/dist/ice/cpp/src/Ice/generated/Process.cpp +471 -0
  177. data/dist/ice/cpp/src/Ice/generated/ProcessF.cpp +63 -0
  178. data/dist/ice/cpp/src/Ice/generated/Properties.cpp +78 -0
  179. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +603 -0
  180. data/dist/ice/cpp/src/Ice/generated/PropertiesF.cpp +63 -0
  181. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +1171 -0
  182. data/dist/ice/cpp/src/Ice/generated/Router.cpp +977 -0
  183. data/dist/ice/cpp/src/Ice/generated/RouterF.cpp +63 -0
  184. data/dist/ice/cpp/src/Ice/generated/ServantLocator.cpp +75 -0
  185. data/dist/ice/cpp/src/Ice/generated/ServantLocatorF.cpp +61 -0
  186. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +49 -0
  187. data/dist/ice/cpp/src/Ice/generated/ValueFactory.cpp +83 -0
  188. data/dist/ice/cpp/src/Ice/generated/Version.cpp +57 -0
  189. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.cpp +154 -0
  190. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.h +49 -0
  191. data/dist/ice/cpp/src/Ice/ios/StreamConnector.cpp +146 -0
  192. data/dist/ice/cpp/src/Ice/ios/StreamConnector.h +52 -0
  193. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.cpp +477 -0
  194. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.h +156 -0
  195. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.cpp +570 -0
  196. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.h +93 -0
  197. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery/IceDiscovery.h +1889 -0
  198. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery.cpp +915 -0
  199. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery/IceLocatorDiscovery.h +1197 -0
  200. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery.cpp +730 -0
  201. data/dist/ice/cpp/src/IceSSL/AcceptorI.cpp +105 -0
  202. data/dist/ice/cpp/src/IceSSL/AcceptorI.h +52 -0
  203. data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +1092 -0
  204. data/dist/ice/cpp/src/IceSSL/PluginI.cpp +246 -0
  205. data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +719 -0
  206. data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +868 -0
  207. data/dist/ice/cpp/src/IceSSL/Util.cpp +192 -0
  208. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfo.cpp +75 -0
  209. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfoF.cpp +61 -0
  210. data/dist/ice/cpp/src/IceSSL/generated/EndpointInfo.cpp +75 -0
  211. data/dist/ice/cpp/src/IceUtil/ConsoleUtil.cpp +157 -0
  212. data/dist/ice/cpp/src/IceUtil/FileUtil.cpp +471 -0
  213. data/dist/ice/cpp/src/IceUtil/RecMutex.cpp +238 -0
  214. data/dist/ice/cpp/src/IceUtil/StringConverter.cpp +690 -0
  215. data/dist/ice/cpp/src/IceUtil/StringUtil.cpp +1135 -0
  216. data/dist/ice/cpp/src/IceUtil/UUID.cpp +165 -0
  217. data/dist/ice/cpp/src/IceUtil/UtilException.cpp +839 -0
  218. data/dist/ice/cpp/src/Slice/JavaUtil.cpp +5183 -0
  219. data/dist/ice/cpp/src/Slice/JavaUtil.h +407 -0
  220. data/dist/ice/cpp/src/slice2rb/Main.cpp +35 -0
  221. data/dist/ice/mcpp/directive.c +1407 -0
  222. data/dist/ice/mcpp/internal.H +530 -0
  223. data/dist/ice/mcpp/mcpp_main.c +792 -0
  224. data/dist/ice/mcpp/support.c +1985 -0
  225. data/dist/ice/mcpp/system.c +2741 -0
  226. data/dist/ice/slice/Ice/Connection.ice +516 -0
  227. data/dist/ice/slice/Ice/Current.ice +170 -0
  228. data/dist/ice/slice/Ice/Locator.ice +239 -0
  229. data/dist/ice/slice/Ice/Metrics.ice +436 -0
  230. data/dist/ice/slice/Ice/ObjectAdapter.ice +710 -0
  231. data/dist/ice/slice/Ice/Properties.ice +244 -0
  232. data/dist/ice/slice/Ice/Router.ice +103 -0
  233. data/dist/ice/slice/IceGrid/PluginFacade.ice +329 -0
  234. data/dist/ice/slice/IceStorm/IceStorm.ice +414 -0
  235. data/dist/lib/Glacier2/Metrics.rb +56 -0
  236. data/dist/lib/Glacier2/PermissionsVerifier.rb +93 -0
  237. data/dist/lib/Glacier2/PermissionsVerifierF.rb +30 -0
  238. data/dist/lib/Glacier2/Router.rb +95 -0
  239. data/dist/lib/Glacier2/RouterF.rb +25 -0
  240. data/dist/lib/Glacier2/SSLInfo.rb +72 -0
  241. data/dist/lib/Glacier2/Session.rb +247 -0
  242. data/dist/lib/Ice/BuiltinSequences.rb +60 -0
  243. data/dist/lib/Ice/Communicator.rb +87 -0
  244. data/dist/lib/Ice/CommunicatorF.rb +24 -0
  245. data/dist/lib/Ice/Connection.rb +413 -0
  246. data/dist/lib/Ice/ConnectionF.rb +32 -0
  247. data/dist/lib/Ice/Current.rb +141 -0
  248. data/dist/lib/Ice/Endpoint.rb +187 -0
  249. data/dist/lib/Ice/EndpointF.rb +48 -0
  250. data/dist/lib/Ice/EndpointTypes.rb +69 -0
  251. data/dist/lib/Ice/FacetMap.rb +24 -0
  252. data/dist/lib/Ice/Identity.rb +63 -0
  253. data/dist/lib/Ice/ImplicitContext.rb +26 -0
  254. data/dist/lib/Ice/ImplicitContextF.rb +24 -0
  255. data/dist/lib/Ice/Instrumentation.rb +169 -0
  256. data/dist/lib/Ice/InstrumentationF.rb +31 -0
  257. data/dist/lib/Ice/LocalException.rb +1031 -0
  258. data/dist/lib/Ice/Locator.rb +196 -0
  259. data/dist/lib/Ice/LocatorF.rb +30 -0
  260. data/dist/lib/Ice/Logger.rb +24 -0
  261. data/dist/lib/Ice/LoggerF.rb +24 -0
  262. data/dist/lib/Ice/Metrics.rb +337 -0
  263. data/dist/lib/Ice/ObjectAdapter.rb +29 -0
  264. data/dist/lib/Ice/ObjectAdapterF.rb +24 -0
  265. data/dist/lib/Ice/ObjectFactory.rb +24 -0
  266. data/dist/lib/Ice/Plugin.rb +30 -0
  267. data/dist/lib/Ice/PluginF.rb +28 -0
  268. data/dist/lib/Ice/Process.rb +53 -0
  269. data/dist/lib/Ice/ProcessF.rb +25 -0
  270. data/dist/lib/Ice/Properties.rb +25 -0
  271. data/dist/lib/Ice/PropertiesAdmin.rb +63 -0
  272. data/dist/lib/Ice/PropertiesF.rb +29 -0
  273. data/dist/lib/Ice/RemoteLogger.rb +207 -0
  274. data/dist/lib/Ice/Router.rb +87 -0
  275. data/dist/lib/Ice/RouterF.rb +25 -0
  276. data/dist/lib/Ice/ServantLocator.rb +26 -0
  277. data/dist/lib/Ice/ServantLocatorF.rb +24 -0
  278. data/dist/lib/Ice/SliceChecksumDict.rb +24 -0
  279. data/dist/lib/Ice/ValueFactory.rb +28 -0
  280. data/dist/lib/Ice/Version.rb +90 -0
  281. data/dist/lib/IceBox/IceBox.rb +164 -0
  282. data/dist/lib/IceGrid/Admin.rb +1196 -0
  283. data/dist/lib/IceGrid/Descriptor.rb +1034 -0
  284. data/dist/lib/IceGrid/Exception.rb +376 -0
  285. data/dist/lib/IceGrid/FileParser.rb +65 -0
  286. data/dist/lib/IceGrid/PluginFacade.rb +35 -0
  287. data/dist/lib/IceGrid/Registry.rb +209 -0
  288. data/dist/lib/IceGrid/Session.rb +71 -0
  289. data/dist/lib/IceGrid/UserAccountMapper.rb +61 -0
  290. data/dist/lib/IcePatch2/FileInfo.rb +115 -0
  291. data/dist/lib/IcePatch2/FileServer.rb +123 -0
  292. data/dist/lib/IceStorm/IceStorm.rb +332 -0
  293. data/dist/lib/IceStorm/Metrics.rb +73 -0
  294. data/extconf.rb +91 -0
  295. data/ice.gemspec +21 -16
  296. metadata +715 -711
  297. data/ICE_LICENSE +0 -48
  298. data/LICENSE +0 -340
  299. data/MCPP_LICENSE +0 -29
  300. data/ext/Connection.cpp +0 -532
  301. data/ext/Endpoint.cpp +0 -340
  302. data/ext/ImplicitContext.cpp +0 -144
  303. data/ext/Logger.cpp +0 -147
  304. data/ext/Operation.cpp +0 -661
  305. data/ext/Properties.cpp +0 -365
  306. data/ext/Types.cpp +0 -3325
  307. data/ext/Types.h +0 -595
  308. data/ext/ValueFactoryManager.cpp +0 -441
  309. data/ext/extconf.rb +0 -97
  310. data/ext/ice/cpp/include/Ice/Config.h +0 -78
  311. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  312. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  313. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  314. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  315. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  316. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  317. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  318. data/ext/ice/cpp/include/Ice/SHA1.h +0 -42
  319. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  320. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -28
  321. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  322. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  323. data/ext/ice/cpp/include/IceUtil/Config.h +0 -424
  324. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  325. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  326. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -143
  327. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  328. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  329. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -353
  330. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -53
  331. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -174
  332. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -143
  333. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  334. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  335. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  336. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  337. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  338. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  339. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  340. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  341. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  342. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  343. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  344. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  345. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  346. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  347. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  348. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  349. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  350. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  351. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  352. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  353. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  354. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  355. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  356. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  357. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  358. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  359. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  360. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  361. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  362. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  363. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  364. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  365. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  366. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  367. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  368. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  369. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  370. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  371. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  372. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  373. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  374. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  375. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  376. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  377. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  378. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  379. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  380. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  381. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  382. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  383. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  384. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -391
  385. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -179
  386. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  387. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -161
  388. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -291
  389. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  390. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  391. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  392. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  393. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  394. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  395. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  396. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -845
  397. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  398. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -756
  399. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -162
  400. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  401. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  402. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  403. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  404. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1971
  405. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  406. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  407. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  408. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  409. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  410. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  411. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  412. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -261
  413. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  414. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  415. data/ext/ice/cpp/src/Ice/Network.cpp +0 -3075
  416. data/ext/ice/cpp/src/Ice/Network.h +0 -371
  417. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -23
  418. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -324
  419. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  420. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  421. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  422. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  423. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  424. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  425. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  426. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  427. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  428. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  429. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  430. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  431. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  432. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -747
  433. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  434. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  435. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  436. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  437. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  438. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  439. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -185
  440. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1537
  441. data/ext/ice/cpp/src/Ice/Selector.h +0 -308
  442. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  443. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  444. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  445. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -682
  446. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -92
  447. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -355
  448. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -69
  449. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  450. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  451. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -811
  452. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1328
  453. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  454. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  455. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -136
  456. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -1153
  457. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -117
  458. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  459. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  460. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  461. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  462. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1747
  463. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  464. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  465. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  466. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  467. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  468. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  469. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  470. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  471. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  472. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  473. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  474. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  475. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  476. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  477. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  478. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  479. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  480. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  481. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  482. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  483. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  484. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  485. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  486. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -484
  487. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -242
  488. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  489. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1180
  490. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -169
  491. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  492. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5154
  493. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -398
  494. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  495. data/ext/ice/mcpp/LICENSE +0 -29
  496. data/ext/ice/mcpp/Makefile +0 -63
  497. data/ext/ice/mcpp/README.md +0 -32
  498. data/ext/ice/mcpp/directive.c +0 -1404
  499. data/ext/ice/mcpp/internal.H +0 -530
  500. data/ext/ice/mcpp/main.c +0 -792
  501. data/ext/ice/mcpp/mcpp.gyp +0 -88
  502. data/ext/ice/mcpp/support.c +0 -1985
  503. data/ext/ice/mcpp/system.c +0 -2741
  504. data/lib/Glacier2/Metrics.rb +0 -56
  505. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  506. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  507. data/lib/Glacier2/Router.rb +0 -95
  508. data/lib/Glacier2/RouterF.rb +0 -25
  509. data/lib/Glacier2/SSLInfo.rb +0 -72
  510. data/lib/Glacier2/Session.rb +0 -247
  511. data/lib/Ice/BuiltinSequences.rb +0 -60
  512. data/lib/Ice/Communicator.rb +0 -87
  513. data/lib/Ice/CommunicatorF.rb +0 -24
  514. data/lib/Ice/Connection.rb +0 -413
  515. data/lib/Ice/ConnectionF.rb +0 -32
  516. data/lib/Ice/Current.rb +0 -141
  517. data/lib/Ice/Endpoint.rb +0 -187
  518. data/lib/Ice/EndpointF.rb +0 -48
  519. data/lib/Ice/EndpointTypes.rb +0 -69
  520. data/lib/Ice/FacetMap.rb +0 -24
  521. data/lib/Ice/Identity.rb +0 -63
  522. data/lib/Ice/ImplicitContext.rb +0 -26
  523. data/lib/Ice/ImplicitContextF.rb +0 -24
  524. data/lib/Ice/Instrumentation.rb +0 -169
  525. data/lib/Ice/InstrumentationF.rb +0 -31
  526. data/lib/Ice/LocalException.rb +0 -1031
  527. data/lib/Ice/Locator.rb +0 -196
  528. data/lib/Ice/LocatorF.rb +0 -30
  529. data/lib/Ice/Logger.rb +0 -24
  530. data/lib/Ice/LoggerF.rb +0 -24
  531. data/lib/Ice/Metrics.rb +0 -337
  532. data/lib/Ice/ObjectAdapter.rb +0 -29
  533. data/lib/Ice/ObjectAdapterF.rb +0 -24
  534. data/lib/Ice/ObjectFactory.rb +0 -24
  535. data/lib/Ice/Plugin.rb +0 -30
  536. data/lib/Ice/PluginF.rb +0 -28
  537. data/lib/Ice/Process.rb +0 -53
  538. data/lib/Ice/ProcessF.rb +0 -25
  539. data/lib/Ice/Properties.rb +0 -25
  540. data/lib/Ice/PropertiesAdmin.rb +0 -63
  541. data/lib/Ice/PropertiesF.rb +0 -29
  542. data/lib/Ice/RemoteLogger.rb +0 -207
  543. data/lib/Ice/Router.rb +0 -87
  544. data/lib/Ice/RouterF.rb +0 -25
  545. data/lib/Ice/ServantLocator.rb +0 -26
  546. data/lib/Ice/ServantLocatorF.rb +0 -24
  547. data/lib/Ice/SliceChecksumDict.rb +0 -24
  548. data/lib/Ice/ValueFactory.rb +0 -28
  549. data/lib/Ice/Version.rb +0 -90
  550. data/lib/IceBox/IceBox.rb +0 -164
  551. data/lib/IceGrid/Admin.rb +0 -1196
  552. data/lib/IceGrid/Descriptor.rb +0 -1034
  553. data/lib/IceGrid/Exception.rb +0 -376
  554. data/lib/IceGrid/FileParser.rb +0 -65
  555. data/lib/IceGrid/PluginFacade.rb +0 -35
  556. data/lib/IceGrid/Registry.rb +0 -209
  557. data/lib/IceGrid/Session.rb +0 -71
  558. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  559. data/lib/IcePatch2/FileInfo.rb +0 -115
  560. data/lib/IcePatch2/FileServer.rb +0 -123
  561. data/lib/IceStorm/IceStorm.rb +0 -332
  562. data/lib/IceStorm/Metrics.rb +0 -73
  563. data/slice/Ice/Connection.ice +0 -516
  564. data/slice/Ice/Current.ice +0 -170
  565. data/slice/Ice/Locator.ice +0 -239
  566. data/slice/Ice/Metrics.ice +0 -436
  567. data/slice/Ice/ObjectAdapter.ice +0 -710
  568. data/slice/Ice/Properties.ice +0 -244
  569. data/slice/Ice/Router.ice +0 -103
  570. data/slice/IceBT/ConnectionInfo.ice +0 -59
  571. data/slice/IceBT/EndpointInfo.ice +0 -57
  572. data/slice/IceBT/Types.ice +0 -45
  573. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  574. data/slice/IceGrid/PluginFacade.ice +0 -329
  575. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  576. data/slice/IceIAP/EndpointInfo.ice +0 -68
  577. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  578. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  579. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  580. data/slice/IceSSL/EndpointInfo.ice +0 -45
  581. data/slice/IceStorm/IceStorm.ice +0 -414
  582. /data/{ext → dist/IceRuby}/Communicator.cpp +0 -0
  583. /data/{ext → dist/IceRuby}/Communicator.h +0 -0
  584. /data/{ext → dist/IceRuby}/Config.h +0 -0
  585. /data/{ext → dist/IceRuby}/Connection.h +0 -0
  586. /data/{ext → dist/IceRuby}/Endpoint.h +0 -0
  587. /data/{ext → dist/IceRuby}/ImplicitContext.h +0 -0
  588. /data/{ext → dist/IceRuby}/Init.cpp +0 -0
  589. /data/{ext → dist/IceRuby}/Logger.h +0 -0
  590. /data/{ext → dist/IceRuby}/Operation.h +0 -0
  591. /data/{ext → dist/IceRuby}/Properties.h +0 -0
  592. /data/{ext → dist/IceRuby}/Proxy.cpp +0 -0
  593. /data/{ext → dist/IceRuby}/Proxy.h +0 -0
  594. /data/{ext → dist/IceRuby}/Slice.cpp +0 -0
  595. /data/{ext → dist/IceRuby}/Slice.h +0 -0
  596. /data/{ext → dist/IceRuby}/Util.cpp +0 -0
  597. /data/{ext → dist/IceRuby}/Util.h +0 -0
  598. /data/{ext → dist/IceRuby}/ValueFactoryManager.h +0 -0
  599. /data/{ext → dist}/ice/cpp/include/Ice/Application.h +0 -0
  600. /data/{ext → dist}/ice/cpp/include/Ice/AsyncResult.h +0 -0
  601. /data/{ext → dist}/ice/cpp/include/Ice/AsyncResultF.h +0 -0
  602. /data/{ext → dist}/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -0
  603. /data/{ext → dist}/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -0
  604. /data/{ext → dist}/ice/cpp/include/Ice/Buffer.h +0 -0
  605. /data/{ext → dist}/ice/cpp/include/Ice/CommunicatorAsync.h +0 -0
  606. /data/{ext → dist}/ice/cpp/include/Ice/Comparable.h +0 -0
  607. /data/{ext → dist}/ice/cpp/include/Ice/ConnectionAsync.h +0 -0
  608. /data/{ext → dist}/ice/cpp/include/Ice/ConnectionIF.h +0 -0
  609. /data/{ext → dist}/ice/cpp/include/Ice/DefaultValueFactory.h +0 -0
  610. /data/{ext → dist}/ice/cpp/include/Ice/DispatchInterceptor.h +0 -0
  611. /data/{ext → dist}/ice/cpp/include/Ice/Dispatcher.h +0 -0
  612. /data/{ext → dist}/ice/cpp/include/Ice/DynamicLibrary.h +0 -0
  613. /data/{ext → dist}/ice/cpp/include/Ice/DynamicLibraryF.h +0 -0
  614. /data/{ext → dist}/ice/cpp/include/Ice/Exception.h +0 -0
  615. /data/{ext → dist}/ice/cpp/include/Ice/FactoryTable.h +0 -0
  616. /data/{ext → dist}/ice/cpp/include/Ice/FactoryTableInit.h +0 -0
  617. /data/{ext → dist}/ice/cpp/include/Ice/Format.h +0 -0
  618. /data/{ext → dist}/ice/cpp/include/Ice/Functional.h +0 -0
  619. /data/{ext → dist}/ice/cpp/include/Ice/GCObject.h +0 -0
  620. /data/{ext → dist}/ice/cpp/include/Ice/Handle.h +0 -0
  621. /data/{ext → dist}/ice/cpp/include/Ice/IconvStringConverter.h +0 -0
  622. /data/{ext → dist}/ice/cpp/include/Ice/Incoming.h +0 -0
  623. /data/{ext → dist}/ice/cpp/include/Ice/IncomingAsync.h +0 -0
  624. /data/{ext → dist}/ice/cpp/include/Ice/IncomingAsyncF.h +0 -0
  625. /data/{ext → dist}/ice/cpp/include/Ice/InputStream.h +0 -0
  626. /data/{ext → dist}/ice/cpp/include/Ice/InstanceF.h +0 -0
  627. /data/{ext → dist}/ice/cpp/include/Ice/InterfaceByValue.h +0 -0
  628. /data/{ext → dist}/ice/cpp/include/Ice/LocalObject.h +0 -0
  629. /data/{ext → dist}/ice/cpp/include/Ice/LocalObjectF.h +0 -0
  630. /data/{ext → dist}/ice/cpp/include/Ice/LoggerUtil.h +0 -0
  631. /data/{ext → dist}/ice/cpp/include/Ice/MetricsAdminI.h +0 -0
  632. /data/{ext → dist}/ice/cpp/include/Ice/MetricsFunctional.h +0 -0
  633. /data/{ext → dist}/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -0
  634. /data/{ext → dist}/ice/cpp/include/Ice/Object.h +0 -0
  635. /data/{ext → dist}/ice/cpp/include/Ice/ObjectF.h +0 -0
  636. /data/{ext → dist}/ice/cpp/include/Ice/ObserverHelper.h +0 -0
  637. /data/{ext → dist}/ice/cpp/include/Ice/Optional.h +0 -0
  638. /data/{ext → dist}/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -0
  639. /data/{ext → dist}/ice/cpp/include/Ice/OutputStream.h +0 -0
  640. /data/{ext → dist}/ice/cpp/include/Ice/Protocol.h +0 -0
  641. /data/{ext → dist}/ice/cpp/include/Ice/ProxyF.h +0 -0
  642. /data/{ext → dist}/ice/cpp/include/Ice/ProxyFactoryF.h +0 -0
  643. /data/{ext → dist}/ice/cpp/include/Ice/ProxyHandle.h +0 -0
  644. /data/{ext → dist}/ice/cpp/include/Ice/ReferenceF.h +0 -0
  645. /data/{ext → dist}/ice/cpp/include/Ice/RegisterPlugins.h +0 -0
  646. /data/{ext → dist}/ice/cpp/include/Ice/RequestHandlerF.h +0 -0
  647. /data/{ext → dist}/ice/cpp/include/Ice/ResponseHandlerF.h +0 -0
  648. /data/{ext → dist}/ice/cpp/include/Ice/ServantManagerF.h +0 -0
  649. /data/{ext → dist}/ice/cpp/include/Ice/Service.h +0 -0
  650. /data/{ext → dist}/ice/cpp/include/Ice/SliceChecksums.h +0 -0
  651. /data/{ext → dist}/ice/cpp/include/Ice/SlicedData.h +0 -0
  652. /data/{ext → dist}/ice/cpp/include/Ice/SlicedDataF.h +0 -0
  653. /data/{ext → dist}/ice/cpp/include/Ice/StreamHelpers.h +0 -0
  654. /data/{ext → dist}/ice/cpp/include/Ice/StringConverter.h +0 -0
  655. /data/{ext → dist}/ice/cpp/include/Ice/ThreadPoolF.h +0 -0
  656. /data/{ext → dist}/ice/cpp/include/Ice/UUID.h +0 -0
  657. /data/{ext → dist}/ice/cpp/include/Ice/UniquePtr.h +0 -0
  658. /data/{ext → dist}/ice/cpp/include/Ice/UniqueRef.h +0 -0
  659. /data/{ext → dist}/ice/cpp/include/Ice/Value.h +0 -0
  660. /data/{ext → dist}/ice/cpp/include/Ice/ValueF.h +0 -0
  661. /data/{ext → dist}/ice/cpp/include/IceSSL/Config.h +0 -0
  662. /data/{ext → dist}/ice/cpp/include/IceSSL/OpenSSL.h +0 -0
  663. /data/{ext → dist}/ice/cpp/include/IceSSL/Plugin.h +0 -0
  664. /data/{ext → dist}/ice/cpp/include/IceSSL/SChannel.h +0 -0
  665. /data/{ext → dist}/ice/cpp/include/IceSSL/SecureTransport.h +0 -0
  666. /data/{ext → dist}/ice/cpp/include/IceUtil/Atomic.h +0 -0
  667. /data/{ext → dist}/ice/cpp/include/IceUtil/CountDownLatch.h +0 -0
  668. /data/{ext → dist}/ice/cpp/include/IceUtil/DisableWarnings.h +0 -0
  669. /data/{ext → dist}/ice/cpp/include/IceUtil/Exception.h +0 -0
  670. /data/{ext → dist}/ice/cpp/include/IceUtil/Functional.h +0 -0
  671. /data/{ext → dist}/ice/cpp/include/IceUtil/Handle.h +0 -0
  672. /data/{ext → dist}/ice/cpp/include/IceUtil/Iterator.h +0 -0
  673. /data/{ext → dist}/ice/cpp/include/IceUtil/Lock.h +0 -0
  674. /data/{ext → dist}/ice/cpp/include/IceUtil/Monitor.h +0 -0
  675. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexProtocol.h +0 -0
  676. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -0
  677. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -0
  678. /data/{ext → dist}/ice/cpp/include/IceUtil/Optional.h +0 -0
  679. /data/{ext → dist}/ice/cpp/include/IceUtil/Options.h +0 -0
  680. /data/{ext → dist}/ice/cpp/include/IceUtil/OutputUtil.h +0 -0
  681. /data/{ext → dist}/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -0
  682. /data/{ext → dist}/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -0
  683. /data/{ext → dist}/ice/cpp/include/IceUtil/Random.h +0 -0
  684. /data/{ext → dist}/ice/cpp/include/IceUtil/RecMutex.h +0 -0
  685. /data/{ext → dist}/ice/cpp/include/IceUtil/ScannerConfig.h +0 -0
  686. /data/{ext → dist}/ice/cpp/include/IceUtil/ScopedArray.h +0 -0
  687. /data/{ext → dist}/ice/cpp/include/IceUtil/Shared.h +0 -0
  688. /data/{ext → dist}/ice/cpp/include/IceUtil/StopWatch.h +0 -0
  689. /data/{ext → dist}/ice/cpp/include/IceUtil/StringConverter.h +0 -0
  690. /data/{ext → dist}/ice/cpp/include/IceUtil/StringUtil.h +0 -0
  691. /data/{ext → dist}/ice/cpp/include/IceUtil/ThreadException.h +0 -0
  692. /data/{ext → dist}/ice/cpp/include/IceUtil/Time.h +0 -0
  693. /data/{ext → dist}/ice/cpp/include/IceUtil/UUID.h +0 -0
  694. /data/{ext → dist}/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -0
  695. /data/{ext → dist}/ice/cpp/src/Ice/ACM.cpp +0 -0
  696. /data/{ext → dist}/ice/cpp/src/Ice/ACM.h +0 -0
  697. /data/{ext → dist}/ice/cpp/src/Ice/ACMF.h +0 -0
  698. /data/{ext → dist}/ice/cpp/src/Ice/Acceptor.cpp +0 -0
  699. /data/{ext → dist}/ice/cpp/src/Ice/AcceptorF.h +0 -0
  700. /data/{ext → dist}/ice/cpp/src/Ice/ArgVector.cpp +0 -0
  701. /data/{ext → dist}/ice/cpp/src/Ice/ArgVector.h +0 -0
  702. /data/{ext → dist}/ice/cpp/src/Ice/AsyncResult.cpp +0 -0
  703. /data/{ext → dist}/ice/cpp/src/Ice/Base64.cpp +0 -0
  704. /data/{ext → dist}/ice/cpp/src/Ice/Base64.h +0 -0
  705. /data/{ext → dist}/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -0
  706. /data/{ext → dist}/ice/cpp/src/Ice/BatchRequestQueue.h +0 -0
  707. /data/{ext → dist}/ice/cpp/src/Ice/Buffer.cpp +0 -0
  708. /data/{ext → dist}/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -0
  709. /data/{ext → dist}/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -0
  710. /data/{ext → dist}/ice/cpp/src/Ice/CommunicatorI.cpp +0 -0
  711. /data/{ext → dist}/ice/cpp/src/Ice/CommunicatorI.h +0 -0
  712. /data/{ext → dist}/ice/cpp/src/Ice/Cond.cpp +0 -0
  713. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -0
  714. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -0
  715. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -0
  716. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -0
  717. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -0
  718. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -0
  719. /data/{ext → dist}/ice/cpp/src/Ice/Connector.cpp +0 -0
  720. /data/{ext → dist}/ice/cpp/src/Ice/Connector.h +0 -0
  721. /data/{ext → dist}/ice/cpp/src/Ice/ConnectorF.h +0 -0
  722. /data/{ext → dist}/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -0
  723. /data/{ext → dist}/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -0
  724. /data/{ext → dist}/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -0
  725. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactory.h +0 -0
  726. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryF.h +0 -0
  727. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -0
  728. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -0
  729. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -0
  730. /data/{ext → dist}/ice/cpp/src/Ice/EndpointI.h +0 -0
  731. /data/{ext → dist}/ice/cpp/src/Ice/EndpointIF.h +0 -0
  732. /data/{ext → dist}/ice/cpp/src/Ice/EventHandlerF.h +0 -0
  733. /data/{ext → dist}/ice/cpp/src/Ice/FactoryTable.cpp +0 -0
  734. /data/{ext → dist}/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -0
  735. /data/{ext → dist}/ice/cpp/src/Ice/GCObject.cpp +0 -0
  736. /data/{ext → dist}/ice/cpp/src/Ice/HashUtil.h +0 -0
  737. /data/{ext → dist}/ice/cpp/src/Ice/HttpParser.cpp +0 -0
  738. /data/{ext → dist}/ice/cpp/src/Ice/HttpParser.h +0 -0
  739. /data/{ext → dist}/ice/cpp/src/Ice/IPEndpointIF.h +0 -0
  740. /data/{ext → dist}/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -0
  741. /data/{ext → dist}/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -0
  742. /data/{ext → dist}/ice/cpp/src/Ice/ImplicitContextI.h +0 -0
  743. /data/{ext → dist}/ice/cpp/src/Ice/Incoming.cpp +0 -0
  744. /data/{ext → dist}/ice/cpp/src/Ice/IncomingAsync.cpp +0 -0
  745. /data/{ext → dist}/ice/cpp/src/Ice/IncomingRequest.h +0 -0
  746. /data/{ext → dist}/ice/cpp/src/Ice/Initialize.cpp +0 -0
  747. /data/{ext → dist}/ice/cpp/src/Ice/Instance.h +0 -0
  748. /data/{ext → dist}/ice/cpp/src/Ice/InstrumentationI.cpp +0 -0
  749. /data/{ext → dist}/ice/cpp/src/Ice/InstrumentationI.h +0 -0
  750. /data/{ext → dist}/ice/cpp/src/Ice/LocalObject.cpp +0 -0
  751. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfo.cpp +0 -0
  752. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfo.h +0 -0
  753. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfoF.h +0 -0
  754. /data/{ext → dist}/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -0
  755. /data/{ext → dist}/ice/cpp/src/Ice/LoggerAdminI.h +0 -0
  756. /data/{ext → dist}/ice/cpp/src/Ice/LoggerI.h +0 -0
  757. /data/{ext → dist}/ice/cpp/src/Ice/LoggerUtil.cpp +0 -0
  758. /data/{ext → dist}/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -0
  759. /data/{ext → dist}/ice/cpp/src/Ice/NetworkProxy.h +0 -0
  760. /data/{ext → dist}/ice/cpp/src/Ice/NetworkProxyF.h +0 -0
  761. /data/{ext → dist}/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -0
  762. /data/{ext → dist}/ice/cpp/src/Ice/OSLogLoggerI.h +0 -0
  763. /data/{ext → dist}/ice/cpp/src/Ice/Object.cpp +0 -0
  764. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -0
  765. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -0
  766. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -0
  767. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterI.h +0 -0
  768. /data/{ext → dist}/ice/cpp/src/Ice/ObserverHelper.cpp +0 -0
  769. /data/{ext → dist}/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -0
  770. /data/{ext → dist}/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -0
  771. /data/{ext → dist}/ice/cpp/src/Ice/OutputStream.cpp +0 -0
  772. /data/{ext → dist}/ice/cpp/src/Ice/PluginManagerI.h +0 -0
  773. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -0
  774. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesAdminI.h +0 -0
  775. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesI.h +0 -0
  776. /data/{ext → dist}/ice/cpp/src/Ice/Protocol.cpp +0 -0
  777. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -0
  778. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstance.h +0 -0
  779. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -0
  780. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -0
  781. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -0
  782. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -0
  783. /data/{ext → dist}/ice/cpp/src/Ice/ProxyFactory.cpp +0 -0
  784. /data/{ext → dist}/ice/cpp/src/Ice/ProxyFactory.h +0 -0
  785. /data/{ext → dist}/ice/cpp/src/Ice/Reference.cpp +0 -0
  786. /data/{ext → dist}/ice/cpp/src/Ice/Reference.h +0 -0
  787. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -0
  788. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactory.h +0 -0
  789. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -0
  790. /data/{ext → dist}/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -0
  791. /data/{ext → dist}/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -0
  792. /data/{ext → dist}/ice/cpp/src/Ice/ReplyStatus.h +0 -0
  793. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandler.cpp +0 -0
  794. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandler.h +0 -0
  795. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -0
  796. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -0
  797. /data/{ext → dist}/ice/cpp/src/Ice/ResponseHandler.cpp +0 -0
  798. /data/{ext → dist}/ice/cpp/src/Ice/ResponseHandler.h +0 -0
  799. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueue.cpp +0 -0
  800. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueue.h +0 -0
  801. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueueF.h +0 -0
  802. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfo.cpp +0 -0
  803. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfo.h +0 -0
  804. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfoF.h +0 -0
  805. /data/{ext → dist}/ice/cpp/src/Ice/ServantManager.cpp +0 -0
  806. /data/{ext → dist}/ice/cpp/src/Ice/ServantManager.h +0 -0
  807. /data/{ext → dist}/ice/cpp/src/Ice/SharedContext.h +0 -0
  808. /data/{ext → dist}/ice/cpp/src/Ice/SliceChecksums.cpp +0 -0
  809. /data/{ext → dist}/ice/cpp/src/Ice/SlicedData.cpp +0 -0
  810. /data/{ext → dist}/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -0
  811. /data/{ext → dist}/ice/cpp/src/Ice/StringUtil.h +0 -0
  812. /data/{ext → dist}/ice/cpp/src/Ice/SysLoggerI.cpp +0 -0
  813. /data/{ext → dist}/ice/cpp/src/Ice/SysLoggerI.h +0 -0
  814. /data/{ext → dist}/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -0
  815. /data/{ext → dist}/ice/cpp/src/Ice/SystemdJournalI.h +0 -0
  816. /data/{ext → dist}/ice/cpp/src/Ice/TcpConnector.cpp +0 -0
  817. /data/{ext → dist}/ice/cpp/src/Ice/TcpConnector.h +0 -0
  818. /data/{ext → dist}/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -0
  819. /data/{ext → dist}/ice/cpp/src/Ice/TcpEndpointI.h +0 -0
  820. /data/{ext → dist}/ice/cpp/src/Ice/Timer.cpp +0 -0
  821. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevels.cpp +0 -0
  822. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevels.h +0 -0
  823. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevelsF.h +0 -0
  824. /data/{ext → dist}/ice/cpp/src/Ice/TraceUtil.cpp +0 -0
  825. /data/{ext → dist}/ice/cpp/src/Ice/TraceUtil.h +0 -0
  826. /data/{ext → dist}/ice/cpp/src/Ice/Transceiver.cpp +0 -0
  827. /data/{ext → dist}/ice/cpp/src/Ice/TransceiverF.h +0 -0
  828. /data/{ext → dist}/ice/cpp/src/Ice/UdpConnector.h +0 -0
  829. /data/{ext → dist}/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -0
  830. /data/{ext → dist}/ice/cpp/src/Ice/UdpEndpointI.h +0 -0
  831. /data/{ext → dist}/ice/cpp/src/Ice/Value.cpp +0 -0
  832. /data/{ext → dist}/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -0
  833. /data/{ext → dist}/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -0
  834. /data/{ext → dist}/ice/cpp/src/Ice/VirtualShared.h +0 -0
  835. /data/{ext → dist}/ice/cpp/src/Ice/WSConnector.cpp +0 -0
  836. /data/{ext → dist}/ice/cpp/src/Ice/WSConnector.h +0 -0
  837. /data/{ext → dist}/ice/cpp/src/Ice/WSEndpoint.cpp +0 -0
  838. /data/{ext → dist}/ice/cpp/src/Ice/WSEndpoint.h +0 -0
  839. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -0
  840. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LocatorI.h +0 -0
  841. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -0
  842. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LookupI.h +0 -0
  843. /data/{ext → dist}/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -0
  844. /data/{ext → dist}/ice/cpp/src/IceDiscovery/PluginI.h +0 -0
  845. /data/{ext → dist}/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -0
  846. /data/{ext → dist}/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -0
  847. /data/{ext → dist}/ice/cpp/src/IceSSL/CertificateI.cpp +0 -0
  848. /data/{ext → dist}/ice/cpp/src/IceSSL/CertificateI.h +0 -0
  849. /data/{ext → dist}/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -0
  850. /data/{ext → dist}/ice/cpp/src/IceSSL/ConnectorI.h +0 -0
  851. /data/{ext → dist}/ice/cpp/src/IceSSL/EndpointI.cpp +0 -0
  852. /data/{ext → dist}/ice/cpp/src/IceSSL/EndpointI.h +0 -0
  853. /data/{ext → dist}/ice/cpp/src/IceSSL/Instance.cpp +0 -0
  854. /data/{ext → dist}/ice/cpp/src/IceSSL/Instance.h +0 -0
  855. /data/{ext → dist}/ice/cpp/src/IceSSL/InstanceF.h +0 -0
  856. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -0
  857. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -0
  858. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -0
  859. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -0
  860. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -0
  861. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -0
  862. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -0
  863. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -0
  864. /data/{ext → dist}/ice/cpp/src/IceSSL/PluginI.h +0 -0
  865. /data/{ext → dist}/ice/cpp/src/IceSSL/RFC2253.cpp +0 -0
  866. /data/{ext → dist}/ice/cpp/src/IceSSL/RFC2253.h +0 -0
  867. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -0
  868. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -0
  869. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngine.h +0 -0
  870. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -0
  871. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -0
  872. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -0
  873. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -0
  874. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -0
  875. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngine.h +0 -0
  876. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngineF.h +0 -0
  877. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -0
  878. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -0
  879. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -0
  880. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -0
  881. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -0
  882. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -0
  883. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -0
  884. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManager.cpp +0 -0
  885. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManager.h +0 -0
  886. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManagerF.h +0 -0
  887. /data/{ext → dist}/ice/cpp/src/IceSSL/Util.h +0 -0
  888. /data/{ext → dist}/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -0
  889. /data/{ext → dist}/ice/cpp/src/IceUtil/ConvertUTF.h +0 -0
  890. /data/{ext → dist}/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -0
  891. /data/{ext → dist}/ice/cpp/src/IceUtil/InputUtil.cpp +0 -0
  892. /data/{ext → dist}/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -0
  893. /data/{ext → dist}/ice/cpp/src/IceUtil/Options.cpp +0 -0
  894. /data/{ext → dist}/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -0
  895. /data/{ext → dist}/ice/cpp/src/IceUtil/Random.cpp +0 -0
  896. /data/{ext → dist}/ice/cpp/src/IceUtil/Shared.cpp +0 -0
  897. /data/{ext → dist}/ice/cpp/src/IceUtil/ThreadException.cpp +0 -0
  898. /data/{ext → dist}/ice/cpp/src/IceUtil/Time.cpp +0 -0
  899. /data/{ext → dist}/ice/cpp/src/IceUtil/Unicode.cpp +0 -0
  900. /data/{ext → dist}/ice/cpp/src/IceUtil/Unicode.h +0 -0
  901. /data/{ext → dist}/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -0
  902. /data/{ext → dist}/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -0
  903. /data/{ext → dist}/ice/cpp/src/Slice/Checksum.cpp +0 -0
  904. /data/{ext → dist}/ice/cpp/src/Slice/Checksum.h +0 -0
  905. /data/{ext → dist}/ice/cpp/src/Slice/FileTracker.cpp +0 -0
  906. /data/{ext → dist}/ice/cpp/src/Slice/FileTracker.h +0 -0
  907. /data/{ext → dist}/ice/cpp/src/Slice/Grammar.cpp +0 -0
  908. /data/{ext → dist}/ice/cpp/src/Slice/Grammar.h +0 -0
  909. /data/{ext → dist}/ice/cpp/src/Slice/GrammarUtil.h +0 -0
  910. /data/{ext → dist}/ice/cpp/src/Slice/MD5.cpp +0 -0
  911. /data/{ext → dist}/ice/cpp/src/Slice/MD5.h +0 -0
  912. /data/{ext → dist}/ice/cpp/src/Slice/MD5I.cpp +0 -0
  913. /data/{ext → dist}/ice/cpp/src/Slice/MD5I.h +0 -0
  914. /data/{ext → dist}/ice/cpp/src/Slice/PHPUtil.cpp +0 -0
  915. /data/{ext → dist}/ice/cpp/src/Slice/PHPUtil.h +0 -0
  916. /data/{ext → dist}/ice/cpp/src/Slice/Parser.cpp +0 -0
  917. /data/{ext → dist}/ice/cpp/src/Slice/Parser.h +0 -0
  918. /data/{ext → dist}/ice/cpp/src/Slice/Preprocessor.cpp +0 -0
  919. /data/{ext → dist}/ice/cpp/src/Slice/Preprocessor.h +0 -0
  920. /data/{ext → dist}/ice/cpp/src/Slice/Python.cpp +0 -0
  921. /data/{ext → dist}/ice/cpp/src/Slice/PythonUtil.cpp +0 -0
  922. /data/{ext → dist}/ice/cpp/src/Slice/PythonUtil.h +0 -0
  923. /data/{ext → dist}/ice/cpp/src/Slice/Ruby.cpp +0 -0
  924. /data/{ext → dist}/ice/cpp/src/Slice/RubyUtil.cpp +0 -0
  925. /data/{ext → dist}/ice/cpp/src/Slice/RubyUtil.h +0 -0
  926. /data/{ext → dist}/ice/cpp/src/Slice/Scanner.cpp +0 -0
  927. /data/{ext → dist}/ice/cpp/src/Slice/SliceUtil.cpp +0 -0
  928. /data/{ext → dist}/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -0
  929. /data/{ext → dist}/ice/cpp/src/Slice/Util.h +0 -0
  930. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  931. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  932. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  933. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  934. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  935. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  936. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  937. /data/{ext → dist}/ice/mcpp/system.H +0 -0
  938. /data/{slice → dist/ice/slice}/Glacier2/Metrics.ice +0 -0
  939. /data/{slice → dist/ice/slice}/Glacier2/PermissionsVerifier.ice +0 -0
  940. /data/{slice → dist/ice/slice}/Glacier2/PermissionsVerifierF.ice +0 -0
  941. /data/{slice → dist/ice/slice}/Glacier2/Router.ice +0 -0
  942. /data/{slice → dist/ice/slice}/Glacier2/RouterF.ice +0 -0
  943. /data/{slice → dist/ice/slice}/Glacier2/SSLInfo.ice +0 -0
  944. /data/{slice → dist/ice/slice}/Glacier2/Session.ice +0 -0
  945. /data/{slice → dist/ice/slice}/Ice/BuiltinSequences.ice +0 -0
  946. /data/{slice → dist/ice/slice}/Ice/Communicator.ice +0 -0
  947. /data/{slice → dist/ice/slice}/Ice/CommunicatorF.ice +0 -0
  948. /data/{slice → dist/ice/slice}/Ice/ConnectionF.ice +0 -0
  949. /data/{slice → dist/ice/slice}/Ice/Endpoint.ice +0 -0
  950. /data/{slice → dist/ice/slice}/Ice/EndpointF.ice +0 -0
  951. /data/{slice → dist/ice/slice}/Ice/EndpointTypes.ice +0 -0
  952. /data/{slice → dist/ice/slice}/Ice/FacetMap.ice +0 -0
  953. /data/{slice → dist/ice/slice}/Ice/Identity.ice +0 -0
  954. /data/{slice → dist/ice/slice}/Ice/ImplicitContext.ice +0 -0
  955. /data/{slice → dist/ice/slice}/Ice/ImplicitContextF.ice +0 -0
  956. /data/{slice → dist/ice/slice}/Ice/Instrumentation.ice +0 -0
  957. /data/{slice → dist/ice/slice}/Ice/InstrumentationF.ice +0 -0
  958. /data/{slice → dist/ice/slice}/Ice/LocalException.ice +0 -0
  959. /data/{slice → dist/ice/slice}/Ice/LocatorF.ice +0 -0
  960. /data/{slice → dist/ice/slice}/Ice/Logger.ice +0 -0
  961. /data/{slice → dist/ice/slice}/Ice/LoggerF.ice +0 -0
  962. /data/{slice → dist/ice/slice}/Ice/ObjectAdapterF.ice +0 -0
  963. /data/{slice → dist/ice/slice}/Ice/ObjectFactory.ice +0 -0
  964. /data/{slice → dist/ice/slice}/Ice/Plugin.ice +0 -0
  965. /data/{slice → dist/ice/slice}/Ice/PluginF.ice +0 -0
  966. /data/{slice → dist/ice/slice}/Ice/Process.ice +0 -0
  967. /data/{slice → dist/ice/slice}/Ice/ProcessF.ice +0 -0
  968. /data/{slice → dist/ice/slice}/Ice/PropertiesAdmin.ice +0 -0
  969. /data/{slice → dist/ice/slice}/Ice/PropertiesF.ice +0 -0
  970. /data/{slice → dist/ice/slice}/Ice/RemoteLogger.ice +0 -0
  971. /data/{slice → dist/ice/slice}/Ice/RouterF.ice +0 -0
  972. /data/{slice → dist/ice/slice}/Ice/ServantLocator.ice +0 -0
  973. /data/{slice → dist/ice/slice}/Ice/ServantLocatorF.ice +0 -0
  974. /data/{slice → dist/ice/slice}/Ice/SliceChecksumDict.ice +0 -0
  975. /data/{slice → dist/ice/slice}/Ice/ValueFactory.ice +0 -0
  976. /data/{slice → dist/ice/slice}/Ice/Version.ice +0 -0
  977. /data/{slice → dist/ice/slice}/IceBox/IceBox.ice +0 -0
  978. /data/{slice → dist/ice/slice}/IceGrid/Admin.ice +0 -0
  979. /data/{slice → dist/ice/slice}/IceGrid/Descriptor.ice +0 -0
  980. /data/{slice → dist/ice/slice}/IceGrid/Exception.ice +0 -0
  981. /data/{slice → dist/ice/slice}/IceGrid/FileParser.ice +0 -0
  982. /data/{slice → dist/ice/slice}/IceGrid/Registry.ice +0 -0
  983. /data/{slice → dist/ice/slice}/IceGrid/Session.ice +0 -0
  984. /data/{slice → dist/ice/slice}/IceGrid/UserAccountMapper.ice +0 -0
  985. /data/{slice → dist/ice/slice}/IcePatch2/FileInfo.ice +0 -0
  986. /data/{slice → dist/ice/slice}/IcePatch2/FileServer.ice +0 -0
  987. /data/{slice → dist/ice/slice}/IceStorm/Metrics.ice +0 -0
  988. /data/{lib → dist/lib}/Glacier2.rb +0 -0
  989. /data/{lib → dist/lib}/Ice.rb +0 -0
  990. /data/{lib → dist/lib}/IceBox.rb +0 -0
  991. /data/{lib → dist/lib}/IceGrid.rb +0 -0
  992. /data/{lib → dist/lib}/IcePatch2.rb +0 -0
  993. /data/{lib → dist/lib}/IceStorm.rb +0 -0
  994. /data/{bin → scripts}/slice2rb +0 -0
@@ -1,1328 +0,0 @@
1
- //
2
- // Copyright (c) ZeroC, Inc. All rights reserved.
3
- //
4
-
5
- #include <Ice/ThreadPool.h>
6
- #include <Ice/EventHandler.h>
7
- #include <Ice/Network.h>
8
- #include <Ice/LocalException.h>
9
- #include <Ice/Instance.h>
10
- #include <Ice/LoggerUtil.h>
11
- #include <Ice/Protocol.h>
12
- #include <Ice/ObjectAdapterFactory.h>
13
- #include <Ice/Properties.h>
14
- #include <Ice/TraceLevels.h>
15
-
16
- #if defined(ICE_OS_UWP)
17
- # include <Ice/StringConverter.h>
18
- #endif
19
-
20
- #if defined(__FreeBSD__)
21
- # include <sys/sysctl.h>
22
- #endif
23
-
24
- using namespace std;
25
- using namespace Ice;
26
- using namespace Ice::Instrumentation;
27
- using namespace IceInternal;
28
-
29
- ICE_API IceUtil::Shared* IceInternal::upCast(ThreadPool* p) { return p; }
30
-
31
- namespace
32
- {
33
-
34
- class ShutdownWorkItem : public ThreadPoolWorkItem
35
- {
36
- public:
37
-
38
- ShutdownWorkItem(const InstancePtr& instance) : _instance(instance)
39
- {
40
- }
41
-
42
- virtual void
43
- execute(ThreadPoolCurrent& current)
44
- {
45
- current.ioCompleted();
46
- try
47
- {
48
- _instance->objectAdapterFactory()->shutdown();
49
- }
50
- catch(const CommunicatorDestroyedException&)
51
- {
52
- }
53
- }
54
-
55
- private:
56
-
57
- const InstancePtr _instance;
58
- };
59
-
60
- class FinishedWorkItem : public ThreadPoolWorkItem
61
- {
62
- public:
63
-
64
- FinishedWorkItem(const EventHandlerPtr& handler, bool close) : _handler(handler), _close(close)
65
- {
66
- }
67
-
68
- virtual void
69
- execute(ThreadPoolCurrent& current)
70
- {
71
- _handler->finished(current, _close);
72
-
73
- //
74
- // Break cyclic reference count.
75
- //
76
- if(_handler->getNativeInfo())
77
- {
78
- _handler->getNativeInfo()->setReadyCallback(0);
79
- }
80
- }
81
-
82
- private:
83
-
84
- const EventHandlerPtr _handler;
85
- const bool _close;
86
- };
87
-
88
- class JoinThreadWorkItem : public ThreadPoolWorkItem
89
- {
90
- public:
91
-
92
- JoinThreadWorkItem(const IceUtil::ThreadPtr& thread) : _thread(thread)
93
- {
94
- }
95
-
96
- virtual void
97
- execute(ThreadPoolCurrent&)
98
- {
99
- // No call to ioCompleted, this shouldn't block (and we don't want to cause
100
- // a new thread to be started).
101
- _thread->getThreadControl().join();
102
- }
103
-
104
- private:
105
-
106
- IceUtil::ThreadPtr _thread;
107
- };
108
-
109
- //
110
- // Exception raised by the thread pool work queue when the thread pool
111
- // is destroyed.
112
- //
113
- class ThreadPoolDestroyedException
114
- {
115
- };
116
-
117
- #ifdef ICE_SWIFT
118
- string
119
- prefixToDispatchQueueLabel(const std::string& prefix)
120
- {
121
- if(prefix == "Ice.ThreadPool.Client")
122
- {
123
- return "com.zeroc.ice.client";
124
- }
125
-
126
- if(prefix == "Ice.ThreadPool.Server")
127
- {
128
- return "com.zeroc.ice.server";
129
- }
130
-
131
- string::size_type end = prefix.find_last_of(".ThreadPool");
132
- if(end == string::npos)
133
- {
134
- end = prefix.size();
135
- }
136
-
137
- return "com.zeroc.ice.oa." + prefix.substr(0, end);
138
- }
139
- #endif
140
- }
141
-
142
- Ice::DispatcherCall::~DispatcherCall()
143
- {
144
- // Out of line to avoid weak vtable
145
- }
146
-
147
- Ice::Dispatcher::~Dispatcher()
148
- {
149
- // Out of line to avoid weak vtable
150
- }
151
-
152
- IceInternal::DispatchWorkItem::DispatchWorkItem()
153
- {
154
- }
155
-
156
- IceInternal::DispatchWorkItem::DispatchWorkItem(const Ice::ConnectionPtr& connection) : _connection(connection)
157
- {
158
- }
159
-
160
- void
161
- IceInternal::DispatchWorkItem::execute(ThreadPoolCurrent& current)
162
- {
163
- current.ioCompleted(); // Promote follower
164
- current.dispatchFromThisThread(this);
165
- }
166
-
167
- IceInternal::ThreadPoolWorkQueue::ThreadPoolWorkQueue(ThreadPool& threadPool) :
168
- _threadPool(threadPool),
169
- _destroyed(false)
170
- {
171
- _registered = SocketOperationRead;
172
- }
173
-
174
- void
175
- IceInternal::ThreadPoolWorkQueue::destroy()
176
- {
177
- //Lock sync(*this); Called with the thread pool locked
178
- assert(!_destroyed);
179
- _destroyed = true;
180
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
181
- _threadPool._selector.completed(this, SocketOperationRead);
182
- #else
183
- _threadPool._selector.ready(this, SocketOperationRead, true);
184
- #endif
185
- }
186
-
187
- void
188
- IceInternal::ThreadPoolWorkQueue::queue(const ThreadPoolWorkItemPtr& item)
189
- {
190
- //Lock sync(*this); Called with the thread pool locked
191
- _workItems.push_back(item);
192
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
193
- _threadPool._selector.completed(this, SocketOperationRead);
194
- #else
195
- if(_workItems.size() == 1)
196
- {
197
- _threadPool._selector.ready(this, SocketOperationRead, true);
198
- }
199
- #endif
200
- }
201
-
202
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
203
- bool
204
- IceInternal::ThreadPoolWorkQueue::startAsync(SocketOperation)
205
- {
206
- assert(false);
207
- return false;
208
- }
209
-
210
- bool
211
- IceInternal::ThreadPoolWorkQueue::finishAsync(SocketOperation)
212
- {
213
- assert(false);
214
- return false;
215
- }
216
- #endif
217
-
218
- void
219
- IceInternal::ThreadPoolWorkQueue::message(ThreadPoolCurrent& current)
220
- {
221
- ThreadPoolWorkItemPtr workItem;
222
- {
223
- IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_threadPool);
224
- if(!_workItems.empty())
225
- {
226
- workItem = _workItems.front();
227
- _workItems.pop_front();
228
- }
229
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
230
- else
231
- {
232
- assert(_destroyed);
233
- _threadPool._selector.completed(this, SocketOperationRead);
234
- }
235
- #else
236
- if(_workItems.empty() && !_destroyed)
237
- {
238
- _threadPool._selector.ready(this, SocketOperationRead, false);
239
- }
240
- #endif
241
- }
242
-
243
- if(workItem)
244
- {
245
- workItem->execute(current);
246
- }
247
- else
248
- {
249
- assert(_destroyed);
250
- current.ioCompleted();
251
- throw ThreadPoolDestroyedException();
252
- }
253
- }
254
-
255
- void
256
- IceInternal::ThreadPoolWorkQueue::finished(ThreadPoolCurrent&, bool)
257
- {
258
- assert(false);
259
- }
260
-
261
- string
262
- IceInternal::ThreadPoolWorkQueue::toString() const
263
- {
264
- return "work queue";
265
- }
266
-
267
- NativeInfoPtr
268
- IceInternal::ThreadPoolWorkQueue::getNativeInfo()
269
- {
270
- return 0;
271
- }
272
-
273
- IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& prefix, int timeout) :
274
- _instance(instance),
275
- #ifdef ICE_SWIFT
276
- _dispatchQueue(dispatch_queue_create(prefixToDispatchQueueLabel(prefix).c_str(),
277
- DISPATCH_QUEUE_CONCURRENT_WITH_AUTORELEASE_POOL)),
278
- #else
279
- _dispatcher(_instance->initializationData().dispatcher),
280
- #endif
281
- _destroyed(false),
282
- _prefix(prefix),
283
- _selector(instance),
284
- _nextThreadId(0),
285
- _size(0),
286
- _sizeIO(0),
287
- _sizeMax(0),
288
- _sizeWarn(0),
289
- _serialize(_instance->initializationData().properties->getPropertyAsInt(_prefix + ".Serialize") > 0),
290
- _hasPriority(false),
291
- _priority(0),
292
- _serverIdleTime(timeout),
293
- _threadIdleTime(0),
294
- _stackSize(0),
295
- _inUse(0),
296
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
297
- _inUseIO(0),
298
- _nextHandler(_handlers.end()),
299
- #endif
300
- _promote(true)
301
- {
302
- PropertiesPtr properties = _instance->initializationData().properties;
303
- #ifndef ICE_OS_UWP
304
- # ifdef _WIN32
305
- SYSTEM_INFO sysInfo;
306
- GetSystemInfo(&sysInfo);
307
- int nProcessors = sysInfo.dwNumberOfProcessors;
308
- # elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
309
- static int ncpu[2] = { CTL_HW, HW_NCPU };
310
- int nProcessors;
311
- size_t sz = sizeof(nProcessors);
312
- if(sysctl(ncpu, 2, &nProcessors, &sz, 0, 0) == -1)
313
- {
314
- nProcessors = 1;
315
- }
316
- # else
317
- int nProcessors = static_cast<int>(sysconf(_SC_NPROCESSORS_ONLN));
318
- if(nProcessors == -1)
319
- {
320
- nProcessors = 1;
321
- }
322
- # endif
323
- #endif
324
-
325
- //
326
- // We use just one thread as the default. This is the fastest
327
- // possible setting, still allows one level of nesting, and
328
- // doesn't require to make the servants thread safe.
329
- //
330
- int size = properties->getPropertyAsIntWithDefault(_prefix + ".Size", 1);
331
- if(size < 1)
332
- {
333
- Warning out(_instance->initializationData().logger);
334
- out << _prefix << ".Size < 1; Size adjusted to 1";
335
- size = 1;
336
- }
337
-
338
- int sizeMax = properties->getPropertyAsIntWithDefault(_prefix + ".SizeMax", size);
339
- #ifndef ICE_OS_UWP
340
- if(sizeMax == -1)
341
- {
342
- sizeMax = nProcessors;
343
- }
344
- #endif
345
- if(sizeMax < size)
346
- {
347
- Warning out(_instance->initializationData().logger);
348
- out << _prefix << ".SizeMax < " << _prefix << ".Size; SizeMax adjusted to Size (" << size << ")";
349
- sizeMax = size;
350
- }
351
-
352
- int sizeWarn = properties->getPropertyAsInt(_prefix + ".SizeWarn");
353
- if(sizeWarn != 0 && sizeWarn < size)
354
- {
355
- Warning out(_instance->initializationData().logger);
356
- out << _prefix << ".SizeWarn < " << _prefix << ".Size; adjusted SizeWarn to Size (" << size << ")";
357
- sizeWarn = size;
358
- }
359
- else if(sizeWarn > sizeMax)
360
- {
361
- Warning out(_instance->initializationData().logger);
362
- out << _prefix << ".SizeWarn > " << _prefix << ".SizeMax; adjusted SizeWarn to SizeMax (" << sizeMax << ")";
363
- sizeWarn = sizeMax;
364
- }
365
-
366
- int threadIdleTime = properties->getPropertyAsIntWithDefault(_prefix + ".ThreadIdleTime", 60);
367
- if(threadIdleTime < 0)
368
- {
369
- Warning out(_instance->initializationData().logger);
370
- out << _prefix << ".ThreadIdleTime < 0; ThreadIdleTime adjusted to 0";
371
- threadIdleTime = 0;
372
- }
373
-
374
- const_cast<int&>(_size) = size;
375
- const_cast<int&>(_sizeMax) = sizeMax;
376
- const_cast<int&>(_sizeWarn) = sizeWarn;
377
- #ifndef ICE_OS_UWP
378
- const_cast<int&>(_sizeIO) = min(sizeMax, nProcessors);
379
- #else
380
- const_cast<int&>(_sizeIO) = sizeMax;
381
- #endif
382
- const_cast<int&>(_threadIdleTime) = threadIdleTime;
383
-
384
- #ifdef ICE_USE_IOCP
385
- _selector.setup(_sizeIO);
386
- #endif
387
-
388
- #if defined(__APPLE__)
389
- //
390
- // We use a default stack size of 1MB on macOS and the new C++11 mapping to allow transmitting
391
- // class graphs with a depth of 100 (maximum default), 512KB is not enough otherwise.
392
- //
393
- int defaultStackSize = 1024 * 1024; // 1MB
394
- #else
395
- int defaultStackSize = 0;
396
- #endif
397
- int stackSize = properties->getPropertyAsIntWithDefault(_prefix + ".StackSize", defaultStackSize);
398
- if(stackSize < 0)
399
- {
400
- Warning out(_instance->initializationData().logger);
401
- out << _prefix << ".StackSize < 0; Size adjusted to OS default";
402
- stackSize = 0;
403
- }
404
- const_cast<size_t&>(_stackSize) = static_cast<size_t>(stackSize);
405
-
406
- const_cast<bool&>(_hasPriority) = properties->getProperty(_prefix + ".ThreadPriority") != "";
407
- const_cast<int&>(_priority) = properties->getPropertyAsInt(_prefix + ".ThreadPriority");
408
- if(!_hasPriority)
409
- {
410
- const_cast<bool&>(_hasPriority) = properties->getProperty("Ice.ThreadPriority") != "";
411
- const_cast<int&>(_priority) = properties->getPropertyAsInt("Ice.ThreadPriority");
412
- }
413
-
414
- _workQueue = ICE_MAKE_SHARED(ThreadPoolWorkQueue, *this);
415
- _selector.initialize(_workQueue.get());
416
-
417
- if(_instance->traceLevels()->threadPool >= 1)
418
- {
419
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->threadPoolCat);
420
- out << "creating " << _prefix << ": Size = " << _size << ", SizeMax = " << _sizeMax << ", SizeWarn = "
421
- << _sizeWarn;
422
- }
423
-
424
- __setNoDelete(true);
425
- try
426
- {
427
- for(int i = 0 ; i < _size ; ++i)
428
- {
429
- EventHandlerThreadPtr thread = new EventHandlerThread(this, nextThreadId());
430
- if(_hasPriority)
431
- {
432
- thread->start(_stackSize, _priority);
433
- }
434
- else
435
- {
436
- thread->start(_stackSize);
437
- }
438
- _threads.insert(thread);
439
- }
440
- }
441
- catch(const IceUtil::Exception& ex)
442
- {
443
- {
444
- Error out(_instance->initializationData().logger);
445
- out << "cannot create thread for `" << _prefix << "':\n" << ex;
446
- }
447
-
448
- destroy();
449
- joinWithAllThreads();
450
- __setNoDelete(false);
451
- throw;
452
- }
453
- catch(...)
454
- {
455
- __setNoDelete(false);
456
- throw;
457
- }
458
- __setNoDelete(false);
459
- }
460
-
461
- IceInternal::ThreadPool::~ThreadPool()
462
- {
463
- assert(_destroyed);
464
- #ifdef ICE_SWIFT
465
- dispatch_release(_dispatchQueue);
466
- #endif
467
- }
468
-
469
- void
470
- IceInternal::ThreadPool::destroy()
471
- {
472
- Lock sync(*this);
473
- if(_destroyed)
474
- {
475
- return;
476
- }
477
- _destroyed = true;
478
- _workQueue->destroy();
479
- }
480
-
481
- void
482
- IceInternal::ThreadPool::updateObservers()
483
- {
484
- Lock sync(*this);
485
- for(set<EventHandlerThreadPtr>::iterator p = _threads.begin(); p != _threads.end(); ++p)
486
- {
487
- (*p)->updateObserver();
488
- }
489
- }
490
-
491
- void
492
- IceInternal::ThreadPool::initialize(const EventHandlerPtr& handler)
493
- {
494
- Lock sync(*this);
495
- assert(!_destroyed);
496
- _selector.initialize(handler.get());
497
-
498
- class ReadyCallbackI : public ReadyCallback
499
- {
500
- public:
501
-
502
- ReadyCallbackI(const ThreadPoolPtr& threadPool, const EventHandlerPtr& handler) :
503
- _threadPool(threadPool), _handler(handler)
504
- {
505
- }
506
-
507
- virtual void
508
- ready(SocketOperation op, bool value)
509
- {
510
- _threadPool->ready(_handler, op, value);
511
- }
512
-
513
- private:
514
-
515
- const ThreadPoolPtr _threadPool;
516
- const EventHandlerPtr _handler;
517
- };
518
- handler->getNativeInfo()->setReadyCallback(new ReadyCallbackI(this, handler));
519
- }
520
-
521
- void
522
- IceInternal::ThreadPool::update(const EventHandlerPtr& handler, SocketOperation remove, SocketOperation add)
523
- {
524
- Lock sync(*this);
525
- assert(!_destroyed);
526
-
527
- // Don't remove what needs to be added
528
- remove = static_cast<SocketOperation>(remove & ~add);
529
-
530
- // Don't remove/add if already un-registered or registered
531
- remove = static_cast<SocketOperation>(handler->_registered & remove);
532
- add = static_cast<SocketOperation>(~handler->_registered & add);
533
- if(remove == add)
534
- {
535
- return;
536
- }
537
-
538
- _selector.update(handler.get(), remove, add);
539
- }
540
-
541
- bool
542
- IceInternal::ThreadPool::finish(const EventHandlerPtr& handler, bool closeNow)
543
- {
544
- Lock sync(*this);
545
- assert(!_destroyed);
546
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
547
- closeNow = _selector.finish(handler.get(), closeNow); // This must be called before!
548
- _workQueue->queue(new FinishedWorkItem(handler, !closeNow));
549
- return closeNow;
550
- #else
551
- UNREFERENCED_PARAMETER(closeNow);
552
-
553
- // If there are no pending asynchronous operations, we can call finish on the handler now.
554
- if(!handler->_pending)
555
- {
556
- _workQueue->queue(new FinishedWorkItem(handler, false));
557
- _selector.finish(handler.get());
558
- }
559
- else
560
- {
561
- handler->_finish = true;
562
- }
563
- return true; // Always close now to interrupt the pending call.
564
- #endif
565
- }
566
-
567
- void
568
- IceInternal::ThreadPool::ready(const EventHandlerPtr& handler, SocketOperation op, bool value)
569
- {
570
- Lock sync(*this);
571
- if(_destroyed)
572
- {
573
- return;
574
- }
575
- _selector.ready(handler.get(), op, value);
576
- }
577
-
578
- void
579
- IceInternal::ThreadPool::dispatchFromThisThread(const DispatchWorkItemPtr& workItem)
580
- {
581
- #ifdef ICE_SWIFT
582
- dispatch_sync(_dispatchQueue, ^
583
- {
584
- workItem->run();
585
- });
586
- #else
587
- if(_dispatcher)
588
- {
589
- try
590
- {
591
- #ifdef ICE_CPP11_MAPPING
592
- _dispatcher([workItem]()
593
- {
594
- workItem->run();
595
- },
596
- workItem->getConnection());
597
- #else
598
- _dispatcher->dispatch(workItem, workItem->getConnection());
599
- #endif
600
- }
601
- catch(const std::exception& ex)
602
- {
603
- if(_instance->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 1)
604
- {
605
- Warning out(_instance->initializationData().logger);
606
- out << "dispatch exception:\n" << ex;
607
- }
608
- }
609
- catch(...)
610
- {
611
- if(_instance->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 1)
612
- {
613
- Warning out(_instance->initializationData().logger);
614
- out << "dispatch exception:\nunknown c++ exception";
615
- }
616
- }
617
- }
618
- else
619
- {
620
- workItem->run();
621
- }
622
- #endif
623
- }
624
-
625
- void
626
- IceInternal::ThreadPool::dispatch(const DispatchWorkItemPtr& workItem)
627
- {
628
- Lock sync(*this);
629
- if(_destroyed)
630
- {
631
- throw CommunicatorDestroyedException(__FILE__, __LINE__);
632
- }
633
- _workQueue->queue(workItem);
634
- }
635
-
636
- void
637
- IceInternal::ThreadPool::joinWithAllThreads()
638
- {
639
- assert(_destroyed);
640
-
641
- //
642
- // _threads is immutable after destroy() has been called,
643
- // therefore no synchronization is needed. (Synchronization
644
- // wouldn't be possible here anyway, because otherwise the other
645
- // threads would never terminate.)
646
- //
647
- for(set<EventHandlerThreadPtr>::iterator p = _threads.begin(); p != _threads.end(); ++p)
648
- {
649
- (*p)->getThreadControl().join();
650
- }
651
- _selector.destroy();
652
- }
653
-
654
- string
655
- IceInternal::ThreadPool::prefix() const
656
- {
657
- return _prefix;
658
- }
659
-
660
- #ifdef ICE_SWIFT
661
-
662
- dispatch_queue_t
663
- IceInternal::ThreadPool::getDispatchQueue() const ICE_NOEXCEPT
664
- {
665
- return _dispatchQueue;
666
- }
667
-
668
- #endif
669
-
670
- void
671
- IceInternal::ThreadPool::run(const EventHandlerThreadPtr& thread)
672
- {
673
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
674
- ThreadPoolCurrent current(_instance, this, thread);
675
- bool select = false;
676
- while(true)
677
- {
678
- if(current._handler)
679
- {
680
- try
681
- {
682
- current._handler->message(current);
683
- }
684
- catch(const ThreadPoolDestroyedException&)
685
- {
686
- Lock sync(*this);
687
- --_inUse;
688
- thread->setState(ICE_ENUM(ThreadState, ThreadStateIdle));
689
- return;
690
- }
691
- catch(const exception& ex)
692
- {
693
- Error out(_instance->initializationData().logger);
694
- out << "exception in `" << _prefix << "':\n" << ex << "\nevent handler: "
695
- << current._handler->toString();
696
- }
697
- catch(...)
698
- {
699
- Error out(_instance->initializationData().logger);
700
- out << "exception in `" << _prefix << "':\nevent handler: " << current._handler->toString();
701
- }
702
- }
703
- else if(select)
704
- {
705
- try
706
- {
707
- _selector.select(_serverIdleTime);
708
- }
709
- catch(const SelectorTimeoutException&)
710
- {
711
- Lock sync(*this);
712
- if(!_destroyed && _inUse == 0)
713
- {
714
- _workQueue->queue(new ShutdownWorkItem(_instance)); // Select timed-out.
715
- }
716
- continue;
717
- }
718
- }
719
-
720
- {
721
- Lock sync(*this);
722
- if(!current._handler)
723
- {
724
- if(select)
725
- {
726
- _selector.finishSelect(_handlers);
727
- _nextHandler = _handlers.begin();
728
- select = false;
729
- }
730
- else if(!current._leader && followerWait(current))
731
- {
732
- return; // Wait timed-out.
733
- }
734
- }
735
- else if(_sizeMax > 1)
736
- {
737
- if(!current._ioCompleted)
738
- {
739
- //
740
- // The handler didn't call ioCompleted() so we take care of decreasing
741
- // the IO thread count now.
742
- //
743
- --_inUseIO;
744
- }
745
- else
746
- {
747
- //
748
- // If the handler called ioCompleted(), we re-enable the handler in
749
- // case it was disabled and we decrease the number of thread in use.
750
- //
751
- if(_serialize && current._handler.get() != _workQueue.get())
752
- {
753
- _selector.enable(current._handler.get(), current.operation);
754
- }
755
- assert(_inUse > 0);
756
- --_inUse;
757
- }
758
-
759
- if(!current._leader && followerWait(current))
760
- {
761
- return; // Wait timed-out.
762
- }
763
- }
764
-
765
- //
766
- // Get the next ready handler.
767
- //
768
- while(_nextHandler != _handlers.end() &&
769
- !(_nextHandler->second & ~_nextHandler->first->_disabled & _nextHandler->first->_registered))
770
- {
771
- ++_nextHandler;
772
- }
773
- if(_nextHandler != _handlers.end())
774
- {
775
- current._ioCompleted = false;
776
- current._handler = ICE_GET_SHARED_FROM_THIS(_nextHandler->first);
777
- current.operation = _nextHandler->second;
778
- ++_nextHandler;
779
- thread->setState(ICE_ENUM(ThreadState, ThreadStateInUseForIO));
780
- }
781
- else
782
- {
783
- current._handler = 0;
784
- }
785
-
786
- if(!current._handler)
787
- {
788
- //
789
- // If there are no more ready handlers and there are still threads busy performing
790
- // IO, we give up leadership and promote another follower (which will perform the
791
- // select() only once all the IOs are completed). Otherwise, if there are no more
792
- // threads peforming IOs, it's time to do another select().
793
- //
794
- if(_inUseIO > 0)
795
- {
796
- promoteFollower(current);
797
- }
798
- else
799
- {
800
- _handlers.clear();
801
- _selector.startSelect();
802
- select = true;
803
- thread->setState(ICE_ENUM(ThreadState, ThreadStateIdle));
804
- }
805
- }
806
- else if(_sizeMax > 1)
807
- {
808
- //
809
- // Increment the IO thread count and if there are still threads available
810
- // to perform IO and more handlers ready, we promote a follower.
811
- //
812
- ++_inUseIO;
813
- if(_nextHandler != _handlers.end() && _inUseIO < _sizeIO)
814
- {
815
- promoteFollower(current);
816
- }
817
- }
818
- }
819
- }
820
- #else
821
- ThreadPoolCurrent current(_instance, this, thread);
822
- while(true)
823
- {
824
- try
825
- {
826
- current._ioCompleted = false;
827
- #ifdef ICE_OS_UWP
828
- current._handler = ICE_GET_SHARED_FROM_THIS(_selector.getNextHandler(current.operation, _threadIdleTime));
829
- #else
830
- current._handler = ICE_GET_SHARED_FROM_THIS(_selector.getNextHandler(current.operation, current._count,
831
- current._error, _threadIdleTime));
832
- #endif
833
- }
834
- catch(const SelectorTimeoutException&)
835
- {
836
- if(_sizeMax > 1)
837
- {
838
- Lock sync(*this);
839
-
840
- if(_destroyed)
841
- {
842
- continue;
843
- }
844
- else if(_inUse < static_cast<int>(_threads.size() - 1)) // If not the last idle thread, we can exit.
845
- {
846
- #ifndef ICE_OS_UWP
847
- BOOL hasIO = false;
848
- GetThreadIOPendingFlag(GetCurrentThread(), &hasIO);
849
- if(hasIO)
850
- {
851
- continue;
852
- }
853
- #endif
854
- if(_instance->traceLevels()->threadPool >= 1)
855
- {
856
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->threadPoolCat);
857
- out << "shrinking " << _prefix << ": Size = " << (_threads.size() - 1);
858
- }
859
- _threads.erase(thread);
860
- _workQueue->queue(new JoinThreadWorkItem(thread));
861
- return;
862
- }
863
- else if(_inUse > 0)
864
- {
865
- //
866
- // If this is the last idle thread but there are still other threads
867
- // busy dispatching, we go back waiting with _threadIdleTime. We only
868
- // wait with _serverIdleTime when there's only one thread left.
869
- //
870
- continue;
871
- }
872
- assert(_threads.size() == 1);
873
- }
874
-
875
- try
876
- {
877
- #ifdef ICE_OS_UWP
878
- current._handler = ICE_GET_SHARED_FROM_THIS(_selector.getNextHandler(current.operation, _serverIdleTime));
879
- #else
880
-
881
- current._handler = ICE_GET_SHARED_FROM_THIS(_selector.getNextHandler(current.operation, current._count,
882
- current._error, _serverIdleTime));
883
- #endif
884
- }
885
- catch(const SelectorTimeoutException&)
886
- {
887
- Lock sync(*this);
888
- if(!_destroyed)
889
- {
890
- _workQueue->queue(new ShutdownWorkItem(_instance));
891
- }
892
- continue;
893
- }
894
- }
895
-
896
- {
897
- IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
898
- thread->setState(ICE_ENUM(ThreadState, ThreadStateInUseForIO));
899
- }
900
-
901
- try
902
- {
903
- assert(current._handler);
904
- current._handler->message(current);
905
- }
906
- catch(const ThreadPoolDestroyedException&)
907
- {
908
- return;
909
- }
910
- catch(const exception& ex)
911
- {
912
- Error out(_instance->initializationData().logger);
913
- out << "exception in `" << _prefix << "':\n" << ex << "\nevent handler: " << current._handler->toString();
914
- }
915
- #ifdef ICE_OS_UWP
916
- catch(Platform::Exception^ ex)
917
- {
918
- //
919
- // We don't need to pass the wide string converter in the call to wstringToString
920
- // because the wide string is using the platform default encoding.
921
- //
922
- Error out(_instance->initializationData().logger);
923
- out << "exception in `" << _prefix << "':\n"
924
- << wstringToString(ex->Message->Data(), _instance->getStringConverter())
925
- << "\nevent handler: " << current._handler->toString();
926
- }
927
- #endif
928
- catch(...)
929
- {
930
- Error out(_instance->initializationData().logger);
931
- out << "exception in `" << _prefix << "':\nevent handler: " << current._handler->toString();
932
- }
933
-
934
- {
935
- Lock sync(*this);
936
- if(_sizeMax > 1 && current._ioCompleted)
937
- {
938
- assert(_inUse > 0);
939
- --_inUse;
940
- }
941
- thread->setState(ICE_ENUM(ThreadState, ThreadStateIdle));
942
- }
943
- }
944
- #endif
945
- }
946
-
947
- bool
948
- IceInternal::ThreadPool::ioCompleted(ThreadPoolCurrent& current)
949
- {
950
- IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
951
-
952
- current._ioCompleted = true; // Set the IO completed flag to specifiy that ioCompleted() has been called.
953
-
954
- current._thread->setState(ICE_ENUM(ThreadState, ThreadStateInUseForUser));
955
-
956
- if(_sizeMax > 1)
957
- {
958
-
959
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
960
- --_inUseIO;
961
-
962
- if(!_destroyed)
963
- {
964
- if(_serialize && current._handler.get() != _workQueue.get())
965
- {
966
- _selector.disable(current._handler.get(), current.operation);
967
- }
968
- }
969
-
970
- if(current._leader)
971
- {
972
- //
973
- // If this thread is still the leader, it's time to promote a new leader.
974
- //
975
- promoteFollower(current);
976
- }
977
- else if(_promote && (_nextHandler != _handlers.end() || _inUseIO == 0))
978
- {
979
- notify();
980
- }
981
- #endif
982
-
983
- assert(_inUse >= 0);
984
- ++_inUse;
985
-
986
- if(_inUse == _sizeWarn)
987
- {
988
- Warning out(_instance->initializationData().logger);
989
- out << "thread pool `" << _prefix << "' is running low on threads\n"
990
- << "Size=" << _size << ", " << "SizeMax=" << _sizeMax << ", " << "SizeWarn=" << _sizeWarn;
991
- }
992
-
993
- if(!_destroyed)
994
- {
995
- assert(_inUse <= static_cast<int>(_threads.size()));
996
- if(_inUse < _sizeMax && _inUse == static_cast<int>(_threads.size()))
997
- {
998
- if(_instance->traceLevels()->threadPool >= 1)
999
- {
1000
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->threadPoolCat);
1001
- out << "growing " << _prefix << ": Size=" << _threads.size() + 1;
1002
- }
1003
-
1004
- try
1005
- {
1006
- EventHandlerThreadPtr thread = new EventHandlerThread(this, nextThreadId());
1007
- if(_hasPriority)
1008
- {
1009
- thread->start(_stackSize, _priority);
1010
- }
1011
- else
1012
- {
1013
- thread->start(_stackSize);
1014
- }
1015
- _threads.insert(thread);
1016
- }
1017
- catch(const IceUtil::Exception& ex)
1018
- {
1019
- Error out(_instance->initializationData().logger);
1020
- out << "cannot create thread for `" << _prefix << "':\n" << ex;
1021
- }
1022
- }
1023
- }
1024
- }
1025
-
1026
- return _serialize && current._handler.get() != _workQueue.get();
1027
- }
1028
-
1029
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
1030
- bool
1031
- IceInternal::ThreadPool::startMessage(ThreadPoolCurrent& current)
1032
- {
1033
- assert(current._handler->_pending & current.operation);
1034
-
1035
- if(current._handler->_started & current.operation)
1036
- {
1037
- assert(!(current._handler->_completed & current.operation));
1038
- current._handler->_completed = static_cast<SocketOperation>(current._handler->_completed | current.operation);
1039
- current._handler->_started = static_cast<SocketOperation>(current._handler->_started & ~current.operation);
1040
-
1041
- #ifndef ICE_OS_UWP
1042
- AsyncInfo* info = current._handler->getNativeInfo()->getAsyncInfo(current.operation);
1043
- info->count = current._count;
1044
- info->error = current._error;
1045
- #endif
1046
-
1047
- if(!current._handler->finishAsync(current.operation)) // Returns false if the handler is finished.
1048
- {
1049
- current._handler->_pending = static_cast<SocketOperation>(current._handler->_pending & ~current.operation);
1050
- if(!current._handler->_pending && current._handler->_finish)
1051
- {
1052
- Lock sync(*this);
1053
- _workQueue->queue(new FinishedWorkItem(current._handler, false));
1054
- _selector.finish(current._handler.get());
1055
- }
1056
- return false;
1057
- }
1058
- }
1059
- else if(!(current._handler->_completed & current.operation) && (current._handler->_registered & current.operation))
1060
- {
1061
- assert(!(current._handler->_started & current.operation));
1062
- if(current._handler->_ready & current.operation)
1063
- {
1064
- return true;
1065
- }
1066
- else if(!current._handler->startAsync(current.operation))
1067
- {
1068
- current._handler->_pending = static_cast<SocketOperation>(current._handler->_pending & ~current.operation);
1069
- if(!current._handler->_pending && current._handler->_finish)
1070
- {
1071
- Lock sync(*this);
1072
- _workQueue->queue(new FinishedWorkItem(current._handler, false));
1073
- _selector.finish(current._handler.get());
1074
- }
1075
- return false;
1076
- }
1077
- else
1078
- {
1079
- current._handler->_started = static_cast<SocketOperation>(current._handler->_started | current.operation);
1080
- return false;
1081
- }
1082
- }
1083
-
1084
- if(current._handler->_registered & current.operation)
1085
- {
1086
- assert(current._handler->_completed & current.operation);
1087
- current._handler->_completed = static_cast<SocketOperation>(current._handler->_completed & ~current.operation);
1088
- return true;
1089
- }
1090
- else
1091
- {
1092
- current._handler->_pending = static_cast<SocketOperation>(current._handler->_pending & ~current.operation);
1093
- if(!current._handler->_pending && current._handler->_finish)
1094
- {
1095
- Lock sync(*this);
1096
- _workQueue->queue(new FinishedWorkItem(current._handler, false));
1097
- _selector.finish(current._handler.get());
1098
- }
1099
- return false;
1100
- }
1101
- }
1102
-
1103
- void
1104
- IceInternal::ThreadPool::finishMessage(ThreadPoolCurrent& current)
1105
- {
1106
- if(current._handler->_registered & current.operation && !current._handler->_finish)
1107
- {
1108
- assert(!(current._handler->_completed & current.operation));
1109
- if(current._handler->_ready & current.operation)
1110
- {
1111
- _selector.completed(current._handler.get(), current.operation);
1112
- }
1113
- else if(!current._handler->startAsync(current.operation))
1114
- {
1115
- current._handler->_pending = static_cast<SocketOperation>(current._handler->_pending & ~current.operation);
1116
- }
1117
- else
1118
- {
1119
- assert(current._handler->_pending & current.operation);
1120
- current._handler->_started = static_cast<SocketOperation>(current._handler->_started | current.operation);
1121
- }
1122
- }
1123
- else
1124
- {
1125
- current._handler->_pending = static_cast<SocketOperation>(current._handler->_pending & ~current.operation);
1126
- }
1127
-
1128
- if(!current._handler->_pending && current._handler->_finish)
1129
- {
1130
- // There are no more pending async operations, it's time to call finish.
1131
- Lock sync(*this);
1132
- _workQueue->queue(new FinishedWorkItem(current._handler, false));
1133
- _selector.finish(current._handler.get());
1134
- }
1135
- }
1136
- #else
1137
- void
1138
- IceInternal::ThreadPool::promoteFollower(ThreadPoolCurrent& current)
1139
- {
1140
- assert(!_promote && current._leader);
1141
- _promote = true;
1142
- if(_inUseIO < _sizeIO && (_nextHandler != _handlers.end() || _inUseIO == 0))
1143
- {
1144
- notify();
1145
- }
1146
- current._leader = false;
1147
- }
1148
-
1149
- bool
1150
- IceInternal::ThreadPool::followerWait(ThreadPoolCurrent& current)
1151
- {
1152
- assert(!current._leader);
1153
-
1154
- current._thread->setState(ICE_ENUM(ThreadState, ThreadStateIdle));
1155
-
1156
- //
1157
- // It's important to clear the handler before waiting to make sure that
1158
- // resources for the handler are released now if it's finished. We also
1159
- // clear the per-thread stream.
1160
- //
1161
- current._handler = 0;
1162
- current.stream.clear();
1163
- current.stream.b.clear();
1164
-
1165
- //
1166
- // Wait to be promoted and for all the IO threads to be done.
1167
- //
1168
- while(!_promote || _inUseIO == _sizeIO || (_nextHandler == _handlers.end() && _inUseIO > 0))
1169
- {
1170
- if(_threadIdleTime)
1171
- {
1172
- if(!timedWait(IceUtil::Time::seconds(_threadIdleTime)))
1173
- {
1174
- if(!_destroyed && (!_promote || _inUseIO == _sizeIO ||
1175
- (_nextHandler == _handlers.end() && _inUseIO > 0)))
1176
- {
1177
- if(_instance->traceLevels()->threadPool >= 1)
1178
- {
1179
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->threadPoolCat);
1180
- out << "shrinking " << _prefix << ": Size=" << (_threads.size() - 1);
1181
- }
1182
- assert(_threads.size() > 1); // Can only be called by a waiting follower thread.
1183
- _threads.erase(current._thread);
1184
- _workQueue->queue(new JoinThreadWorkItem(current._thread));
1185
- return true;
1186
- }
1187
- }
1188
- }
1189
- else
1190
- {
1191
- wait();
1192
- }
1193
- }
1194
- current._leader = true; // The current thread has become the leader.
1195
- _promote = false;
1196
- return false;
1197
- }
1198
- #endif
1199
-
1200
- string
1201
- IceInternal::ThreadPool::nextThreadId()
1202
- {
1203
- ostringstream os;
1204
- os << _prefix << "-" << _nextThreadId++;
1205
- return os.str();
1206
- }
1207
-
1208
- IceInternal::ThreadPool::EventHandlerThread::EventHandlerThread(const ThreadPoolPtr& pool, const string& name) :
1209
- IceUtil::Thread(name),
1210
- _pool(pool),
1211
- _state(ICE_ENUM(ThreadState, ThreadStateIdle))
1212
- {
1213
- updateObserver();
1214
- }
1215
-
1216
- void
1217
- IceInternal::ThreadPool::EventHandlerThread::updateObserver()
1218
- {
1219
- // Must be called with the thread pool mutex locked
1220
- const CommunicatorObserverPtr& obsv = _pool->_instance->initializationData().observer;
1221
- if(obsv)
1222
- {
1223
- _observer.attach(obsv->getThreadObserver(_pool->_prefix, name(), _state, _observer.get()));
1224
- }
1225
- }
1226
-
1227
- void
1228
- IceInternal::ThreadPool::EventHandlerThread::setState(Ice::Instrumentation::ThreadState s)
1229
- {
1230
- // Must be called with the thread pool mutex locked
1231
- if(_observer)
1232
- {
1233
- if(_state != s)
1234
- {
1235
- _observer->stateChanged(_state, s);
1236
- }
1237
- }
1238
- _state = s;
1239
- }
1240
-
1241
- void
1242
- IceInternal::ThreadPool::EventHandlerThread::run()
1243
- {
1244
- #ifdef ICE_CPP11_MAPPING
1245
- if(_pool->_instance->initializationData().threadStart)
1246
- #else
1247
- if(_pool->_instance->initializationData().threadHook)
1248
- #endif
1249
- {
1250
- try
1251
- {
1252
- #ifdef ICE_CPP11_MAPPING
1253
- _pool->_instance->initializationData().threadStart();
1254
- #else
1255
- _pool->_instance->initializationData().threadHook->start();
1256
- #endif
1257
- }
1258
- catch(const exception& ex)
1259
- {
1260
- Error out(_pool->_instance->initializationData().logger);
1261
- out << "thread hook start() method raised an unexpected exception in `" << _pool->_prefix << "':\n" << ex;
1262
- }
1263
- catch(...)
1264
- {
1265
- Error out(_pool->_instance->initializationData().logger);
1266
- out << "thread hook start() method raised an unexpected exception in `" << _pool->_prefix << "'";
1267
- }
1268
- }
1269
-
1270
- try
1271
- {
1272
- _pool->run(this);
1273
- }
1274
- catch(const exception& ex)
1275
- {
1276
- Error out(_pool->_instance->initializationData().logger);
1277
- out << "exception in `" << _pool->_prefix << "':\n" << ex;
1278
- }
1279
- catch(...)
1280
- {
1281
- Error out(_pool->_instance->initializationData().logger);
1282
- out << "unknown exception in `" << _pool->_prefix << "'";
1283
- }
1284
-
1285
- _observer.detach();
1286
-
1287
- #ifdef ICE_CPP11_MAPPING
1288
- if(_pool->_instance->initializationData().threadStop)
1289
- #else
1290
- if(_pool->_instance->initializationData().threadHook)
1291
- #endif
1292
- {
1293
- try
1294
- {
1295
- #ifdef ICE_CPP11_MAPPING
1296
- _pool->_instance->initializationData().threadStop();
1297
- #else
1298
- _pool->_instance->initializationData().threadHook->stop();
1299
- #endif
1300
- }
1301
- catch(const exception& ex)
1302
- {
1303
- Error out(_pool->_instance->initializationData().logger);
1304
- out << "thread hook stop() method raised an unexpected exception in `" << _pool->_prefix << "':\n" << ex;
1305
- }
1306
- catch(...)
1307
- {
1308
- Error out(_pool->_instance->initializationData().logger);
1309
- out << "thread hook stop() method raised an unexpected exception in `" << _pool->_prefix << "'";
1310
- }
1311
- }
1312
-
1313
- _pool = 0; // Break cyclic dependency.
1314
- }
1315
-
1316
- ThreadPoolCurrent::ThreadPoolCurrent(const InstancePtr& instance,
1317
- const ThreadPoolPtr& threadPool,
1318
- const ThreadPool::EventHandlerThreadPtr& thread) :
1319
- operation(SocketOperationNone),
1320
- stream(instance.get(), Ice::currentProtocolEncoding),
1321
- _threadPool(threadPool.get()),
1322
- _thread(thread),
1323
- _ioCompleted(false)
1324
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
1325
- , _leader(false)
1326
- #endif
1327
- {
1328
- }