zeroc-ice 3.7.10 → 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 (936) 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/ExceptionHelpers.h +74 -0
  12. data/dist/ice/cpp/include/Ice/Initialize.h +957 -0
  13. data/dist/ice/cpp/include/Ice/MetricsObserverI.h +669 -0
  14. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +868 -0
  15. data/dist/ice/cpp/include/Ice/Proxy.h +5171 -0
  16. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +90 -0
  17. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +1889 -0
  18. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +1197 -0
  19. data/dist/ice/cpp/include/IceUtil/Cond.h +317 -0
  20. data/dist/ice/cpp/include/IceUtil/Config.h +392 -0
  21. data/dist/ice/cpp/include/IceUtil/CtrlCHandler.h +96 -0
  22. data/dist/ice/cpp/include/IceUtil/InputUtil.h +42 -0
  23. data/dist/ice/cpp/include/IceUtil/ResourceConfig.h +37 -0
  24. data/dist/ice/cpp/include/IceUtil/Timer.h +153 -0
  25. data/dist/ice/cpp/include/generated/Glacier2/Metrics.h +475 -0
  26. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifier.h +1430 -0
  27. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifierF.h +147 -0
  28. data/dist/ice/cpp/include/generated/Glacier2/Router.h +3260 -0
  29. data/dist/ice/cpp/include/generated/Glacier2/RouterF.h +125 -0
  30. data/dist/ice/cpp/include/generated/Glacier2/SSLInfo.h +223 -0
  31. data/dist/ice/cpp/include/generated/Glacier2/Session.h +5894 -0
  32. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +170 -0
  33. data/dist/ice/cpp/include/generated/Ice/Communicator.h +1162 -0
  34. data/dist/ice/cpp/include/generated/Ice/CommunicatorF.h +101 -0
  35. data/dist/ice/cpp/include/generated/Ice/Connection.h +1703 -0
  36. data/dist/ice/cpp/include/generated/Ice/ConnectionF.h +119 -0
  37. data/dist/ice/cpp/include/generated/Ice/Current.h +322 -0
  38. data/dist/ice/cpp/include/generated/Ice/Endpoint.h +979 -0
  39. data/dist/ice/cpp/include/generated/Ice/EndpointF.h +166 -0
  40. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +118 -0
  41. data/dist/ice/cpp/include/generated/Ice/FacetMap.h +80 -0
  42. data/dist/ice/cpp/include/generated/Ice/Identity.h +264 -0
  43. data/dist/ice/cpp/include/generated/Ice/ImplicitContext.h +284 -0
  44. data/dist/ice/cpp/include/generated/Ice/ImplicitContextF.h +101 -0
  45. data/dist/ice/cpp/include/generated/Ice/Instrumentation.h +1203 -0
  46. data/dist/ice/cpp/include/generated/Ice/InstrumentationF.h +128 -0
  47. data/dist/ice/cpp/include/generated/Ice/LocalException.h +7437 -0
  48. data/dist/ice/cpp/include/generated/Ice/Locator.h +3898 -0
  49. data/dist/ice/cpp/include/generated/Ice/LocatorF.h +147 -0
  50. data/dist/ice/cpp/include/generated/Ice/Logger.h +237 -0
  51. data/dist/ice/cpp/include/generated/Ice/LoggerF.h +101 -0
  52. data/dist/ice/cpp/include/generated/Ice/Metrics.h +4769 -0
  53. data/dist/ice/cpp/include/generated/Ice/ObjectAdapter.h +1181 -0
  54. data/dist/ice/cpp/include/generated/Ice/ObjectAdapterF.h +101 -0
  55. data/dist/ice/cpp/include/generated/Ice/ObjectFactory.h +203 -0
  56. data/dist/ice/cpp/include/generated/Ice/Plugin.h +318 -0
  57. data/dist/ice/cpp/include/generated/Ice/PluginF.h +110 -0
  58. data/dist/ice/cpp/include/generated/Ice/Process.h +977 -0
  59. data/dist/ice/cpp/include/generated/Ice/ProcessF.h +125 -0
  60. data/dist/ice/cpp/include/generated/Ice/Properties.h +452 -0
  61. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +1366 -0
  62. data/dist/ice/cpp/include/generated/Ice/PropertiesF.h +134 -0
  63. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +2707 -0
  64. data/dist/ice/cpp/include/generated/Ice/Router.h +1850 -0
  65. data/dist/ice/cpp/include/generated/Ice/RouterF.h +125 -0
  66. data/dist/ice/cpp/include/generated/Ice/ServantLocator.h +305 -0
  67. data/dist/ice/cpp/include/generated/Ice/ServantLocatorF.h +101 -0
  68. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +84 -0
  69. data/dist/ice/cpp/include/generated/Ice/ValueFactory.h +330 -0
  70. data/dist/ice/cpp/include/generated/Ice/Version.h +357 -0
  71. data/dist/ice/cpp/include/generated/IceBox/IceBox.h +3269 -0
  72. data/dist/ice/cpp/include/generated/IceGrid/Admin.h +33773 -0
  73. data/dist/ice/cpp/include/generated/IceGrid/Descriptor.h +5254 -0
  74. data/dist/ice/cpp/include/generated/IceGrid/Exception.h +2834 -0
  75. data/dist/ice/cpp/include/generated/IceGrid/FileParser.h +824 -0
  76. data/dist/ice/cpp/include/generated/IceGrid/PluginFacade.h +635 -0
  77. data/dist/ice/cpp/include/generated/IceGrid/Registry.h +5089 -0
  78. data/dist/ice/cpp/include/generated/IceGrid/Session.h +2240 -0
  79. data/dist/ice/cpp/include/generated/IceGrid/UserAccountMapper.h +800 -0
  80. data/dist/ice/cpp/include/generated/IcePatch2/FileInfo.h +325 -0
  81. data/dist/ice/cpp/include/generated/IcePatch2/FileServer.h +2891 -0
  82. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +228 -0
  83. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +101 -0
  84. data/dist/ice/cpp/include/generated/IceSSL/EndpointInfo.h +186 -0
  85. data/dist/ice/cpp/include/generated/IceStorm/IceStorm.h +6627 -0
  86. data/dist/ice/cpp/include/generated/IceStorm/Metrics.h +665 -0
  87. data/dist/ice/cpp/src/Ice/Application.cpp +661 -0
  88. data/dist/ice/cpp/src/Ice/CountDownLatch.cpp +171 -0
  89. data/dist/ice/cpp/src/Ice/DLLMain.cpp +50 -0
  90. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +189 -0
  91. data/dist/ice/cpp/src/Ice/EndpointI.cpp +98 -0
  92. data/dist/ice/cpp/src/Ice/InputStream.cpp +2741 -0
  93. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +694 -0
  94. data/dist/ice/cpp/src/Ice/Network.cpp +2249 -0
  95. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1530 -0
  96. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1322 -0
  97. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +503 -0
  98. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +1428 -0
  99. data/dist/ice/cpp/src/Ice/PropertyNames.h +78 -0
  100. data/dist/ice/cpp/src/Ice/Proxy.cpp +1604 -0
  101. data/dist/ice/cpp/src/Ice/Selector.cpp +1535 -0
  102. data/dist/ice/cpp/src/Ice/Service.cpp +1883 -0
  103. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1292 -0
  104. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +49 -0
  105. data/dist/ice/cpp/src/Ice/generated/Communicator.cpp +79 -0
  106. data/dist/ice/cpp/src/Ice/generated/CommunicatorF.cpp +61 -0
  107. data/dist/ice/cpp/src/Ice/generated/Connection.cpp +155 -0
  108. data/dist/ice/cpp/src/Ice/generated/ConnectionF.cpp +61 -0
  109. data/dist/ice/cpp/src/Ice/generated/Current.cpp +62 -0
  110. data/dist/ice/cpp/src/Ice/generated/Endpoint.cpp +147 -0
  111. data/dist/ice/cpp/src/Ice/generated/EndpointF.cpp +61 -0
  112. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +51 -0
  113. data/dist/ice/cpp/src/Ice/generated/FacetMap.cpp +49 -0
  114. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +57 -0
  115. data/dist/ice/cpp/src/Ice/generated/ImplicitContext.cpp +75 -0
  116. data/dist/ice/cpp/src/Ice/generated/ImplicitContextF.cpp +61 -0
  117. data/dist/ice/cpp/src/Ice/generated/Instrumentation.cpp +188 -0
  118. data/dist/ice/cpp/src/Ice/generated/InstrumentationF.cpp +66 -0
  119. data/dist/ice/cpp/src/Ice/generated/LocalException.cpp +3262 -0
  120. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +2042 -0
  121. data/dist/ice/cpp/src/Ice/generated/LocatorF.cpp +63 -0
  122. data/dist/ice/cpp/src/Ice/generated/Logger.cpp +73 -0
  123. data/dist/ice/cpp/src/Ice/generated/LoggerF.cpp +61 -0
  124. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +2352 -0
  125. data/dist/ice/cpp/src/Ice/generated/ObjectAdapter.cpp +79 -0
  126. data/dist/ice/cpp/src/Ice/generated/ObjectAdapterF.cpp +61 -0
  127. data/dist/ice/cpp/src/Ice/generated/ObjectFactory.cpp +75 -0
  128. data/dist/ice/cpp/src/Ice/generated/Plugin.cpp +87 -0
  129. data/dist/ice/cpp/src/Ice/generated/PluginF.cpp +61 -0
  130. data/dist/ice/cpp/src/Ice/generated/Process.cpp +471 -0
  131. data/dist/ice/cpp/src/Ice/generated/ProcessF.cpp +63 -0
  132. data/dist/ice/cpp/src/Ice/generated/Properties.cpp +78 -0
  133. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +603 -0
  134. data/dist/ice/cpp/src/Ice/generated/PropertiesF.cpp +63 -0
  135. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +1171 -0
  136. data/dist/ice/cpp/src/Ice/generated/Router.cpp +977 -0
  137. data/dist/ice/cpp/src/Ice/generated/RouterF.cpp +63 -0
  138. data/dist/ice/cpp/src/Ice/generated/ServantLocator.cpp +75 -0
  139. data/dist/ice/cpp/src/Ice/generated/ServantLocatorF.cpp +61 -0
  140. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +49 -0
  141. data/dist/ice/cpp/src/Ice/generated/ValueFactory.cpp +83 -0
  142. data/dist/ice/cpp/src/Ice/generated/Version.cpp +57 -0
  143. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.cpp +154 -0
  144. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.h +49 -0
  145. data/dist/ice/cpp/src/Ice/ios/StreamConnector.cpp +146 -0
  146. data/dist/ice/cpp/src/Ice/ios/StreamConnector.h +52 -0
  147. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.cpp +477 -0
  148. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.h +156 -0
  149. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.cpp +570 -0
  150. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.h +93 -0
  151. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery/IceDiscovery.h +1889 -0
  152. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery.cpp +915 -0
  153. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery/IceLocatorDiscovery.h +1197 -0
  154. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery.cpp +730 -0
  155. data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +1092 -0
  156. data/dist/ice/cpp/src/IceSSL/PluginI.cpp +246 -0
  157. data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +719 -0
  158. data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +868 -0
  159. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfo.cpp +75 -0
  160. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfoF.cpp +61 -0
  161. data/dist/ice/cpp/src/IceSSL/generated/EndpointInfo.cpp +75 -0
  162. data/dist/ice/cpp/src/IceUtil/StringConverter.cpp +690 -0
  163. data/dist/ice/cpp/src/Slice/JavaUtil.cpp +5183 -0
  164. data/dist/ice/cpp/src/slice2rb/Main.cpp +35 -0
  165. data/dist/ice/mcpp/directive.c +1407 -0
  166. data/dist/ice/mcpp/internal.H +530 -0
  167. data/dist/ice/mcpp/mcpp_main.c +792 -0
  168. data/dist/ice/mcpp/support.c +1985 -0
  169. data/dist/ice/mcpp/system.c +2741 -0
  170. data/dist/ice/slice/Ice/Connection.ice +516 -0
  171. data/dist/ice/slice/Ice/Locator.ice +239 -0
  172. data/dist/ice/slice/Ice/Metrics.ice +436 -0
  173. data/dist/ice/slice/Ice/ObjectAdapter.ice +710 -0
  174. data/dist/ice/slice/Ice/Router.ice +103 -0
  175. data/dist/ice/slice/IceGrid/PluginFacade.ice +329 -0
  176. data/dist/ice/slice/IceStorm/IceStorm.ice +414 -0
  177. data/dist/lib/Glacier2/Metrics.rb +56 -0
  178. data/dist/lib/Glacier2/PermissionsVerifier.rb +93 -0
  179. data/dist/lib/Glacier2/PermissionsVerifierF.rb +30 -0
  180. data/dist/lib/Glacier2/Router.rb +95 -0
  181. data/dist/lib/Glacier2/RouterF.rb +25 -0
  182. data/dist/lib/Glacier2/SSLInfo.rb +72 -0
  183. data/dist/lib/Glacier2/Session.rb +247 -0
  184. data/dist/lib/Ice/BuiltinSequences.rb +60 -0
  185. data/dist/lib/Ice/Communicator.rb +87 -0
  186. data/dist/lib/Ice/CommunicatorF.rb +24 -0
  187. data/dist/lib/Ice/Connection.rb +413 -0
  188. data/dist/lib/Ice/ConnectionF.rb +32 -0
  189. data/dist/lib/Ice/Current.rb +141 -0
  190. data/dist/lib/Ice/Endpoint.rb +187 -0
  191. data/dist/lib/Ice/EndpointF.rb +48 -0
  192. data/dist/lib/Ice/EndpointTypes.rb +69 -0
  193. data/dist/lib/Ice/FacetMap.rb +24 -0
  194. data/dist/lib/Ice/Identity.rb +63 -0
  195. data/dist/lib/Ice/ImplicitContext.rb +26 -0
  196. data/dist/lib/Ice/ImplicitContextF.rb +24 -0
  197. data/dist/lib/Ice/Instrumentation.rb +169 -0
  198. data/dist/lib/Ice/InstrumentationF.rb +31 -0
  199. data/dist/lib/Ice/LocalException.rb +1031 -0
  200. data/dist/lib/Ice/Locator.rb +196 -0
  201. data/dist/lib/Ice/LocatorF.rb +30 -0
  202. data/dist/lib/Ice/Logger.rb +24 -0
  203. data/dist/lib/Ice/LoggerF.rb +24 -0
  204. data/dist/lib/Ice/Metrics.rb +337 -0
  205. data/dist/lib/Ice/ObjectAdapter.rb +29 -0
  206. data/dist/lib/Ice/ObjectAdapterF.rb +24 -0
  207. data/dist/lib/Ice/ObjectFactory.rb +24 -0
  208. data/dist/lib/Ice/Plugin.rb +30 -0
  209. data/dist/lib/Ice/PluginF.rb +28 -0
  210. data/dist/lib/Ice/Process.rb +53 -0
  211. data/dist/lib/Ice/ProcessF.rb +25 -0
  212. data/dist/lib/Ice/Properties.rb +25 -0
  213. data/dist/lib/Ice/PropertiesAdmin.rb +63 -0
  214. data/dist/lib/Ice/PropertiesF.rb +29 -0
  215. data/dist/lib/Ice/RemoteLogger.rb +207 -0
  216. data/dist/lib/Ice/Router.rb +87 -0
  217. data/dist/lib/Ice/RouterF.rb +25 -0
  218. data/dist/lib/Ice/ServantLocator.rb +26 -0
  219. data/dist/lib/Ice/ServantLocatorF.rb +24 -0
  220. data/dist/lib/Ice/SliceChecksumDict.rb +24 -0
  221. data/dist/lib/Ice/ValueFactory.rb +28 -0
  222. data/dist/lib/Ice/Version.rb +90 -0
  223. data/dist/lib/IceBox/IceBox.rb +164 -0
  224. data/dist/lib/IceGrid/Admin.rb +1196 -0
  225. data/dist/lib/IceGrid/Descriptor.rb +1034 -0
  226. data/dist/lib/IceGrid/Exception.rb +376 -0
  227. data/dist/lib/IceGrid/FileParser.rb +65 -0
  228. data/dist/lib/IceGrid/PluginFacade.rb +35 -0
  229. data/dist/lib/IceGrid/Registry.rb +209 -0
  230. data/dist/lib/IceGrid/Session.rb +71 -0
  231. data/dist/lib/IceGrid/UserAccountMapper.rb +61 -0
  232. data/dist/lib/IcePatch2/FileInfo.rb +115 -0
  233. data/dist/lib/IcePatch2/FileServer.rb +123 -0
  234. data/dist/lib/IceStorm/IceStorm.rb +332 -0
  235. data/dist/lib/IceStorm/Metrics.rb +73 -0
  236. data/extconf.rb +91 -0
  237. data/ice.gemspec +21 -16
  238. metadata +715 -711
  239. data/ICE_LICENSE +0 -48
  240. data/LICENSE +0 -340
  241. data/MCPP_LICENSE +0 -29
  242. data/ext/Connection.cpp +0 -532
  243. data/ext/Endpoint.cpp +0 -340
  244. data/ext/ImplicitContext.cpp +0 -144
  245. data/ext/Logger.cpp +0 -147
  246. data/ext/Operation.cpp +0 -661
  247. data/ext/Properties.cpp +0 -365
  248. data/ext/Types.cpp +0 -3325
  249. data/ext/Types.h +0 -595
  250. data/ext/ValueFactoryManager.cpp +0 -441
  251. data/ext/extconf.rb +0 -97
  252. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  253. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  254. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  255. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  256. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  257. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  258. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  259. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  260. data/ext/ice/cpp/include/IceUtil/Config.h +0 -392
  261. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  262. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  263. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
  264. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -144
  265. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  266. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  267. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  268. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  269. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  270. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  271. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  272. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  273. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  274. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  275. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  276. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  277. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  278. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  279. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  280. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  281. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  282. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  283. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  284. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  285. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  286. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  287. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  288. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  289. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  290. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  291. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  292. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  293. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  294. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  295. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  296. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  297. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  298. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  299. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  300. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  301. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  302. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  303. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  304. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  305. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  306. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  307. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  308. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  309. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  310. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  311. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  312. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
  313. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  314. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  315. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  316. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  317. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  318. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  319. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  320. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  321. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  322. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  323. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  324. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  325. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  326. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  327. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  328. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  329. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  330. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  331. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  332. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  333. data/ext/ice/cpp/src/Ice/Network.cpp +0 -2249
  334. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  335. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  336. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  337. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  338. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  339. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  340. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  341. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  342. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  343. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  344. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  345. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  346. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  347. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  348. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  349. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  350. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  351. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  352. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  353. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1525
  354. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  355. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  356. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  357. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1292
  358. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  359. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  360. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  361. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  362. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  363. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  364. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  365. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  366. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  367. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  368. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  369. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  370. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  371. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  372. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  373. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  374. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  375. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  376. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  377. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  378. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  379. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5176
  380. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  381. data/ext/ice/mcpp/LICENSE +0 -29
  382. data/ext/ice/mcpp/Makefile +0 -63
  383. data/ext/ice/mcpp/README.md +0 -32
  384. data/ext/ice/mcpp/directive.c +0 -1404
  385. data/ext/ice/mcpp/internal.H +0 -530
  386. data/ext/ice/mcpp/main.c +0 -792
  387. data/ext/ice/mcpp/mcpp.gyp +0 -88
  388. data/ext/ice/mcpp/support.c +0 -1985
  389. data/ext/ice/mcpp/system.c +0 -2737
  390. data/lib/Glacier2/Metrics.rb +0 -56
  391. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  392. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  393. data/lib/Glacier2/Router.rb +0 -95
  394. data/lib/Glacier2/RouterF.rb +0 -25
  395. data/lib/Glacier2/SSLInfo.rb +0 -72
  396. data/lib/Glacier2/Session.rb +0 -247
  397. data/lib/Ice/BuiltinSequences.rb +0 -60
  398. data/lib/Ice/Communicator.rb +0 -87
  399. data/lib/Ice/CommunicatorF.rb +0 -24
  400. data/lib/Ice/Connection.rb +0 -413
  401. data/lib/Ice/ConnectionF.rb +0 -32
  402. data/lib/Ice/Current.rb +0 -141
  403. data/lib/Ice/Endpoint.rb +0 -187
  404. data/lib/Ice/EndpointF.rb +0 -48
  405. data/lib/Ice/EndpointTypes.rb +0 -69
  406. data/lib/Ice/FacetMap.rb +0 -24
  407. data/lib/Ice/Identity.rb +0 -63
  408. data/lib/Ice/ImplicitContext.rb +0 -26
  409. data/lib/Ice/ImplicitContextF.rb +0 -24
  410. data/lib/Ice/Instrumentation.rb +0 -169
  411. data/lib/Ice/InstrumentationF.rb +0 -31
  412. data/lib/Ice/LocalException.rb +0 -1031
  413. data/lib/Ice/Locator.rb +0 -196
  414. data/lib/Ice/LocatorF.rb +0 -30
  415. data/lib/Ice/Logger.rb +0 -24
  416. data/lib/Ice/LoggerF.rb +0 -24
  417. data/lib/Ice/Metrics.rb +0 -337
  418. data/lib/Ice/ObjectAdapter.rb +0 -29
  419. data/lib/Ice/ObjectAdapterF.rb +0 -24
  420. data/lib/Ice/ObjectFactory.rb +0 -24
  421. data/lib/Ice/Plugin.rb +0 -30
  422. data/lib/Ice/PluginF.rb +0 -28
  423. data/lib/Ice/Process.rb +0 -53
  424. data/lib/Ice/ProcessF.rb +0 -25
  425. data/lib/Ice/Properties.rb +0 -25
  426. data/lib/Ice/PropertiesAdmin.rb +0 -63
  427. data/lib/Ice/PropertiesF.rb +0 -29
  428. data/lib/Ice/RemoteLogger.rb +0 -207
  429. data/lib/Ice/Router.rb +0 -87
  430. data/lib/Ice/RouterF.rb +0 -25
  431. data/lib/Ice/ServantLocator.rb +0 -26
  432. data/lib/Ice/ServantLocatorF.rb +0 -24
  433. data/lib/Ice/SliceChecksumDict.rb +0 -24
  434. data/lib/Ice/ValueFactory.rb +0 -28
  435. data/lib/Ice/Version.rb +0 -90
  436. data/lib/IceBox/IceBox.rb +0 -164
  437. data/lib/IceGrid/Admin.rb +0 -1196
  438. data/lib/IceGrid/Descriptor.rb +0 -1034
  439. data/lib/IceGrid/Exception.rb +0 -376
  440. data/lib/IceGrid/FileParser.rb +0 -65
  441. data/lib/IceGrid/PluginFacade.rb +0 -35
  442. data/lib/IceGrid/Registry.rb +0 -209
  443. data/lib/IceGrid/Session.rb +0 -71
  444. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  445. data/lib/IcePatch2/FileInfo.rb +0 -115
  446. data/lib/IcePatch2/FileServer.rb +0 -123
  447. data/lib/IceStorm/IceStorm.rb +0 -332
  448. data/lib/IceStorm/Metrics.rb +0 -73
  449. data/slice/Ice/Connection.ice +0 -516
  450. data/slice/Ice/Locator.ice +0 -239
  451. data/slice/Ice/Metrics.ice +0 -436
  452. data/slice/Ice/ObjectAdapter.ice +0 -710
  453. data/slice/Ice/Router.ice +0 -103
  454. data/slice/IceBT/ConnectionInfo.ice +0 -59
  455. data/slice/IceBT/EndpointInfo.ice +0 -57
  456. data/slice/IceBT/Types.ice +0 -45
  457. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  458. data/slice/IceGrid/PluginFacade.ice +0 -329
  459. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  460. data/slice/IceIAP/EndpointInfo.ice +0 -68
  461. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  462. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  463. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  464. data/slice/IceSSL/EndpointInfo.ice +0 -45
  465. data/slice/IceStorm/IceStorm.ice +0 -414
  466. /data/{ext → dist/IceRuby}/Communicator.cpp +0 -0
  467. /data/{ext → dist/IceRuby}/Communicator.h +0 -0
  468. /data/{ext → dist/IceRuby}/Config.h +0 -0
  469. /data/{ext → dist/IceRuby}/Connection.h +0 -0
  470. /data/{ext → dist/IceRuby}/Endpoint.h +0 -0
  471. /data/{ext → dist/IceRuby}/ImplicitContext.h +0 -0
  472. /data/{ext → dist/IceRuby}/Init.cpp +0 -0
  473. /data/{ext → dist/IceRuby}/Logger.h +0 -0
  474. /data/{ext → dist/IceRuby}/Operation.h +0 -0
  475. /data/{ext → dist/IceRuby}/Properties.h +0 -0
  476. /data/{ext → dist/IceRuby}/Proxy.cpp +0 -0
  477. /data/{ext → dist/IceRuby}/Proxy.h +0 -0
  478. /data/{ext → dist/IceRuby}/Slice.cpp +0 -0
  479. /data/{ext → dist/IceRuby}/Slice.h +0 -0
  480. /data/{ext → dist/IceRuby}/Util.cpp +0 -0
  481. /data/{ext → dist/IceRuby}/Util.h +0 -0
  482. /data/{ext → dist/IceRuby}/ValueFactoryManager.h +0 -0
  483. /data/{ext → dist}/ice/cpp/include/Ice/Application.h +0 -0
  484. /data/{ext → dist}/ice/cpp/include/Ice/AsyncResult.h +0 -0
  485. /data/{ext → dist}/ice/cpp/include/Ice/AsyncResultF.h +0 -0
  486. /data/{ext → dist}/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -0
  487. /data/{ext → dist}/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -0
  488. /data/{ext → dist}/ice/cpp/include/Ice/Buffer.h +0 -0
  489. /data/{ext → dist}/ice/cpp/include/Ice/CommunicatorAsync.h +0 -0
  490. /data/{ext → dist}/ice/cpp/include/Ice/Comparable.h +0 -0
  491. /data/{ext → dist}/ice/cpp/include/Ice/Config.h +0 -0
  492. /data/{ext → dist}/ice/cpp/include/Ice/ConnectionAsync.h +0 -0
  493. /data/{ext → dist}/ice/cpp/include/Ice/ConnectionIF.h +0 -0
  494. /data/{ext → dist}/ice/cpp/include/Ice/ConsoleUtil.h +0 -0
  495. /data/{ext → dist}/ice/cpp/include/Ice/DefaultValueFactory.h +0 -0
  496. /data/{ext → dist}/ice/cpp/include/Ice/DispatchInterceptor.h +0 -0
  497. /data/{ext → dist}/ice/cpp/include/Ice/Dispatcher.h +0 -0
  498. /data/{ext → dist}/ice/cpp/include/Ice/DynamicLibrary.h +0 -0
  499. /data/{ext → dist}/ice/cpp/include/Ice/DynamicLibraryF.h +0 -0
  500. /data/{ext → dist}/ice/cpp/include/Ice/Exception.h +0 -0
  501. /data/{ext → dist}/ice/cpp/include/Ice/FactoryTable.h +0 -0
  502. /data/{ext → dist}/ice/cpp/include/Ice/FactoryTableInit.h +0 -0
  503. /data/{ext → dist}/ice/cpp/include/Ice/Format.h +0 -0
  504. /data/{ext → dist}/ice/cpp/include/Ice/Functional.h +0 -0
  505. /data/{ext → dist}/ice/cpp/include/Ice/GCObject.h +0 -0
  506. /data/{ext → dist}/ice/cpp/include/Ice/Handle.h +0 -0
  507. /data/{ext → dist}/ice/cpp/include/Ice/Ice.h +0 -0
  508. /data/{ext → dist}/ice/cpp/include/Ice/IconvStringConverter.h +0 -0
  509. /data/{ext → dist}/ice/cpp/include/Ice/Incoming.h +0 -0
  510. /data/{ext → dist}/ice/cpp/include/Ice/IncomingAsync.h +0 -0
  511. /data/{ext → dist}/ice/cpp/include/Ice/IncomingAsyncF.h +0 -0
  512. /data/{ext → dist}/ice/cpp/include/Ice/InputStream.h +0 -0
  513. /data/{ext → dist}/ice/cpp/include/Ice/InstanceF.h +0 -0
  514. /data/{ext → dist}/ice/cpp/include/Ice/InterfaceByValue.h +0 -0
  515. /data/{ext → dist}/ice/cpp/include/Ice/LocalObject.h +0 -0
  516. /data/{ext → dist}/ice/cpp/include/Ice/LocalObjectF.h +0 -0
  517. /data/{ext → dist}/ice/cpp/include/Ice/LoggerUtil.h +0 -0
  518. /data/{ext → dist}/ice/cpp/include/Ice/MetricsAdminI.h +0 -0
  519. /data/{ext → dist}/ice/cpp/include/Ice/MetricsFunctional.h +0 -0
  520. /data/{ext → dist}/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -0
  521. /data/{ext → dist}/ice/cpp/include/Ice/Object.h +0 -0
  522. /data/{ext → dist}/ice/cpp/include/Ice/ObjectF.h +0 -0
  523. /data/{ext → dist}/ice/cpp/include/Ice/ObserverHelper.h +0 -0
  524. /data/{ext → dist}/ice/cpp/include/Ice/Optional.h +0 -0
  525. /data/{ext → dist}/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -0
  526. /data/{ext → dist}/ice/cpp/include/Ice/OutputStream.h +0 -0
  527. /data/{ext → dist}/ice/cpp/include/Ice/Protocol.h +0 -0
  528. /data/{ext → dist}/ice/cpp/include/Ice/ProxyF.h +0 -0
  529. /data/{ext → dist}/ice/cpp/include/Ice/ProxyFactoryF.h +0 -0
  530. /data/{ext → dist}/ice/cpp/include/Ice/ProxyHandle.h +0 -0
  531. /data/{ext → dist}/ice/cpp/include/Ice/ReferenceF.h +0 -0
  532. /data/{ext → dist}/ice/cpp/include/Ice/RegisterPlugins.h +0 -0
  533. /data/{ext → dist}/ice/cpp/include/Ice/RequestHandlerF.h +0 -0
  534. /data/{ext → dist}/ice/cpp/include/Ice/ResponseHandlerF.h +0 -0
  535. /data/{ext → dist}/ice/cpp/include/Ice/SHA1.h +0 -0
  536. /data/{ext → dist}/ice/cpp/include/Ice/ServantManagerF.h +0 -0
  537. /data/{ext → dist}/ice/cpp/include/Ice/Service.h +0 -0
  538. /data/{ext → dist}/ice/cpp/include/Ice/SliceChecksums.h +0 -0
  539. /data/{ext → dist}/ice/cpp/include/Ice/SlicedData.h +0 -0
  540. /data/{ext → dist}/ice/cpp/include/Ice/SlicedDataF.h +0 -0
  541. /data/{ext → dist}/ice/cpp/include/Ice/StreamHelpers.h +0 -0
  542. /data/{ext → dist}/ice/cpp/include/Ice/StringConverter.h +0 -0
  543. /data/{ext → dist}/ice/cpp/include/Ice/ThreadPoolF.h +0 -0
  544. /data/{ext → dist}/ice/cpp/include/Ice/UUID.h +0 -0
  545. /data/{ext → dist}/ice/cpp/include/Ice/UniquePtr.h +0 -0
  546. /data/{ext → dist}/ice/cpp/include/Ice/UniqueRef.h +0 -0
  547. /data/{ext → dist}/ice/cpp/include/Ice/Value.h +0 -0
  548. /data/{ext → dist}/ice/cpp/include/Ice/ValueF.h +0 -0
  549. /data/{ext → dist}/ice/cpp/include/IceSSL/Config.h +0 -0
  550. /data/{ext → dist}/ice/cpp/include/IceSSL/IceSSL.h +0 -0
  551. /data/{ext → dist}/ice/cpp/include/IceSSL/OpenSSL.h +0 -0
  552. /data/{ext → dist}/ice/cpp/include/IceSSL/Plugin.h +0 -0
  553. /data/{ext → dist}/ice/cpp/include/IceSSL/SChannel.h +0 -0
  554. /data/{ext → dist}/ice/cpp/include/IceSSL/SecureTransport.h +0 -0
  555. /data/{ext → dist}/ice/cpp/include/IceUtil/Atomic.h +0 -0
  556. /data/{ext → dist}/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -0
  557. /data/{ext → dist}/ice/cpp/include/IceUtil/CountDownLatch.h +0 -0
  558. /data/{ext → dist}/ice/cpp/include/IceUtil/DisableWarnings.h +0 -0
  559. /data/{ext → dist}/ice/cpp/include/IceUtil/Exception.h +0 -0
  560. /data/{ext → dist}/ice/cpp/include/IceUtil/FileUtil.h +0 -0
  561. /data/{ext → dist}/ice/cpp/include/IceUtil/Functional.h +0 -0
  562. /data/{ext → dist}/ice/cpp/include/IceUtil/Handle.h +0 -0
  563. /data/{ext → dist}/ice/cpp/include/IceUtil/IceUtil.h +0 -0
  564. /data/{ext → dist}/ice/cpp/include/IceUtil/Iterator.h +0 -0
  565. /data/{ext → dist}/ice/cpp/include/IceUtil/Lock.h +0 -0
  566. /data/{ext → dist}/ice/cpp/include/IceUtil/Monitor.h +0 -0
  567. /data/{ext → dist}/ice/cpp/include/IceUtil/Mutex.h +0 -0
  568. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexProtocol.h +0 -0
  569. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -0
  570. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -0
  571. /data/{ext → dist}/ice/cpp/include/IceUtil/Optional.h +0 -0
  572. /data/{ext → dist}/ice/cpp/include/IceUtil/Options.h +0 -0
  573. /data/{ext → dist}/ice/cpp/include/IceUtil/OutputUtil.h +0 -0
  574. /data/{ext → dist}/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -0
  575. /data/{ext → dist}/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -0
  576. /data/{ext → dist}/ice/cpp/include/IceUtil/Random.h +0 -0
  577. /data/{ext → dist}/ice/cpp/include/IceUtil/RecMutex.h +0 -0
  578. /data/{ext → dist}/ice/cpp/include/IceUtil/ScannerConfig.h +0 -0
  579. /data/{ext → dist}/ice/cpp/include/IceUtil/ScopedArray.h +0 -0
  580. /data/{ext → dist}/ice/cpp/include/IceUtil/Shared.h +0 -0
  581. /data/{ext → dist}/ice/cpp/include/IceUtil/StopWatch.h +0 -0
  582. /data/{ext → dist}/ice/cpp/include/IceUtil/StringConverter.h +0 -0
  583. /data/{ext → dist}/ice/cpp/include/IceUtil/StringUtil.h +0 -0
  584. /data/{ext → dist}/ice/cpp/include/IceUtil/Thread.h +0 -0
  585. /data/{ext → dist}/ice/cpp/include/IceUtil/ThreadException.h +0 -0
  586. /data/{ext → dist}/ice/cpp/include/IceUtil/Time.h +0 -0
  587. /data/{ext → dist}/ice/cpp/include/IceUtil/UUID.h +0 -0
  588. /data/{ext → dist}/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -0
  589. /data/{ext → dist}/ice/cpp/src/Ice/ACM.cpp +0 -0
  590. /data/{ext → dist}/ice/cpp/src/Ice/ACM.h +0 -0
  591. /data/{ext → dist}/ice/cpp/src/Ice/ACMF.h +0 -0
  592. /data/{ext → dist}/ice/cpp/src/Ice/Acceptor.cpp +0 -0
  593. /data/{ext → dist}/ice/cpp/src/Ice/Acceptor.h +0 -0
  594. /data/{ext → dist}/ice/cpp/src/Ice/AcceptorF.h +0 -0
  595. /data/{ext → dist}/ice/cpp/src/Ice/ArgVector.cpp +0 -0
  596. /data/{ext → dist}/ice/cpp/src/Ice/ArgVector.h +0 -0
  597. /data/{ext → dist}/ice/cpp/src/Ice/AsyncResult.cpp +0 -0
  598. /data/{ext → dist}/ice/cpp/src/Ice/Base64.cpp +0 -0
  599. /data/{ext → dist}/ice/cpp/src/Ice/Base64.h +0 -0
  600. /data/{ext → dist}/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -0
  601. /data/{ext → dist}/ice/cpp/src/Ice/BatchRequestQueue.h +0 -0
  602. /data/{ext → dist}/ice/cpp/src/Ice/Buffer.cpp +0 -0
  603. /data/{ext → dist}/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -0
  604. /data/{ext → dist}/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -0
  605. /data/{ext → dist}/ice/cpp/src/Ice/CommunicatorI.cpp +0 -0
  606. /data/{ext → dist}/ice/cpp/src/Ice/CommunicatorI.h +0 -0
  607. /data/{ext → dist}/ice/cpp/src/Ice/Cond.cpp +0 -0
  608. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -0
  609. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -0
  610. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -0
  611. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -0
  612. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionFactory.h +0 -0
  613. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -0
  614. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionI.cpp +0 -0
  615. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionI.h +0 -0
  616. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -0
  617. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -0
  618. /data/{ext → dist}/ice/cpp/src/Ice/Connector.cpp +0 -0
  619. /data/{ext → dist}/ice/cpp/src/Ice/Connector.h +0 -0
  620. /data/{ext → dist}/ice/cpp/src/Ice/ConnectorF.h +0 -0
  621. /data/{ext → dist}/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -0
  622. /data/{ext → dist}/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -0
  623. /data/{ext → dist}/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -0
  624. /data/{ext → dist}/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -0
  625. /data/{ext → dist}/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -0
  626. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactory.h +0 -0
  627. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryF.h +0 -0
  628. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -0
  629. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -0
  630. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -0
  631. /data/{ext → dist}/ice/cpp/src/Ice/EndpointI.h +0 -0
  632. /data/{ext → dist}/ice/cpp/src/Ice/EndpointIF.h +0 -0
  633. /data/{ext → dist}/ice/cpp/src/Ice/EventHandler.cpp +0 -0
  634. /data/{ext → dist}/ice/cpp/src/Ice/EventHandler.h +0 -0
  635. /data/{ext → dist}/ice/cpp/src/Ice/EventHandlerF.h +0 -0
  636. /data/{ext → dist}/ice/cpp/src/Ice/Exception.cpp +0 -0
  637. /data/{ext → dist}/ice/cpp/src/Ice/FactoryTable.cpp +0 -0
  638. /data/{ext → dist}/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -0
  639. /data/{ext → dist}/ice/cpp/src/Ice/GCObject.cpp +0 -0
  640. /data/{ext → dist}/ice/cpp/src/Ice/HashUtil.h +0 -0
  641. /data/{ext → dist}/ice/cpp/src/Ice/HttpParser.cpp +0 -0
  642. /data/{ext → dist}/ice/cpp/src/Ice/HttpParser.h +0 -0
  643. /data/{ext → dist}/ice/cpp/src/Ice/IPEndpointI.cpp +0 -0
  644. /data/{ext → dist}/ice/cpp/src/Ice/IPEndpointI.h +0 -0
  645. /data/{ext → dist}/ice/cpp/src/Ice/IPEndpointIF.h +0 -0
  646. /data/{ext → dist}/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -0
  647. /data/{ext → dist}/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -0
  648. /data/{ext → dist}/ice/cpp/src/Ice/ImplicitContextI.h +0 -0
  649. /data/{ext → dist}/ice/cpp/src/Ice/Incoming.cpp +0 -0
  650. /data/{ext → dist}/ice/cpp/src/Ice/IncomingAsync.cpp +0 -0
  651. /data/{ext → dist}/ice/cpp/src/Ice/IncomingRequest.h +0 -0
  652. /data/{ext → dist}/ice/cpp/src/Ice/Initialize.cpp +0 -0
  653. /data/{ext → dist}/ice/cpp/src/Ice/Instance.cpp +0 -0
  654. /data/{ext → dist}/ice/cpp/src/Ice/Instance.h +0 -0
  655. /data/{ext → dist}/ice/cpp/src/Ice/InstrumentationI.cpp +0 -0
  656. /data/{ext → dist}/ice/cpp/src/Ice/InstrumentationI.h +0 -0
  657. /data/{ext → dist}/ice/cpp/src/Ice/LocalObject.cpp +0 -0
  658. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfo.cpp +0 -0
  659. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfo.h +0 -0
  660. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfoF.h +0 -0
  661. /data/{ext → dist}/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -0
  662. /data/{ext → dist}/ice/cpp/src/Ice/LoggerAdminI.h +0 -0
  663. /data/{ext → dist}/ice/cpp/src/Ice/LoggerI.cpp +0 -0
  664. /data/{ext → dist}/ice/cpp/src/Ice/LoggerI.h +0 -0
  665. /data/{ext → dist}/ice/cpp/src/Ice/LoggerUtil.cpp +0 -0
  666. /data/{ext → dist}/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -0
  667. /data/{ext → dist}/ice/cpp/src/Ice/Network.h +0 -0
  668. /data/{ext → dist}/ice/cpp/src/Ice/NetworkF.h +0 -0
  669. /data/{ext → dist}/ice/cpp/src/Ice/NetworkProxy.cpp +0 -0
  670. /data/{ext → dist}/ice/cpp/src/Ice/NetworkProxy.h +0 -0
  671. /data/{ext → dist}/ice/cpp/src/Ice/NetworkProxyF.h +0 -0
  672. /data/{ext → dist}/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -0
  673. /data/{ext → dist}/ice/cpp/src/Ice/OSLogLoggerI.h +0 -0
  674. /data/{ext → dist}/ice/cpp/src/Ice/Object.cpp +0 -0
  675. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -0
  676. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -0
  677. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -0
  678. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterI.h +0 -0
  679. /data/{ext → dist}/ice/cpp/src/Ice/ObserverHelper.cpp +0 -0
  680. /data/{ext → dist}/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -0
  681. /data/{ext → dist}/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -0
  682. /data/{ext → dist}/ice/cpp/src/Ice/OutputStream.cpp +0 -0
  683. /data/{ext → dist}/ice/cpp/src/Ice/PluginManagerI.h +0 -0
  684. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -0
  685. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesAdminI.h +0 -0
  686. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesI.cpp +0 -0
  687. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesI.h +0 -0
  688. /data/{ext → dist}/ice/cpp/src/Ice/Protocol.cpp +0 -0
  689. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -0
  690. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstance.h +0 -0
  691. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -0
  692. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -0
  693. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -0
  694. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -0
  695. /data/{ext → dist}/ice/cpp/src/Ice/ProxyFactory.cpp +0 -0
  696. /data/{ext → dist}/ice/cpp/src/Ice/ProxyFactory.h +0 -0
  697. /data/{ext → dist}/ice/cpp/src/Ice/Reference.cpp +0 -0
  698. /data/{ext → dist}/ice/cpp/src/Ice/Reference.h +0 -0
  699. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -0
  700. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactory.h +0 -0
  701. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -0
  702. /data/{ext → dist}/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -0
  703. /data/{ext → dist}/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -0
  704. /data/{ext → dist}/ice/cpp/src/Ice/ReplyStatus.h +0 -0
  705. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandler.cpp +0 -0
  706. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandler.h +0 -0
  707. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -0
  708. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -0
  709. /data/{ext → dist}/ice/cpp/src/Ice/ResponseHandler.cpp +0 -0
  710. /data/{ext → dist}/ice/cpp/src/Ice/ResponseHandler.h +0 -0
  711. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueue.cpp +0 -0
  712. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueue.h +0 -0
  713. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueueF.h +0 -0
  714. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfo.cpp +0 -0
  715. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfo.h +0 -0
  716. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfoF.h +0 -0
  717. /data/{ext → dist}/ice/cpp/src/Ice/SHA1.cpp +0 -0
  718. /data/{ext → dist}/ice/cpp/src/Ice/Selector.h +0 -0
  719. /data/{ext → dist}/ice/cpp/src/Ice/ServantManager.cpp +0 -0
  720. /data/{ext → dist}/ice/cpp/src/Ice/ServantManager.h +0 -0
  721. /data/{ext → dist}/ice/cpp/src/Ice/SharedContext.h +0 -0
  722. /data/{ext → dist}/ice/cpp/src/Ice/SliceChecksums.cpp +0 -0
  723. /data/{ext → dist}/ice/cpp/src/Ice/SlicedData.cpp +0 -0
  724. /data/{ext → dist}/ice/cpp/src/Ice/StreamSocket.cpp +0 -0
  725. /data/{ext → dist}/ice/cpp/src/Ice/StreamSocket.h +0 -0
  726. /data/{ext → dist}/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -0
  727. /data/{ext → dist}/ice/cpp/src/Ice/StringUtil.h +0 -0
  728. /data/{ext → dist}/ice/cpp/src/Ice/SysLoggerI.cpp +0 -0
  729. /data/{ext → dist}/ice/cpp/src/Ice/SysLoggerI.h +0 -0
  730. /data/{ext → dist}/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -0
  731. /data/{ext → dist}/ice/cpp/src/Ice/SystemdJournalI.h +0 -0
  732. /data/{ext → dist}/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -0
  733. /data/{ext → dist}/ice/cpp/src/Ice/TcpAcceptor.h +0 -0
  734. /data/{ext → dist}/ice/cpp/src/Ice/TcpConnector.cpp +0 -0
  735. /data/{ext → dist}/ice/cpp/src/Ice/TcpConnector.h +0 -0
  736. /data/{ext → dist}/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -0
  737. /data/{ext → dist}/ice/cpp/src/Ice/TcpEndpointI.h +0 -0
  738. /data/{ext → dist}/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -0
  739. /data/{ext → dist}/ice/cpp/src/Ice/TcpTransceiver.h +0 -0
  740. /data/{ext → dist}/ice/cpp/src/Ice/Thread.cpp +0 -0
  741. /data/{ext → dist}/ice/cpp/src/Ice/ThreadPool.h +0 -0
  742. /data/{ext → dist}/ice/cpp/src/Ice/Timer.cpp +0 -0
  743. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevels.cpp +0 -0
  744. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevels.h +0 -0
  745. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevelsF.h +0 -0
  746. /data/{ext → dist}/ice/cpp/src/Ice/TraceUtil.cpp +0 -0
  747. /data/{ext → dist}/ice/cpp/src/Ice/TraceUtil.h +0 -0
  748. /data/{ext → dist}/ice/cpp/src/Ice/Transceiver.cpp +0 -0
  749. /data/{ext → dist}/ice/cpp/src/Ice/Transceiver.h +0 -0
  750. /data/{ext → dist}/ice/cpp/src/Ice/TransceiverF.h +0 -0
  751. /data/{ext → dist}/ice/cpp/src/Ice/UdpConnector.cpp +0 -0
  752. /data/{ext → dist}/ice/cpp/src/Ice/UdpConnector.h +0 -0
  753. /data/{ext → dist}/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -0
  754. /data/{ext → dist}/ice/cpp/src/Ice/UdpEndpointI.h +0 -0
  755. /data/{ext → dist}/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -0
  756. /data/{ext → dist}/ice/cpp/src/Ice/UdpTransceiver.h +0 -0
  757. /data/{ext → dist}/ice/cpp/src/Ice/Value.cpp +0 -0
  758. /data/{ext → dist}/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -0
  759. /data/{ext → dist}/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -0
  760. /data/{ext → dist}/ice/cpp/src/Ice/VirtualShared.h +0 -0
  761. /data/{ext → dist}/ice/cpp/src/Ice/WSAcceptor.cpp +0 -0
  762. /data/{ext → dist}/ice/cpp/src/Ice/WSAcceptor.h +0 -0
  763. /data/{ext → dist}/ice/cpp/src/Ice/WSConnector.cpp +0 -0
  764. /data/{ext → dist}/ice/cpp/src/Ice/WSConnector.h +0 -0
  765. /data/{ext → dist}/ice/cpp/src/Ice/WSEndpoint.cpp +0 -0
  766. /data/{ext → dist}/ice/cpp/src/Ice/WSEndpoint.h +0 -0
  767. /data/{ext → dist}/ice/cpp/src/Ice/WSTransceiver.cpp +0 -0
  768. /data/{ext → dist}/ice/cpp/src/Ice/WSTransceiver.h +0 -0
  769. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -0
  770. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LocatorI.h +0 -0
  771. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -0
  772. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LookupI.h +0 -0
  773. /data/{ext → dist}/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -0
  774. /data/{ext → dist}/ice/cpp/src/IceDiscovery/PluginI.h +0 -0
  775. /data/{ext → dist}/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -0
  776. /data/{ext → dist}/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -0
  777. /data/{ext → dist}/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -0
  778. /data/{ext → dist}/ice/cpp/src/IceSSL/AcceptorI.h +0 -0
  779. /data/{ext → dist}/ice/cpp/src/IceSSL/CertificateI.cpp +0 -0
  780. /data/{ext → dist}/ice/cpp/src/IceSSL/CertificateI.h +0 -0
  781. /data/{ext → dist}/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -0
  782. /data/{ext → dist}/ice/cpp/src/IceSSL/ConnectorI.h +0 -0
  783. /data/{ext → dist}/ice/cpp/src/IceSSL/EndpointI.cpp +0 -0
  784. /data/{ext → dist}/ice/cpp/src/IceSSL/EndpointI.h +0 -0
  785. /data/{ext → dist}/ice/cpp/src/IceSSL/Instance.cpp +0 -0
  786. /data/{ext → dist}/ice/cpp/src/IceSSL/Instance.h +0 -0
  787. /data/{ext → dist}/ice/cpp/src/IceSSL/InstanceF.h +0 -0
  788. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -0
  789. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -0
  790. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -0
  791. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -0
  792. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -0
  793. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -0
  794. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -0
  795. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -0
  796. /data/{ext → dist}/ice/cpp/src/IceSSL/PluginI.h +0 -0
  797. /data/{ext → dist}/ice/cpp/src/IceSSL/RFC2253.cpp +0 -0
  798. /data/{ext → dist}/ice/cpp/src/IceSSL/RFC2253.h +0 -0
  799. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -0
  800. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -0
  801. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngine.h +0 -0
  802. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -0
  803. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -0
  804. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -0
  805. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -0
  806. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -0
  807. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngine.h +0 -0
  808. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngineF.h +0 -0
  809. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -0
  810. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -0
  811. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -0
  812. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -0
  813. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -0
  814. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -0
  815. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -0
  816. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManager.cpp +0 -0
  817. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManager.h +0 -0
  818. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManagerF.h +0 -0
  819. /data/{ext → dist}/ice/cpp/src/IceSSL/Util.cpp +0 -0
  820. /data/{ext → dist}/ice/cpp/src/IceSSL/Util.h +0 -0
  821. /data/{ext → dist}/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -0
  822. /data/{ext → dist}/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -0
  823. /data/{ext → dist}/ice/cpp/src/IceUtil/ConvertUTF.h +0 -0
  824. /data/{ext → dist}/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -0
  825. /data/{ext → dist}/ice/cpp/src/IceUtil/FileUtil.cpp +0 -0
  826. /data/{ext → dist}/ice/cpp/src/IceUtil/InputUtil.cpp +0 -0
  827. /data/{ext → dist}/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -0
  828. /data/{ext → dist}/ice/cpp/src/IceUtil/Options.cpp +0 -0
  829. /data/{ext → dist}/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -0
  830. /data/{ext → dist}/ice/cpp/src/IceUtil/Random.cpp +0 -0
  831. /data/{ext → dist}/ice/cpp/src/IceUtil/RecMutex.cpp +0 -0
  832. /data/{ext → dist}/ice/cpp/src/IceUtil/Shared.cpp +0 -0
  833. /data/{ext → dist}/ice/cpp/src/IceUtil/StringUtil.cpp +0 -0
  834. /data/{ext → dist}/ice/cpp/src/IceUtil/ThreadException.cpp +0 -0
  835. /data/{ext → dist}/ice/cpp/src/IceUtil/Time.cpp +0 -0
  836. /data/{ext → dist}/ice/cpp/src/IceUtil/UUID.cpp +0 -0
  837. /data/{ext → dist}/ice/cpp/src/IceUtil/Unicode.cpp +0 -0
  838. /data/{ext → dist}/ice/cpp/src/IceUtil/Unicode.h +0 -0
  839. /data/{ext → dist}/ice/cpp/src/IceUtil/UtilException.cpp +0 -0
  840. /data/{ext → dist}/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -0
  841. /data/{ext → dist}/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -0
  842. /data/{ext → dist}/ice/cpp/src/Slice/Checksum.cpp +0 -0
  843. /data/{ext → dist}/ice/cpp/src/Slice/Checksum.h +0 -0
  844. /data/{ext → dist}/ice/cpp/src/Slice/FileTracker.cpp +0 -0
  845. /data/{ext → dist}/ice/cpp/src/Slice/FileTracker.h +0 -0
  846. /data/{ext → dist}/ice/cpp/src/Slice/Grammar.cpp +0 -0
  847. /data/{ext → dist}/ice/cpp/src/Slice/Grammar.h +0 -0
  848. /data/{ext → dist}/ice/cpp/src/Slice/GrammarUtil.h +0 -0
  849. /data/{ext → dist}/ice/cpp/src/Slice/JavaUtil.h +0 -0
  850. /data/{ext → dist}/ice/cpp/src/Slice/MD5.cpp +0 -0
  851. /data/{ext → dist}/ice/cpp/src/Slice/MD5.h +0 -0
  852. /data/{ext → dist}/ice/cpp/src/Slice/MD5I.cpp +0 -0
  853. /data/{ext → dist}/ice/cpp/src/Slice/MD5I.h +0 -0
  854. /data/{ext → dist}/ice/cpp/src/Slice/PHPUtil.cpp +0 -0
  855. /data/{ext → dist}/ice/cpp/src/Slice/PHPUtil.h +0 -0
  856. /data/{ext → dist}/ice/cpp/src/Slice/Parser.cpp +0 -0
  857. /data/{ext → dist}/ice/cpp/src/Slice/Parser.h +0 -0
  858. /data/{ext → dist}/ice/cpp/src/Slice/Preprocessor.cpp +0 -0
  859. /data/{ext → dist}/ice/cpp/src/Slice/Preprocessor.h +0 -0
  860. /data/{ext → dist}/ice/cpp/src/Slice/Python.cpp +0 -0
  861. /data/{ext → dist}/ice/cpp/src/Slice/PythonUtil.cpp +0 -0
  862. /data/{ext → dist}/ice/cpp/src/Slice/PythonUtil.h +0 -0
  863. /data/{ext → dist}/ice/cpp/src/Slice/Ruby.cpp +0 -0
  864. /data/{ext → dist}/ice/cpp/src/Slice/RubyUtil.cpp +0 -0
  865. /data/{ext → dist}/ice/cpp/src/Slice/RubyUtil.h +0 -0
  866. /data/{ext → dist}/ice/cpp/src/Slice/Scanner.cpp +0 -0
  867. /data/{ext → dist}/ice/cpp/src/Slice/SliceUtil.cpp +0 -0
  868. /data/{ext → dist}/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -0
  869. /data/{ext → dist}/ice/cpp/src/Slice/Util.h +0 -0
  870. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  871. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  872. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  873. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  874. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  875. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  876. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  877. /data/{ext → dist}/ice/mcpp/system.H +0 -0
  878. /data/{slice → dist/ice/slice}/Glacier2/Metrics.ice +0 -0
  879. /data/{slice → dist/ice/slice}/Glacier2/PermissionsVerifier.ice +0 -0
  880. /data/{slice → dist/ice/slice}/Glacier2/PermissionsVerifierF.ice +0 -0
  881. /data/{slice → dist/ice/slice}/Glacier2/Router.ice +0 -0
  882. /data/{slice → dist/ice/slice}/Glacier2/RouterF.ice +0 -0
  883. /data/{slice → dist/ice/slice}/Glacier2/SSLInfo.ice +0 -0
  884. /data/{slice → dist/ice/slice}/Glacier2/Session.ice +0 -0
  885. /data/{slice → dist/ice/slice}/Ice/BuiltinSequences.ice +0 -0
  886. /data/{slice → dist/ice/slice}/Ice/Communicator.ice +0 -0
  887. /data/{slice → dist/ice/slice}/Ice/CommunicatorF.ice +0 -0
  888. /data/{slice → dist/ice/slice}/Ice/ConnectionF.ice +0 -0
  889. /data/{slice → dist/ice/slice}/Ice/Current.ice +0 -0
  890. /data/{slice → dist/ice/slice}/Ice/Endpoint.ice +0 -0
  891. /data/{slice → dist/ice/slice}/Ice/EndpointF.ice +0 -0
  892. /data/{slice → dist/ice/slice}/Ice/EndpointTypes.ice +0 -0
  893. /data/{slice → dist/ice/slice}/Ice/FacetMap.ice +0 -0
  894. /data/{slice → dist/ice/slice}/Ice/Identity.ice +0 -0
  895. /data/{slice → dist/ice/slice}/Ice/ImplicitContext.ice +0 -0
  896. /data/{slice → dist/ice/slice}/Ice/ImplicitContextF.ice +0 -0
  897. /data/{slice → dist/ice/slice}/Ice/Instrumentation.ice +0 -0
  898. /data/{slice → dist/ice/slice}/Ice/InstrumentationF.ice +0 -0
  899. /data/{slice → dist/ice/slice}/Ice/LocalException.ice +0 -0
  900. /data/{slice → dist/ice/slice}/Ice/LocatorF.ice +0 -0
  901. /data/{slice → dist/ice/slice}/Ice/Logger.ice +0 -0
  902. /data/{slice → dist/ice/slice}/Ice/LoggerF.ice +0 -0
  903. /data/{slice → dist/ice/slice}/Ice/ObjectAdapterF.ice +0 -0
  904. /data/{slice → dist/ice/slice}/Ice/ObjectFactory.ice +0 -0
  905. /data/{slice → dist/ice/slice}/Ice/Plugin.ice +0 -0
  906. /data/{slice → dist/ice/slice}/Ice/PluginF.ice +0 -0
  907. /data/{slice → dist/ice/slice}/Ice/Process.ice +0 -0
  908. /data/{slice → dist/ice/slice}/Ice/ProcessF.ice +0 -0
  909. /data/{slice → dist/ice/slice}/Ice/Properties.ice +0 -0
  910. /data/{slice → dist/ice/slice}/Ice/PropertiesAdmin.ice +0 -0
  911. /data/{slice → dist/ice/slice}/Ice/PropertiesF.ice +0 -0
  912. /data/{slice → dist/ice/slice}/Ice/RemoteLogger.ice +0 -0
  913. /data/{slice → dist/ice/slice}/Ice/RouterF.ice +0 -0
  914. /data/{slice → dist/ice/slice}/Ice/ServantLocator.ice +0 -0
  915. /data/{slice → dist/ice/slice}/Ice/ServantLocatorF.ice +0 -0
  916. /data/{slice → dist/ice/slice}/Ice/SliceChecksumDict.ice +0 -0
  917. /data/{slice → dist/ice/slice}/Ice/ValueFactory.ice +0 -0
  918. /data/{slice → dist/ice/slice}/Ice/Version.ice +0 -0
  919. /data/{slice → dist/ice/slice}/IceBox/IceBox.ice +0 -0
  920. /data/{slice → dist/ice/slice}/IceGrid/Admin.ice +0 -0
  921. /data/{slice → dist/ice/slice}/IceGrid/Descriptor.ice +0 -0
  922. /data/{slice → dist/ice/slice}/IceGrid/Exception.ice +0 -0
  923. /data/{slice → dist/ice/slice}/IceGrid/FileParser.ice +0 -0
  924. /data/{slice → dist/ice/slice}/IceGrid/Registry.ice +0 -0
  925. /data/{slice → dist/ice/slice}/IceGrid/Session.ice +0 -0
  926. /data/{slice → dist/ice/slice}/IceGrid/UserAccountMapper.ice +0 -0
  927. /data/{slice → dist/ice/slice}/IcePatch2/FileInfo.ice +0 -0
  928. /data/{slice → dist/ice/slice}/IcePatch2/FileServer.ice +0 -0
  929. /data/{slice → dist/ice/slice}/IceStorm/Metrics.ice +0 -0
  930. /data/{lib → dist/lib}/Glacier2.rb +0 -0
  931. /data/{lib → dist/lib}/Ice.rb +0 -0
  932. /data/{lib → dist/lib}/IceBox.rb +0 -0
  933. /data/{lib → dist/lib}/IceGrid.rb +0 -0
  934. /data/{lib → dist/lib}/IcePatch2.rb +0 -0
  935. /data/{lib → dist/lib}/IceStorm.rb +0 -0
  936. /data/{bin → scripts}/slice2rb +0 -0
@@ -1,1525 +0,0 @@
1
- //
2
- // Copyright (c) ZeroC, Inc. All rights reserved.
3
- //
4
-
5
- #include <Ice/Selector.h>
6
- #include <Ice/EventHandler.h>
7
- #include <Ice/Instance.h>
8
- #include <Ice/LoggerUtil.h>
9
- #include <Ice/LocalException.h>
10
- #include <IceUtil/Time.h>
11
-
12
- #ifdef ICE_USE_CFSTREAM
13
- # include <CoreFoundation/CoreFoundation.h>
14
- # include <CoreFoundation/CFStream.h>
15
- #endif
16
-
17
- using namespace std;
18
- using namespace IceInternal;
19
-
20
- #if defined(ICE_USE_KQUEUE)
21
- namespace
22
- {
23
- struct timespec zeroTimeout = { 0, 0 };
24
- }
25
- #endif
26
-
27
- #if defined(ICE_USE_IOCP)
28
-
29
- Selector::Selector(const InstancePtr& instance) : _instance(instance)
30
- {
31
- }
32
-
33
- Selector::~Selector()
34
- {
35
- }
36
-
37
- #ifdef ICE_USE_IOCP
38
- void
39
- Selector::setup(int sizeIO)
40
- {
41
- _handle = CreateIoCompletionPort(INVALID_HANDLE_VALUE, ICE_NULLPTR, 0, sizeIO);
42
- if(_handle == ICE_NULLPTR)
43
- {
44
- throw Ice::SocketException(__FILE__, __LINE__, GetLastError());
45
- }
46
- }
47
- #endif
48
-
49
- void
50
- Selector::destroy()
51
- {
52
- #ifdef ICE_USE_IOCP
53
- CloseHandle(_handle);
54
- #endif
55
- }
56
-
57
- void
58
- Selector::initialize(EventHandler* handler)
59
- {
60
- if(!handler->getNativeInfo())
61
- {
62
- return;
63
- }
64
-
65
- #ifdef ICE_USE_IOCP
66
- SOCKET socket = handler->getNativeInfo()->fd();
67
- if(socket != INVALID_SOCKET)
68
- {
69
- if(CreateIoCompletionPort(reinterpret_cast<HANDLE>(socket),
70
- _handle,
71
- reinterpret_cast<ULONG_PTR>(handler),
72
- 0) == ICE_NULLPTR)
73
- {
74
- throw Ice::SocketException(__FILE__, __LINE__, GetLastError());
75
- }
76
- }
77
- handler->getNativeInfo()->initialize(_handle, reinterpret_cast<ULONG_PTR>(handler));
78
- #else
79
- EventHandlerPtr h = ICE_GET_SHARED_FROM_THIS(handler);
80
- handler->getNativeInfo()->setCompletedHandler(
81
- ref new SocketOperationCompletedHandler(
82
- [=](int operation)
83
- {
84
- //
85
- // Use the reference counted handler to ensure it's not
86
- // destroyed as long as the callback lambda exists.
87
- //
88
- completed(h.get(), static_cast<SocketOperation>(operation));
89
- }));
90
- #endif
91
- }
92
-
93
- void
94
- Selector::update(EventHandler* handler, SocketOperation remove, SocketOperation add)
95
- {
96
- handler->_registered = static_cast<SocketOperation>(handler->_registered & ~remove);
97
- handler->_registered = static_cast<SocketOperation>(handler->_registered | add);
98
- if(add & SocketOperationRead && !(handler->_pending & SocketOperationRead))
99
- {
100
- handler->_pending = static_cast<SocketOperation>(handler->_pending | SocketOperationRead);
101
- completed(handler, SocketOperationRead); // Start an asynchrnous read
102
- }
103
- else if(add & SocketOperationWrite && !(handler->_pending & SocketOperationWrite))
104
- {
105
- handler->_pending = static_cast<SocketOperation>(handler->_pending | SocketOperationWrite);
106
- completed(handler, SocketOperationWrite); // Start an asynchrnous write
107
- }
108
- }
109
-
110
- void
111
- Selector::finish(IceInternal::EventHandler* handler)
112
- {
113
- handler->_registered = SocketOperationNone;
114
- handler->_finish = false; // Ensures that finished() is only called once on the event handler.
115
- }
116
-
117
- void
118
- Selector::ready(EventHandler* handler, SocketOperation status, bool value)
119
- {
120
- if(((handler->_ready & status) != 0) == value)
121
- {
122
- return; // Nothing to do if ready state already correctly set.
123
- }
124
-
125
- if(value)
126
- {
127
- handler->_ready = static_cast<SocketOperation>(handler->_ready | status);
128
- }
129
- else
130
- {
131
- handler->_ready = static_cast<SocketOperation>(handler->_ready & ~status);
132
- }
133
- }
134
-
135
- EventHandler*
136
- #ifdef ICE_USE_IOCP
137
- Selector::getNextHandler(SocketOperation& status, DWORD& count, int& error, int timeout)
138
- #else
139
- Selector::getNextHandler(SocketOperation& status, int timeout)
140
- #endif
141
- {
142
- #ifdef ICE_USE_IOCP
143
- ULONG_PTR key;
144
- LPOVERLAPPED ol;
145
- error = ERROR_SUCCESS;
146
-
147
- if(!GetQueuedCompletionStatus(_handle, &count, &key, &ol, timeout > 0 ? timeout * 1000 : INFINITE))
148
- {
149
- int err = WSAGetLastError();
150
- if(ol == 0)
151
- {
152
- if(err == WAIT_TIMEOUT)
153
- {
154
- throw SelectorTimeoutException();
155
- }
156
- else
157
- {
158
- Ice::SocketException ex(__FILE__, __LINE__, err);
159
- Ice::Error out(_instance->initializationData().logger);
160
- out << "couldn't dequeue packet from completion port:\n" << ex;
161
- IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(5)); // Sleep 5s to avoid looping
162
- }
163
- }
164
- AsyncInfo* info = static_cast<AsyncInfo*>(ol);
165
- if(info)
166
- {
167
- status = info->status;
168
- }
169
- count = 0;
170
- error = WSAGetLastError();
171
- return reinterpret_cast<EventHandler*>(key);
172
- }
173
-
174
- AsyncInfo* info = static_cast<AsyncInfo*>(ol);
175
- if(info)
176
- {
177
- status = info->status;
178
- }
179
- else
180
- {
181
- status = reinterpret_cast<EventHandler*>(key)->_ready;
182
- }
183
- return reinterpret_cast<EventHandler*>(key);
184
- #else
185
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
186
- while(_events.empty())
187
- {
188
- if(timeout > 0)
189
- {
190
- _monitor.timedWait(IceUtil::Time::seconds(timeout));
191
- if(_events.empty())
192
- {
193
- throw SelectorTimeoutException();
194
- }
195
- }
196
- else
197
- {
198
- _monitor.wait();
199
- }
200
- }
201
- assert(!_events.empty());
202
- IceInternal::EventHandlerPtr handler = _events.front().handler;
203
- const SelectEvent& event = _events.front();
204
- status = event.status;
205
- _events.pop_front();
206
- return handler.get();
207
- #endif
208
- }
209
-
210
- void
211
- Selector::completed(EventHandler* handler, SocketOperation op)
212
- {
213
- #ifdef ICE_USE_IOCP
214
- AsyncInfo* info = 0;
215
- NativeInfoPtr nativeInfo = handler->getNativeInfo();
216
- if(nativeInfo)
217
- {
218
- info = nativeInfo->getAsyncInfo(op);
219
- }
220
- if(!PostQueuedCompletionStatus(_handle, 0, reinterpret_cast<ULONG_PTR>(handler), info))
221
- {
222
- throw Ice::SocketException(__FILE__, __LINE__, GetLastError());
223
- }
224
- #else
225
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
226
- _events.push_back(SelectEvent(handler->shared_from_this(), op));
227
- _monitor.notify();
228
- #endif
229
- }
230
-
231
- #elif defined(ICE_USE_KQUEUE) || defined(ICE_USE_EPOLL) || defined(ICE_USE_SELECT) || defined(ICE_USE_POLL)
232
-
233
- Selector::Selector(const InstancePtr& instance) : _instance(instance), _interrupted(false)
234
- {
235
- SOCKET fds[2];
236
- createPipe(fds);
237
- _fdIntrRead = fds[0];
238
- _fdIntrWrite = fds[1];
239
- _selecting = false;
240
-
241
- #if defined(ICE_USE_EPOLL)
242
- _events.resize(256);
243
- _queueFd = epoll_create(1);
244
- if(_queueFd < 0)
245
- {
246
- throw Ice::SocketException(__FILE__, __LINE__, IceInternal::getSocketErrno());
247
- }
248
-
249
- epoll_event event;
250
- memset(&event, 0, sizeof(epoll_event));
251
- event.data.ptr = 0;
252
- event.events = EPOLLIN;
253
- if(epoll_ctl(_queueFd, EPOLL_CTL_ADD, _fdIntrRead, &event) != 0)
254
- {
255
- Ice::Error out(_instance->initializationData().logger);
256
- out << "error while updating selector:\n" << IceUtilInternal::errorToString(IceInternal::getSocketErrno());
257
- }
258
- #elif defined(ICE_USE_KQUEUE)
259
- _events.resize(256);
260
- _queueFd = kqueue();
261
- if(_queueFd < 0)
262
- {
263
- throw Ice::SocketException(__FILE__, __LINE__, getSocketErrno());
264
- }
265
-
266
- struct kevent ev;
267
- EV_SET(&ev, _fdIntrRead, EVFILT_READ, EV_ADD, 0, 0, 0);
268
- int rs = kevent(_queueFd, &ev, 1, 0, 0, 0);
269
- if(rs < 0)
270
- {
271
- Ice::Error out(_instance->initializationData().logger);
272
- out << "error while updating selector:\n" << IceUtilInternal::errorToString(IceInternal::getSocketErrno());
273
- }
274
- #elif defined(ICE_USE_SELECT)
275
- FD_ZERO(&_readFdSet);
276
- FD_ZERO(&_writeFdSet);
277
- FD_ZERO(&_errorFdSet);
278
- FD_SET(_fdIntrRead, &_readFdSet);
279
- #else
280
- struct pollfd pollFd;
281
- pollFd.fd = _fdIntrRead;
282
- pollFd.events = POLLIN;
283
- _pollFdSet.push_back(pollFd);
284
- #endif
285
- }
286
-
287
- Selector::~Selector()
288
- {
289
- }
290
-
291
- void
292
- Selector::destroy()
293
- {
294
- #if defined(ICE_USE_KQUEUE) || defined(ICE_USE_EPOLL)
295
- try
296
- {
297
- closeSocket(_queueFd);
298
- }
299
- catch(const Ice::LocalException& ex)
300
- {
301
- Ice::Error out(_instance->initializationData().logger);
302
- out << "exception in selector while calling closeSocket():\n" << ex;
303
- }
304
- #endif
305
-
306
- try
307
- {
308
- closeSocket(_fdIntrWrite);
309
- }
310
- catch(const Ice::LocalException& ex)
311
- {
312
- Ice::Error out(_instance->initializationData().logger);
313
- out << "exception in selector while calling closeSocket():\n" << ex;
314
- }
315
-
316
- try
317
- {
318
- closeSocket(_fdIntrRead);
319
- }
320
- catch(const Ice::LocalException& ex)
321
- {
322
- Ice::Error out(_instance->initializationData().logger);
323
- out << "exception in selector while calling closeSocket():\n" << ex;
324
- }
325
- }
326
-
327
- void
328
- Selector::update(EventHandler* handler, SocketOperation remove, SocketOperation add)
329
- {
330
- SocketOperation previous = handler->_registered;
331
- handler->_registered = static_cast<SocketOperation>(handler->_registered & ~remove);
332
- handler->_registered = static_cast<SocketOperation>(handler->_registered | add);
333
- if(previous == handler->_registered)
334
- {
335
- return;
336
- }
337
- checkReady(handler);
338
-
339
- NativeInfoPtr nativeInfo = handler->getNativeInfo();
340
- if(nativeInfo && nativeInfo->fd() != INVALID_SOCKET)
341
- {
342
- updateSelectorForEventHandler(handler, remove, add);
343
- }
344
- }
345
-
346
- void
347
- Selector::enable(EventHandler* handler, SocketOperation status)
348
- {
349
- if(!(handler->_disabled & status))
350
- {
351
- return;
352
- }
353
- handler->_disabled = static_cast<SocketOperation>(handler->_disabled & ~status);
354
- checkReady(handler);
355
-
356
- NativeInfoPtr nativeInfo = handler->getNativeInfo();
357
- if(!nativeInfo || nativeInfo->fd() == INVALID_SOCKET)
358
- {
359
- return;
360
- }
361
-
362
- if(handler->_registered & status)
363
- {
364
- #if defined(ICE_USE_EPOLL)
365
- SOCKET fd = nativeInfo->fd();
366
- SocketOperation previous = static_cast<SocketOperation>(handler->_registered & ~(handler->_disabled | status));
367
- SocketOperation newStatus = static_cast<SocketOperation>(handler->_registered & ~handler->_disabled);
368
- epoll_event event;
369
- memset(&event, 0, sizeof(epoll_event));
370
- event.data.ptr = handler;
371
- if(newStatus & SocketOperationRead)
372
- {
373
- event.events |= EPOLLIN;
374
- }
375
- if(newStatus & SocketOperationWrite)
376
- {
377
- event.events |= EPOLLOUT;
378
- }
379
- if(epoll_ctl(_queueFd, previous ? EPOLL_CTL_MOD : EPOLL_CTL_ADD, fd, &event) != 0)
380
- {
381
- Ice::Error out(_instance->initializationData().logger);
382
- out << "error while updating selector:\n" << IceUtilInternal::errorToString(IceInternal::getSocketErrno());
383
- }
384
- #elif defined(ICE_USE_KQUEUE)
385
- struct kevent ev;
386
- SOCKET fd = handler->getNativeInfo()->fd();
387
- EV_SET(&ev, fd, status == SocketOperationRead ? EVFILT_READ : EVFILT_WRITE, EV_ENABLE, 0, 0, handler);
388
- _changes.push_back(ev);
389
- if(_selecting)
390
- {
391
- updateSelector();
392
- }
393
- #else
394
- _changes.push_back(make_pair(handler, static_cast<SocketOperation>(handler->_registered & ~handler->_disabled)));
395
- wakeup();
396
- #endif
397
- }
398
- }
399
-
400
- void
401
- Selector::disable(EventHandler* handler, SocketOperation status)
402
- {
403
- if(handler->_disabled & status)
404
- {
405
- return;
406
- }
407
- handler->_disabled = static_cast<SocketOperation>(handler->_disabled | status);
408
- checkReady(handler);
409
-
410
- NativeInfoPtr nativeInfo = handler->getNativeInfo();
411
- if(!nativeInfo || nativeInfo->fd() == INVALID_SOCKET)
412
- {
413
- return;
414
- }
415
-
416
- if(handler->_registered & status)
417
- {
418
- #if defined(ICE_USE_EPOLL)
419
- SOCKET fd = nativeInfo->fd();
420
- SocketOperation newStatus = static_cast<SocketOperation>(handler->_registered & ~handler->_disabled);
421
- epoll_event event;
422
- memset(&event, 0, sizeof(epoll_event));
423
- event.data.ptr = handler;
424
- if(newStatus & SocketOperationRead)
425
- {
426
- event.events |= EPOLLIN;
427
- }
428
- if(newStatus & SocketOperationWrite)
429
- {
430
- event.events |= EPOLLOUT;
431
- }
432
- if(epoll_ctl(_queueFd, newStatus ? EPOLL_CTL_MOD : EPOLL_CTL_DEL, fd, &event) != 0)
433
- {
434
- Ice::Error out(_instance->initializationData().logger);
435
- out << "error while updating selector:\n" << IceUtilInternal::errorToString(IceInternal::getSocketErrno());
436
- }
437
- #elif defined(ICE_USE_KQUEUE)
438
- SOCKET fd = nativeInfo->fd();
439
- struct kevent ev;
440
- EV_SET(&ev, fd, status == SocketOperationRead ? EVFILT_READ : EVFILT_WRITE, EV_DISABLE, 0, 0, handler);
441
- _changes.push_back(ev);
442
- if(_selecting)
443
- {
444
- updateSelector();
445
- }
446
- #else
447
- _changes.push_back(make_pair(handler, static_cast<SocketOperation>(handler->_registered & ~handler->_disabled)));
448
- wakeup();
449
- #endif
450
- }
451
- }
452
-
453
- bool
454
- Selector::finish(EventHandler* handler, bool closeNow)
455
- {
456
- if(handler->_registered)
457
- {
458
- update(handler, handler->_registered, SocketOperationNone);
459
- #if !defined(ICE_USE_EPOLL) && !defined(ICE_USE_KQUEUE)
460
- return false; // Don't close now if selecting
461
- #endif
462
- }
463
-
464
- #if defined(ICE_USE_KQUEUE)
465
- if(closeNow && !_changes.empty())
466
- {
467
- //
468
- // Update selector now to remove the FD from the kqueue if
469
- // we're going to close it now. This isn't necessary for
470
- // epoll since we always update the epoll FD immediately.
471
- //
472
- updateSelector();
473
- }
474
- #elif !defined(ICE_USE_EPOLL)
475
- if(!_changes.empty())
476
- {
477
- return false;
478
- }
479
- #endif
480
-
481
- return closeNow;
482
- }
483
-
484
- void
485
- Selector::ready(EventHandler* handler, SocketOperation status, bool value)
486
- {
487
- if(((handler->_ready & status) != 0) == value)
488
- {
489
- return; // Nothing to do if ready state already correctly set.
490
- }
491
-
492
- if(status & SocketOperationConnect)
493
- {
494
- NativeInfoPtr nativeInfo = handler->getNativeInfo();
495
- if(nativeInfo && nativeInfo->newFd() && handler->_registered)
496
- {
497
- // If new FD is set after connect, register the FD with the selector.
498
- updateSelectorForEventHandler(handler, SocketOperationNone, handler->_registered);
499
- }
500
- }
501
-
502
- if(value)
503
- {
504
- handler->_ready = static_cast<SocketOperation>(handler->_ready | status);
505
- }
506
- else
507
- {
508
- handler->_ready = static_cast<SocketOperation>(handler->_ready & ~status);
509
- }
510
- checkReady(handler);
511
- }
512
-
513
- void
514
- Selector::wakeup()
515
- {
516
- if(_selecting && !_interrupted)
517
- {
518
- char c = 0;
519
- while(true)
520
- {
521
- if(::write(_fdIntrWrite, &c, 1) == SOCKET_ERROR)
522
- {
523
- if(interrupted())
524
- {
525
- continue;
526
- }
527
-
528
- throw Ice::SocketException(__FILE__, __LINE__, IceInternal::getSocketErrno());
529
- }
530
- break;
531
- }
532
- _interrupted = true;
533
- }
534
- }
535
-
536
- void
537
- Selector::startSelect()
538
- {
539
- if(_interrupted)
540
- {
541
- char c;
542
- while(true)
543
- {
544
- ssize_t ret = ::read(_fdIntrRead, &c, 1);
545
- if(ret == SOCKET_ERROR)
546
- {
547
- if(interrupted())
548
- {
549
- continue;
550
- }
551
- throw Ice::SocketException(__FILE__, __LINE__, IceInternal::getSocketErrno());
552
- }
553
- break;
554
- }
555
- _interrupted = false;
556
- }
557
-
558
- #if !defined(ICE_USE_EPOLL)
559
- if(!_changes.empty())
560
- {
561
- updateSelector();
562
- }
563
- #endif
564
- _selecting = true;
565
-
566
- //
567
- // If there are ready handlers, don't block in select, just do a non-blocking
568
- // select to retrieve new ready handlers from the Java selector.
569
- //
570
- _selectNow = !_readyHandlers.empty();
571
- }
572
-
573
- void
574
- Selector::finishSelect(vector<pair<EventHandler*, SocketOperation> >& handlers)
575
- {
576
- _selecting = false;
577
-
578
- assert(handlers.empty());
579
-
580
- #if defined(ICE_USE_POLL) || defined(ICE_USE_SELECT)
581
- if(_interrupted) // Interrupted, we have to process the interrupt before returning any handlers
582
- {
583
- return;
584
- }
585
- #endif
586
-
587
- #if defined(ICE_USE_POLL)
588
- for(vector<struct pollfd>::const_iterator r = _pollFdSet.begin(); r != _pollFdSet.end(); ++r)
589
- #else
590
- for(int i = 0; i < _count; ++i)
591
- #endif
592
- {
593
- pair<EventHandler*, SocketOperation> p;
594
-
595
- #if defined(ICE_USE_EPOLL)
596
- struct epoll_event& ev = _events[i];
597
- p.first = reinterpret_cast<EventHandler*>(ev.data.ptr);
598
- p.second = static_cast<SocketOperation>(((ev.events & (EPOLLIN | EPOLLERR)) ?
599
- SocketOperationRead : SocketOperationNone) |
600
- ((ev.events & (EPOLLOUT | EPOLLERR)) ?
601
- SocketOperationWrite : SocketOperationNone));
602
- #elif defined(ICE_USE_KQUEUE)
603
- struct kevent& ev = _events[static_cast<size_t>(i)];
604
- if(ev.flags & EV_ERROR)
605
- {
606
- Ice::Error out(_instance->initializationData().logger);
607
- out << "selector returned error:\n" << IceUtilInternal::errorToString(static_cast<int>(ev.data));
608
- continue;
609
- }
610
- p.first = reinterpret_cast<EventHandler*>(ev.udata);
611
- p.second = (ev.filter == EVFILT_READ) ? SocketOperationRead : SocketOperationWrite;
612
- #elif defined(ICE_USE_SELECT)
613
- //
614
- // Round robin for the filedescriptors.
615
- //
616
- SOCKET fd;
617
- p.second = SocketOperationNone;
618
- if(i < _selectedReadFdSet.fd_count)
619
- {
620
- fd = _selectedReadFdSet.fd_array[i];
621
- p.second = static_cast<SocketOperation>(p.second | SocketOperationRead);
622
- }
623
- else if(i < _selectedWriteFdSet.fd_count + _selectedReadFdSet.fd_count)
624
- {
625
- fd = _selectedWriteFdSet.fd_array[i - _selectedReadFdSet.fd_count];
626
- p.second = static_cast<SocketOperation>(p.second | SocketOperationWrite);
627
- }
628
- else
629
- {
630
- fd = _selectedErrorFdSet.fd_array[i - _selectedReadFdSet.fd_count - _selectedWriteFdSet.fd_count];
631
- p.second = static_cast<SocketOperation>(p.second | SocketOperationConnect);
632
- }
633
-
634
- assert(fd != _fdIntrRead);
635
- p.first = _handlers[fd];
636
- #else
637
- if(r->revents == 0)
638
- {
639
- continue;
640
- }
641
-
642
- SOCKET fd = r->fd;
643
- assert(_handlers.find(fd) != _handlers.end());
644
- p.first = _handlers[fd];
645
- p.second = SocketOperationNone;
646
- if(r->revents & (POLLIN | POLLERR | POLLHUP))
647
- {
648
- p.second = static_cast<SocketOperation>(p.second | SocketOperationRead);
649
- }
650
- if(r->revents & (POLLOUT | POLLERR | POLLHUP))
651
- {
652
- p.second = static_cast<SocketOperation>(p.second | SocketOperationWrite);
653
- }
654
- assert(p.second);
655
- #endif
656
- if(!p.first)
657
- {
658
- continue; // Interrupted
659
- }
660
-
661
- map<EventHandlerPtr, SocketOperation>::iterator q = _readyHandlers.find(ICE_GET_SHARED_FROM_THIS(p.first));
662
-
663
- if(q != _readyHandlers.end()) // Handler will be added by the loop below
664
- {
665
- q->second = p.second; // We just remember which operations are ready here.
666
- }
667
- else
668
- {
669
- handlers.push_back(p);
670
- }
671
- }
672
-
673
- for(map<EventHandlerPtr, SocketOperation>::iterator q = _readyHandlers.begin(); q != _readyHandlers.end(); ++q)
674
- {
675
- pair<EventHandler*, SocketOperation> p;
676
- p.first = q->first.get();
677
- p.second = static_cast<SocketOperation>(p.first->_ready & ~p.first->_disabled & p.first->_registered);
678
- p.second = static_cast<SocketOperation>(p.second | q->second);
679
- if(p.second)
680
- {
681
- handlers.push_back(p);
682
- }
683
-
684
- //
685
- // Reset the operation, it's only used by this method to temporarly store the socket status
686
- // return by the select operation above.
687
- //
688
- q->second = SocketOperationNone;
689
- }
690
- }
691
-
692
- void
693
- Selector::select(int timeout)
694
- {
695
- if(_selectNow)
696
- {
697
- timeout = 0;
698
- }
699
- else if(timeout > 0)
700
- {
701
- timeout = timeout * 1000;
702
- }
703
- else
704
- {
705
- timeout = -1;
706
- }
707
-
708
- int spuriousWakeup = 0;
709
- while(true)
710
- {
711
- #if defined(ICE_USE_EPOLL)
712
- _count = epoll_wait(_queueFd, &_events[0], _events.size(), timeout);
713
- #elif defined(ICE_USE_KQUEUE)
714
- assert(!_events.empty());
715
- if(timeout >= 0)
716
- {
717
- struct timespec ts;
718
- ts.tv_sec = timeout;
719
- ts.tv_nsec = 0;
720
- _count = kevent(_queueFd, 0, 0, &_events[0], static_cast<int>(_events.size()), &ts);
721
- }
722
- else
723
- {
724
- _count = kevent(_queueFd, 0, 0, &_events[0], static_cast<int>(_events.size()), 0);
725
- }
726
- #elif defined(ICE_USE_SELECT)
727
- fd_set* rFdSet = fdSetCopy(_selectedReadFdSet, _readFdSet);
728
- fd_set* wFdSet = fdSetCopy(_selectedWriteFdSet, _writeFdSet);
729
- fd_set* eFdSet = fdSetCopy(_selectedErrorFdSet, _errorFdSet);
730
- if(timeout >= 0)
731
- {
732
- struct timeval tv;
733
- tv.tv_sec = timeout;
734
- tv.tv_usec = 0;
735
- _count = ::select(0, rFdSet, wFdSet, eFdSet, &tv); // The first parameter is ignored on Windows
736
- }
737
- else
738
- {
739
- _count = ::select(0, rFdSet, wFdSet, eFdSet, 0); // The first parameter is ignored on Windows
740
- }
741
- #else
742
- _count = poll(&_pollFdSet[0], _pollFdSet.size(), timeout);
743
- #endif
744
-
745
- if(_count == SOCKET_ERROR)
746
- {
747
- if(interrupted())
748
- {
749
- continue;
750
- }
751
-
752
- Ice::SocketException ex(__FILE__, __LINE__, IceInternal::getSocketErrno());
753
- Ice::Error out(_instance->initializationData().logger);
754
- out << "selector failed:\n" << ex;
755
- IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(5)); // Sleep 5s to avoid looping
756
- }
757
- else if(_count == 0 && timeout < 0)
758
- {
759
- if(++spuriousWakeup > 100)
760
- {
761
- spuriousWakeup = 0;
762
- _instance->initializationData().logger->warning("spurious selector wakeup");
763
- }
764
- IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(1));
765
- continue;
766
- }
767
- break;
768
- }
769
-
770
- if(_count == 0 && !_selectNow)
771
- {
772
- throw SelectorTimeoutException();
773
- }
774
- }
775
-
776
- void
777
- Selector::checkReady(EventHandler* handler)
778
- {
779
- if(handler->_ready & ~handler->_disabled & handler->_registered)
780
- {
781
- _readyHandlers.insert(make_pair(ICE_GET_SHARED_FROM_THIS(handler), SocketOperationNone));
782
- wakeup();
783
- }
784
- else
785
- {
786
- map<EventHandlerPtr, SocketOperation>::iterator p = _readyHandlers.find(ICE_GET_SHARED_FROM_THIS(handler));
787
- if(p != _readyHandlers.end())
788
- {
789
- _readyHandlers.erase(p);
790
- }
791
- }
792
- }
793
-
794
- void
795
- Selector::updateSelector()
796
- {
797
- #if defined(ICE_USE_KQUEUE)
798
- int rs = kevent(_queueFd, &_changes[0], static_cast<int>(_changes.size()),
799
- &_changes[0], static_cast<int>(_changes.size()), &zeroTimeout);
800
- if(rs < 0)
801
- {
802
- Ice::Error out(_instance->initializationData().logger);
803
- out << "error while updating selector:\n" << IceUtilInternal::errorToString(IceInternal::getSocketErrno());
804
- }
805
- else
806
- {
807
- for(int i = 0; i < rs; ++i)
808
- {
809
- //
810
- // Check for errors, we ignore EINPROGRESS that started showing up with macOS Sierra
811
- // and which occurs when another thread removes the FD from the kqueue (see ICE-7419).
812
- //
813
- if(_changes[static_cast<size_t>(i)].flags & EV_ERROR &&
814
- _changes[static_cast<size_t>(i)].data != EINPROGRESS)
815
- {
816
- Ice::Error out(_instance->initializationData().logger);
817
- out << "error while updating selector:\n"
818
- << IceUtilInternal::errorToString(static_cast<int>(_changes[static_cast<size_t>(i)].data));
819
- }
820
- }
821
- }
822
- _changes.clear();
823
- #elif !defined(ICE_USE_EPOLL)
824
- assert(!_selecting);
825
-
826
- for(vector<pair<EventHandler*, SocketOperation> >::const_iterator p = _changes.begin(); p != _changes.end(); ++p)
827
- {
828
- EventHandler* handler = p->first;
829
- SocketOperation status = p->second;
830
-
831
- SOCKET fd = handler->getNativeInfo()->fd();
832
- if(status)
833
- {
834
- #if defined(ICE_USE_SELECT)
835
- if(status & SocketOperationRead)
836
- {
837
- FD_SET(fd, &_readFdSet);
838
- }
839
- else
840
- {
841
- FD_CLR(fd, &_readFdSet);
842
- }
843
- if(status & SocketOperationWrite)
844
- {
845
- FD_SET(fd, &_writeFdSet);
846
- }
847
- else
848
- {
849
- FD_CLR(fd, &_writeFdSet);
850
- }
851
- if(status & SocketOperationConnect)
852
- {
853
- FD_SET(fd, &_writeFdSet);
854
- FD_SET(fd, &_errorFdSet);
855
- }
856
- else
857
- {
858
- FD_CLR(fd, &_writeFdSet);
859
- FD_CLR(fd, &_errorFdSet);
860
- }
861
- _handlers[fd] = handler;
862
- #else
863
- short events = 0;
864
- if(status & SocketOperationRead)
865
- {
866
- events |= POLLIN;
867
- }
868
- if(status & SocketOperationWrite)
869
- {
870
- events |= POLLOUT;
871
- }
872
- map<SOCKET, EventHandler*>::const_iterator q = _handlers.find(fd);
873
- if(q == _handlers.end())
874
- {
875
- struct pollfd pollFd;
876
- pollFd.fd = fd;
877
- pollFd.events = events;
878
- pollFd.revents = 0;
879
- _pollFdSet.push_back(pollFd);
880
- _handlers.insert(make_pair(fd, handler));
881
- }
882
- else
883
- {
884
- for(vector<struct pollfd>::iterator r = _pollFdSet.begin(); r != _pollFdSet.end(); ++r)
885
- {
886
- if(r->fd == fd)
887
- {
888
- r->events = events;
889
- break;
890
- }
891
- }
892
- }
893
- #endif
894
- }
895
- else
896
- {
897
- #if defined(ICE_USE_SELECT)
898
- FD_CLR(fd, &_readFdSet);
899
- FD_CLR(fd, &_writeFdSet);
900
- FD_CLR(fd, &_errorFdSet);
901
- #else
902
- for(vector<struct pollfd>::iterator r = _pollFdSet.begin(); r != _pollFdSet.end(); ++r)
903
- {
904
- if(r->fd == fd)
905
- {
906
- _pollFdSet.erase(r);
907
- break;
908
- }
909
- }
910
- #endif
911
- _handlers.erase(fd);
912
- }
913
- }
914
- _changes.clear();
915
- #endif
916
- }
917
-
918
- void
919
- Selector::updateSelectorForEventHandler(EventHandler* handler,
920
- ICE_MAYBE_UNUSED SocketOperation remove,
921
- ICE_MAYBE_UNUSED SocketOperation add)
922
- {
923
- #if defined(ICE_USE_EPOLL)
924
- SocketOperation previous = handler->_registered;
925
- previous = static_cast<SocketOperation>(previous & ~add);
926
- previous = static_cast<SocketOperation>(previous | remove);
927
- SOCKET fd = handler->getNativeInfo()->fd();
928
- assert(fd != INVALID_SOCKET);
929
- epoll_event event;
930
- memset(&event, 0, sizeof(epoll_event));
931
- event.data.ptr = handler;
932
- SocketOperation status = handler->_registered;
933
- if(handler->_disabled)
934
- {
935
- status = static_cast<SocketOperation>(status & ~handler->_disabled);
936
- previous = static_cast<SocketOperation>(previous & ~handler->_disabled);
937
- }
938
- if(status & SocketOperationRead)
939
- {
940
- event.events |= EPOLLIN;
941
- }
942
- if(status & SocketOperationWrite)
943
- {
944
- event.events |= EPOLLOUT;
945
- }
946
- int op;
947
- if(!previous && status)
948
- {
949
- op = EPOLL_CTL_ADD;
950
- }
951
- else if(previous && !status)
952
- {
953
- op = EPOLL_CTL_DEL;
954
- }
955
- else if(previous == status)
956
- {
957
- return;
958
- }
959
- else
960
- {
961
- op = EPOLL_CTL_MOD;
962
- }
963
- if(epoll_ctl(_queueFd, op, fd, &event) != 0)
964
- {
965
- Ice::Error out(_instance->initializationData().logger);
966
- out << "error while updating selector:\n" << IceUtilInternal::errorToString(IceInternal::getSocketErrno());
967
- }
968
- #elif defined(ICE_USE_KQUEUE)
969
- SOCKET fd = handler->getNativeInfo()->fd();
970
- assert(fd != INVALID_SOCKET);
971
- if(remove & SocketOperationRead)
972
- {
973
- struct kevent ev;
974
- EV_SET(&ev, fd, EVFILT_READ, EV_DELETE, 0, 0, handler);
975
- _changes.push_back(ev);
976
- }
977
- if(remove & SocketOperationWrite)
978
- {
979
- struct kevent ev;
980
- EV_SET(&ev, fd, EVFILT_WRITE, EV_DELETE, 0, 0, handler);
981
- _changes.push_back(ev);
982
- }
983
- if(add & SocketOperationRead)
984
- {
985
- struct kevent ev;
986
- EV_SET(&ev, fd, EVFILT_READ, EV_ADD | (handler->_disabled & SocketOperationRead ? EV_DISABLE : 0), 0, 0,
987
- handler);
988
- _changes.push_back(ev);
989
- }
990
- if(add & SocketOperationWrite)
991
- {
992
- struct kevent ev;
993
- EV_SET(&ev, fd, EVFILT_WRITE, EV_ADD | (handler->_disabled & SocketOperationWrite ? EV_DISABLE : 0), 0, 0,
994
- handler);
995
- _changes.push_back(ev);
996
- }
997
- if(_selecting)
998
- {
999
- updateSelector();
1000
- }
1001
- #else
1002
- _changes.push_back(make_pair(handler, static_cast<SocketOperation>(handler->_registered & ~handler->_disabled)));
1003
- wakeup();
1004
- #endif
1005
- checkReady(handler);
1006
- }
1007
-
1008
- #elif defined(ICE_USE_CFSTREAM)
1009
-
1010
- namespace
1011
- {
1012
-
1013
- void selectorInterrupt(void* info)
1014
- {
1015
- reinterpret_cast<Selector*>(info)->processInterrupt();
1016
- }
1017
-
1018
- void eventHandlerSocketCallback(CFSocketRef, CFSocketCallBackType callbackType, CFDataRef, const void* d, void* info)
1019
- {
1020
- if(callbackType == kCFSocketReadCallBack)
1021
- {
1022
- reinterpret_cast<EventHandlerWrapper*>(info)->readyCallback(SocketOperationRead);
1023
- }
1024
- else if(callbackType == kCFSocketWriteCallBack)
1025
- {
1026
- reinterpret_cast<EventHandlerWrapper*>(info)->readyCallback(SocketOperationWrite);
1027
- }
1028
- else if(callbackType == kCFSocketConnectCallBack)
1029
- {
1030
- reinterpret_cast<EventHandlerWrapper*>(info)->readyCallback(SocketOperationConnect,
1031
- d ? *reinterpret_cast<const SInt32*>(d) : 0);
1032
- }
1033
- }
1034
-
1035
- class SelectorHelperThread : public IceUtil::Thread
1036
- {
1037
- public:
1038
-
1039
- SelectorHelperThread(Selector& selector) : _selector(selector)
1040
- {
1041
- }
1042
-
1043
- virtual void run()
1044
- {
1045
- _selector.run();
1046
-
1047
- #if TARGET_IPHONE_SIMULATOR != 0
1048
- //
1049
- // Workaround for CFSocket bug where the CFSocketManager thread crashes if an
1050
- // invalidated socket is being processed for reads/writes. We add this sleep
1051
- // mostly to prevent spurious crashes with testing. This bug is very unlikely
1052
- // to be hit otherwise.
1053
- //
1054
- IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(100));
1055
- #endif
1056
- }
1057
-
1058
- private:
1059
-
1060
- Selector& _selector;
1061
- };
1062
-
1063
- CFOptionFlags
1064
- toCFCallbacks(SocketOperation op)
1065
- {
1066
- CFOptionFlags cbs = 0;
1067
- if(op & SocketOperationRead)
1068
- {
1069
- cbs |= kCFSocketReadCallBack;
1070
- }
1071
- if(op & SocketOperationWrite)
1072
- {
1073
- cbs |= kCFSocketWriteCallBack;
1074
- }
1075
- if(op & SocketOperationConnect)
1076
- {
1077
- cbs |= kCFSocketConnectCallBack;
1078
- }
1079
- return cbs;
1080
- }
1081
-
1082
- }
1083
-
1084
- EventHandlerWrapper::EventHandlerWrapper(EventHandler* handler, Selector& selector) :
1085
- _handler(ICE_GET_SHARED_FROM_THIS(handler)),
1086
- _streamNativeInfo(StreamNativeInfoPtr::dynamicCast(handler->getNativeInfo())),
1087
- _selector(selector),
1088
- _ready(SocketOperationNone),
1089
- _finish(false)
1090
- {
1091
- if(_streamNativeInfo)
1092
- {
1093
- _streamNativeInfo->initStreams(this);
1094
- }
1095
- else if(handler->getNativeInfo())
1096
- {
1097
- SOCKET fd = handler->getNativeInfo()->fd();
1098
- CFSocketContext ctx = { 0, this, 0, 0, 0 };
1099
- _socket.reset(CFSocketCreateWithNative(kCFAllocatorDefault,
1100
- fd,
1101
- kCFSocketReadCallBack |
1102
- kCFSocketWriteCallBack |
1103
- kCFSocketConnectCallBack,
1104
- eventHandlerSocketCallback,
1105
- &ctx));
1106
-
1107
- // Disable automatic re-enabling of callbacks and closing of the native socket.
1108
- CFSocketSetSocketFlags(_socket.get(), 0);
1109
- CFSocketDisableCallBacks(_socket.get(), kCFSocketReadCallBack | kCFSocketWriteCallBack | kCFSocketConnectCallBack);
1110
- _source.reset(CFSocketCreateRunLoopSource(kCFAllocatorDefault, _socket.get(), 0));
1111
- }
1112
- }
1113
-
1114
- EventHandlerWrapper::~EventHandlerWrapper()
1115
- {
1116
- }
1117
-
1118
- void
1119
- EventHandlerWrapper::updateRunLoop()
1120
- {
1121
- SocketOperation op = _handler->_registered;
1122
- assert(!op || !_finish);
1123
-
1124
- if(_socket)
1125
- {
1126
- CFSocketDisableCallBacks(_socket.get(), kCFSocketReadCallBack | kCFSocketWriteCallBack | kCFSocketConnectCallBack);
1127
- if(op)
1128
- {
1129
- CFSocketEnableCallBacks(_socket.get(), toCFCallbacks(op));
1130
- }
1131
-
1132
- if(op && !CFRunLoopContainsSource(CFRunLoopGetCurrent(), _source.get(), kCFRunLoopDefaultMode))
1133
- {
1134
- CFRunLoopAddSource(CFRunLoopGetCurrent(), _source.get(), kCFRunLoopDefaultMode);
1135
- }
1136
- else if(!op && CFRunLoopContainsSource(CFRunLoopGetCurrent(), _source.get(), kCFRunLoopDefaultMode))
1137
- {
1138
- CFRunLoopRemoveSource(CFRunLoopGetCurrent(), _source.get(), kCFRunLoopDefaultMode);
1139
- }
1140
-
1141
- if(_finish)
1142
- {
1143
- CFSocketInvalidate(_socket.get());
1144
- }
1145
- }
1146
- else
1147
- {
1148
- SocketOperation readyOp = _streamNativeInfo->registerWithRunLoop(op);
1149
- if(!(op & (SocketOperationWrite | SocketOperationConnect)) || _ready & SocketOperationWrite)
1150
- {
1151
- _streamNativeInfo->unregisterFromRunLoop(SocketOperationWrite, false);
1152
- }
1153
-
1154
- if(!(op & (SocketOperationRead | SocketOperationConnect)) || _ready & SocketOperationRead)
1155
- {
1156
- _streamNativeInfo->unregisterFromRunLoop(SocketOperationRead, false);
1157
- }
1158
-
1159
- if(readyOp)
1160
- {
1161
- ready(readyOp, 0);
1162
- }
1163
-
1164
- if(_finish)
1165
- {
1166
- _streamNativeInfo->closeStreams();
1167
- }
1168
- }
1169
- }
1170
-
1171
- void
1172
- EventHandlerWrapper::readyCallback(SocketOperation op, int error)
1173
- {
1174
- _selector.ready(this, op, error);
1175
- }
1176
-
1177
- void
1178
- EventHandlerWrapper::ready(SocketOperation op, int error)
1179
- {
1180
- if(!_socket)
1181
- {
1182
- //
1183
- // Unregister the stream from the runloop as soon as we got the callback. This is
1184
- // required to allow thread pool thread to perform read/write operations on the
1185
- // stream (which can't be used from another thread than the run loop thread if
1186
- // it's registered with a run loop).
1187
- //
1188
- op = _streamNativeInfo->unregisterFromRunLoop(op, error != 0);
1189
- }
1190
-
1191
- op = static_cast<SocketOperation>(_handler->_registered & op);
1192
- if(!op || _ready & op)
1193
- {
1194
- return;
1195
- }
1196
-
1197
- if(_socket)
1198
- {
1199
- if(op & SocketOperationConnect)
1200
- {
1201
- _streamNativeInfo->setConnectError(error);
1202
- }
1203
- }
1204
-
1205
- _ready = static_cast<SocketOperation>(_ready | op);
1206
- checkReady();
1207
- }
1208
-
1209
- bool
1210
- EventHandlerWrapper::checkReady()
1211
- {
1212
- if((_ready | _handler->_ready) & ~_handler->_disabled & _handler->_registered)
1213
- {
1214
- _selector.addReadyHandler(this);
1215
- return false;
1216
- }
1217
- else
1218
- {
1219
- return _handler->getNativeInfo() && !_finish;
1220
- }
1221
- }
1222
-
1223
- SocketOperation
1224
- EventHandlerWrapper::readyOp()
1225
- {
1226
- assert(!(~_handler->_registered & _ready));
1227
- SocketOperation op = static_cast<SocketOperation>(~_handler->_disabled & (_ready | _handler->_ready));
1228
- _ready = static_cast<SocketOperation>(~op & _ready);
1229
- return op;
1230
- }
1231
-
1232
- bool
1233
- EventHandlerWrapper::update(SocketOperation remove, SocketOperation add)
1234
- {
1235
- SocketOperation previous = _handler->_registered;
1236
- _handler->_registered = static_cast<SocketOperation>(_handler->_registered & ~remove);
1237
- _handler->_registered = static_cast<SocketOperation>(_handler->_registered | add);
1238
- if(previous == _handler->_registered)
1239
- {
1240
- return false;
1241
- }
1242
-
1243
- // Clear ready flags which might not be valid anymore.
1244
- _ready = static_cast<SocketOperation>(_ready & _handler->_registered);
1245
- return _handler->getNativeInfo();
1246
- }
1247
-
1248
- bool
1249
- EventHandlerWrapper::finish()
1250
- {
1251
- _finish = true;
1252
- _ready = SocketOperationNone;
1253
- _handler->_registered = SocketOperationNone;
1254
- return _handler->getNativeInfo();
1255
- }
1256
-
1257
- Selector::Selector(const InstancePtr& instance) : _instance(instance), _destroyed(false)
1258
- {
1259
- CFRunLoopSourceContext ctx;
1260
- memset(&ctx, 0, sizeof(CFRunLoopSourceContext));
1261
- ctx.info = this;
1262
- ctx.perform = selectorInterrupt;
1263
- _source.reset(CFRunLoopSourceCreate(0, 0, &ctx));
1264
- _runLoop = 0;
1265
-
1266
- _thread = new SelectorHelperThread(*this);
1267
- _thread->start();
1268
-
1269
- Lock sync(*this);
1270
- while(!_runLoop)
1271
- {
1272
- wait();
1273
- }
1274
- }
1275
-
1276
- Selector::~Selector()
1277
- {
1278
- }
1279
-
1280
- void
1281
- Selector::destroy()
1282
- {
1283
- {
1284
- Lock sync(*this);
1285
-
1286
- //
1287
- // Make sure any pending changes are processed to ensure remaining
1288
- // streams/sockets are closed.
1289
- //
1290
- _destroyed = true;
1291
- CFRunLoopSourceSignal(_source.get());
1292
- CFRunLoopWakeUp(_runLoop);
1293
-
1294
- while(!_changes.empty())
1295
- {
1296
- CFRunLoopSourceSignal(_source.get());
1297
- CFRunLoopWakeUp(_runLoop);
1298
-
1299
- wait();
1300
- }
1301
- }
1302
-
1303
- _thread->getThreadControl().join();
1304
- _thread = 0;
1305
-
1306
- Lock sync(*this);
1307
- _source.reset(0);
1308
-
1309
- //assert(_wrappers.empty());
1310
- _readyHandlers.clear();
1311
- _selectedHandlers.clear();
1312
- }
1313
-
1314
- void
1315
- Selector::initialize(EventHandler* handler)
1316
- {
1317
- Lock sync(*this);
1318
- _wrappers[handler] = new EventHandlerWrapper(handler, *this);
1319
- }
1320
-
1321
- void
1322
- Selector::update(EventHandler* handler, SocketOperation remove, SocketOperation add)
1323
- {
1324
- Lock sync(*this);
1325
- const EventHandlerWrapperPtr& wrapper = _wrappers[handler];
1326
- if(wrapper->update(remove, add))
1327
- {
1328
- _changes.insert(wrapper);
1329
- notify();
1330
- }
1331
- }
1332
-
1333
- void
1334
- Selector::enable(EventHandler* handler, SocketOperation op)
1335
- {
1336
- Lock sync(*this);
1337
- if(!(handler->_disabled & op))
1338
- {
1339
- return;
1340
- }
1341
- handler->_disabled = static_cast<SocketOperation>(handler->_disabled & ~op);
1342
-
1343
- if(handler->_registered & op)
1344
- {
1345
- _wrappers[handler]->checkReady();
1346
- }
1347
- }
1348
-
1349
- void
1350
- Selector::disable(EventHandler* handler, SocketOperation op)
1351
- {
1352
- Lock sync(*this);
1353
- if(handler->_disabled & op)
1354
- {
1355
- return;
1356
- }
1357
- handler->_disabled = static_cast<SocketOperation>(handler->_disabled | op);
1358
- }
1359
-
1360
- bool
1361
- Selector::finish(EventHandler* handler, bool closeNow)
1362
- {
1363
- Lock sync(*this);
1364
- std::map<EventHandler*, EventHandlerWrapperPtr>::iterator p = _wrappers.find(handler);
1365
- assert(p != _wrappers.end());
1366
- EventHandlerWrapperPtr wrapper = p->second;
1367
- if(wrapper->finish())
1368
- {
1369
- _changes.insert(wrapper);
1370
- notify();
1371
- }
1372
- _wrappers.erase(p);
1373
- return closeNow;
1374
- }
1375
-
1376
- void
1377
- Selector::ready(EventHandler* handler, SocketOperation status, bool value)
1378
- {
1379
- if(((handler->_ready & status) != 0) == value)
1380
- {
1381
- return; // Nothing to do if ready state already correctly set.
1382
- }
1383
-
1384
- if(value)
1385
- {
1386
- handler->_ready = static_cast<SocketOperation>(handler->_ready | status);
1387
- }
1388
- else
1389
- {
1390
- handler->_ready = static_cast<SocketOperation>(handler->_ready & ~status);
1391
- }
1392
-
1393
- Lock sync(*this);
1394
- std::map<EventHandler*, EventHandlerWrapperPtr>::iterator p = _wrappers.find(handler);
1395
- assert(p != _wrappers.end());
1396
- p->second->checkReady();
1397
- }
1398
-
1399
- void
1400
- Selector::startSelect()
1401
- {
1402
- Lock sync(*this);
1403
-
1404
- //
1405
- // Re-enable callbacks for previously selected handlers.
1406
- //
1407
- vector<pair<EventHandlerWrapperPtr, SocketOperation> >::const_iterator p;
1408
- for(p = _selectedHandlers.begin(); p != _selectedHandlers.end(); ++p)
1409
- {
1410
- if(p->first->checkReady())
1411
- {
1412
- _changes.insert(p->first);
1413
- }
1414
- }
1415
- _selectedHandlers.clear();
1416
- }
1417
-
1418
- void
1419
- Selector::finishSelect(std::vector<std::pair<EventHandler*, SocketOperation> >& handlers)
1420
- {
1421
- Lock sync(*this);
1422
- handlers.clear();
1423
- for(set<EventHandlerWrapperPtr>::const_iterator p = _readyHandlers.begin(); p != _readyHandlers.end(); ++p)
1424
- {
1425
- SocketOperation op = (*p)->readyOp();
1426
- if(op)
1427
- {
1428
- _selectedHandlers.push_back(pair<EventHandlerWrapperPtr, SocketOperation>(*p, op));
1429
- handlers.push_back(pair<EventHandler*, SocketOperation>((*p)->_handler.get(), op));
1430
- }
1431
- }
1432
- _readyHandlers.clear();
1433
- }
1434
-
1435
- void
1436
- Selector::select(int timeout)
1437
- {
1438
- //
1439
- // Wait for handlers to be ready.
1440
- //
1441
- Lock sync(*this);
1442
- while(!_destroyed)
1443
- {
1444
- while(!_changes.empty())
1445
- {
1446
- CFRunLoopSourceSignal(_source.get());
1447
- CFRunLoopWakeUp(_runLoop);
1448
-
1449
- wait();
1450
- }
1451
-
1452
- if(_readyHandlers.empty())
1453
- {
1454
- if(timeout > 0)
1455
- {
1456
- if(!timedWait(IceUtil::Time::seconds(timeout)))
1457
- {
1458
- break;
1459
- }
1460
- }
1461
- else
1462
- {
1463
- wait();
1464
- }
1465
- }
1466
-
1467
- if(_changes.empty())
1468
- {
1469
- break;
1470
- }
1471
- }
1472
- }
1473
-
1474
- void
1475
- Selector::processInterrupt()
1476
- {
1477
- Lock sync(*this);
1478
- if(!_changes.empty())
1479
- {
1480
- for(set<EventHandlerWrapperPtr>::const_iterator p = _changes.begin(); p != _changes.end(); ++p)
1481
- {
1482
- (*p)->updateRunLoop();
1483
- }
1484
- _changes.clear();
1485
- notify();
1486
- }
1487
- if(_destroyed)
1488
- {
1489
- CFRunLoopStop(_runLoop);
1490
- }
1491
- }
1492
-
1493
- void
1494
- Selector::run()
1495
- {
1496
- {
1497
- Lock sync(*this);
1498
- _runLoop = CFRunLoopGetCurrent();
1499
- notify();
1500
- }
1501
-
1502
- CFRunLoopAddSource(CFRunLoopGetCurrent(), _source.get(), kCFRunLoopDefaultMode);
1503
- CFRunLoopRun();
1504
- CFRunLoopRemoveSource(CFRunLoopGetCurrent(), _source.get(), kCFRunLoopDefaultMode);
1505
- }
1506
-
1507
- void
1508
- Selector::ready(EventHandlerWrapper* wrapper, SocketOperation op, int error)
1509
- {
1510
- Lock sync(*this);
1511
- wrapper->ready(op, error);
1512
- }
1513
-
1514
- void
1515
- Selector::addReadyHandler(EventHandlerWrapper* wrapper)
1516
- {
1517
- // Called from ready()
1518
- _readyHandlers.insert(wrapper);
1519
- if(_readyHandlers.size() == 1)
1520
- {
1521
- notify();
1522
- }
1523
- }
1524
-
1525
- #endif