zeroc-ice 3.7.9.1 → 3.8.0

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 (1215) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Communicator.cpp +575 -0
  3. data/dist/IceRuby/Communicator.h +19 -0
  4. data/dist/IceRuby/Config.h +77 -0
  5. data/dist/IceRuby/Connection.cpp +428 -0
  6. data/dist/IceRuby/Connection.h +20 -0
  7. data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
  8. data/dist/IceRuby/DefaultSliceLoader.h +25 -0
  9. data/dist/IceRuby/Endpoint.cpp +342 -0
  10. data/dist/IceRuby/Endpoint.h +18 -0
  11. data/dist/IceRuby/ImplicitContext.cpp +143 -0
  12. data/dist/IceRuby/ImplicitContext.h +16 -0
  13. data/dist/IceRuby/Init.cpp +36 -0
  14. data/dist/IceRuby/Logger.cpp +146 -0
  15. data/dist/IceRuby/Logger.h +19 -0
  16. data/dist/IceRuby/Operation.cpp +623 -0
  17. data/dist/IceRuby/Operation.h +28 -0
  18. data/dist/IceRuby/Properties.cpp +413 -0
  19. data/dist/IceRuby/Properties.h +16 -0
  20. data/dist/IceRuby/Proxy.cpp +926 -0
  21. data/dist/IceRuby/Proxy.h +21 -0
  22. data/dist/IceRuby/RubySliceLoader.cpp +39 -0
  23. data/dist/IceRuby/RubySliceLoader.h +27 -0
  24. data/dist/IceRuby/Slice.cpp +199 -0
  25. data/dist/IceRuby/Slice.h +13 -0
  26. data/dist/IceRuby/Types.cpp +3133 -0
  27. data/dist/IceRuby/Types.h +533 -0
  28. data/dist/IceRuby/Util.cpp +553 -0
  29. data/dist/IceRuby/Util.h +485 -0
  30. data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
  31. data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
  32. data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +14 -0
  33. data/dist/ice/cpp/include/Ice/Buffer.h +159 -0
  34. data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
  35. data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
  36. data/dist/ice/cpp/include/Ice/Config.h +60 -0
  37. data/dist/ice/cpp/include/Ice/Connection.h +410 -0
  38. data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
  39. data/dist/ice/cpp/include/Ice/ConnectionIF.h +16 -0
  40. data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
  41. data/dist/ice/cpp/include/Ice/Current.h +60 -0
  42. data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
  43. data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
  44. data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
  45. data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
  46. data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
  47. data/dist/ice/cpp/include/Ice/Exception.h +56 -0
  48. data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
  49. data/dist/ice/cpp/include/Ice/Format.h +22 -0
  50. data/dist/ice/cpp/include/Ice/Ice.h +60 -0
  51. data/dist/ice/cpp/include/Ice/IconvStringConverter.h +216 -0
  52. data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
  53. data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
  54. data/dist/ice/cpp/include/Ice/Initialize.h +143 -0
  55. data/dist/ice/cpp/include/Ice/InputStream.h +942 -0
  56. data/dist/ice/cpp/include/Ice/InstanceF.h +14 -0
  57. data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
  58. data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
  59. data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
  60. data/dist/ice/cpp/include/Ice/Logger.h +62 -0
  61. data/dist/ice/cpp/include/Ice/LoggerUtil.h +162 -0
  62. data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
  63. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +54 -0
  64. data/dist/ice/cpp/include/Ice/Object.h +168 -0
  65. data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
  66. data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
  67. data/dist/ice/cpp/include/Ice/ObjectF.h +16 -0
  68. data/dist/ice/cpp/include/Ice/ObserverHelper.h +164 -0
  69. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +512 -0
  70. data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
  71. data/dist/ice/cpp/include/Ice/OutputStream.h +872 -0
  72. data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
  73. data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
  74. data/dist/ice/cpp/include/Ice/PopDisableWarnings.h +16 -0
  75. data/dist/ice/cpp/include/Ice/Properties.h +307 -0
  76. data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
  77. data/dist/ice/cpp/include/Ice/Proxy.h +742 -0
  78. data/dist/ice/cpp/include/Ice/ProxyF.h +11 -0
  79. data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
  80. data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
  81. data/dist/ice/cpp/include/Ice/ReferenceF.h +14 -0
  82. data/dist/ice/cpp/include/Ice/RequestHandlerF.h +20 -0
  83. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +268 -0
  84. data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
  85. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
  86. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
  87. data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
  88. data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
  89. data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +278 -0
  90. data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
  91. data/dist/ice/cpp/include/Ice/Service.h +219 -0
  92. data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
  93. data/dist/ice/cpp/include/Ice/SlicedData.h +125 -0
  94. data/dist/ice/cpp/include/Ice/SlicedDataF.h +30 -0
  95. data/dist/ice/cpp/include/Ice/StreamHelpers.h +652 -0
  96. data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
  97. data/dist/ice/cpp/include/Ice/StringConverter.h +167 -0
  98. data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
  99. data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
  100. data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
  101. data/dist/ice/cpp/include/Ice/UUID.h +16 -0
  102. data/dist/ice/cpp/include/Ice/UserException.h +46 -0
  103. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +15 -0
  104. data/dist/ice/cpp/include/Ice/Value.h +127 -0
  105. data/dist/ice/cpp/include/Ice/ValueF.h +16 -0
  106. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +28 -0
  107. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +28 -0
  108. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +70 -0
  109. data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
  110. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +74 -0
  111. data/dist/ice/cpp/include/generated/Ice/Identity.h +108 -0
  112. data/dist/ice/cpp/include/generated/Ice/Locator.h +542 -0
  113. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
  114. data/dist/ice/cpp/include/generated/Ice/Metrics.h +1103 -0
  115. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
  116. data/dist/ice/cpp/include/generated/Ice/Process.h +245 -0
  117. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +314 -0
  118. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
  119. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +724 -0
  120. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
  121. data/dist/ice/cpp/include/generated/Ice/Router.h +496 -0
  122. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +37 -0
  123. data/dist/ice/cpp/include/generated/Ice/Version.h +112 -0
  124. data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
  125. data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
  126. data/dist/ice/cpp/src/Ice/Acceptor.h +41 -0
  127. data/dist/ice/cpp/src/Ice/AcceptorF.h +17 -0
  128. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
  129. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
  130. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
  131. data/dist/ice/cpp/src/Ice/ArgVector.cpp +58 -0
  132. data/dist/ice/cpp/src/Ice/ArgVector.h +30 -0
  133. data/dist/ice/cpp/src/Ice/Base64.cpp +263 -0
  134. data/dist/ice/cpp/src/Ice/Base64.h +26 -0
  135. data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +199 -0
  136. data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +49 -0
  137. data/dist/ice/cpp/src/Ice/Buffer.cpp +187 -0
  138. data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
  139. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +373 -0
  140. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +65 -0
  141. data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
  142. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
  143. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
  144. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +227 -0
  145. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +51 -0
  146. data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +14 -0
  147. data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
  148. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +1758 -0
  149. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +264 -0
  150. data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +17 -0
  151. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +3563 -0
  152. data/dist/ice/cpp/src/Ice/ConnectionI.h +429 -0
  153. data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
  154. data/dist/ice/cpp/src/Ice/Connector.h +38 -0
  155. data/dist/ice/cpp/src/Ice/ConnectorF.h +14 -0
  156. data/dist/ice/cpp/src/Ice/ConsoleUtil.cpp +136 -0
  157. data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
  158. data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
  159. data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
  160. data/dist/ice/cpp/src/Ice/DLLMain.cpp +40 -0
  161. data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
  162. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +81 -0
  163. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +38 -0
  164. data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +14 -0
  165. data/dist/ice/cpp/src/Ice/Demangle.cpp +25 -0
  166. data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
  167. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +216 -0
  168. data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
  169. data/dist/ice/cpp/src/Ice/Endian.h +40 -0
  170. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +165 -0
  171. data/dist/ice/cpp/src/Ice/EndpointFactory.h +96 -0
  172. data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +14 -0
  173. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +180 -0
  174. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +42 -0
  175. data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +14 -0
  176. data/dist/ice/cpp/src/Ice/EndpointI.cpp +128 -0
  177. data/dist/ice/cpp/src/Ice/EndpointI.h +150 -0
  178. data/dist/ice/cpp/src/Ice/EndpointIF.h +21 -0
  179. data/dist/ice/cpp/src/Ice/EventHandler.cpp +9 -0
  180. data/dist/ice/cpp/src/Ice/EventHandler.h +71 -0
  181. data/dist/ice/cpp/src/Ice/EventHandlerF.h +14 -0
  182. data/dist/ice/cpp/src/Ice/Exception.cpp +5 -0
  183. data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
  184. data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
  185. data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
  186. data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
  187. data/dist/ice/cpp/src/Ice/HashUtil.h +67 -0
  188. data/dist/ice/cpp/src/Ice/HttpParser.cpp +684 -0
  189. data/dist/ice/cpp/src/Ice/HttpParser.h +112 -0
  190. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +593 -0
  191. data/dist/ice/cpp/src/Ice/IPEndpointI.h +106 -0
  192. data/dist/ice/cpp/src/Ice/IPEndpointIF.h +17 -0
  193. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
  194. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
  195. data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
  196. data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
  197. data/dist/ice/cpp/src/Ice/Initialize.cpp +160 -0
  198. data/dist/ice/cpp/src/Ice/InputStream.cpp +2206 -0
  199. data/dist/ice/cpp/src/Ice/Instance.cpp +1956 -0
  200. data/dist/ice/cpp/src/Ice/Instance.h +225 -0
  201. data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +959 -0
  202. data/dist/ice/cpp/src/Ice/InstrumentationI.h +235 -0
  203. data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
  204. data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
  205. data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +851 -0
  206. data/dist/ice/cpp/src/Ice/LocatorInfo.h +176 -0
  207. data/dist/ice/cpp/src/Ice/LocatorInfoF.h +20 -0
  208. data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +774 -0
  209. data/dist/ice/cpp/src/Ice/LoggerAdminI.h +31 -0
  210. data/dist/ice/cpp/src/Ice/LoggerI.cpp +234 -0
  211. data/dist/ice/cpp/src/Ice/LoggerI.h +47 -0
  212. data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
  213. data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
  214. data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +76 -0
  215. data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
  216. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +608 -0
  217. data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
  218. data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
  219. data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
  220. data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
  221. data/dist/ice/cpp/src/Ice/Network.cpp +1927 -0
  222. data/dist/ice/cpp/src/Ice/Network.h +265 -0
  223. data/dist/ice/cpp/src/Ice/NetworkF.h +11 -0
  224. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +306 -0
  225. data/dist/ice/cpp/src/Ice/NetworkProxy.h +67 -0
  226. data/dist/ice/cpp/src/Ice/NetworkProxyF.h +14 -0
  227. data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +55 -0
  228. data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +35 -0
  229. data/dist/ice/cpp/src/Ice/Object.cpp +249 -0
  230. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +348 -0
  231. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +53 -0
  232. data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +14 -0
  233. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1383 -0
  234. data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +163 -0
  235. data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +75 -0
  236. data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
  237. data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
  238. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +368 -0
  239. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +66 -0
  240. data/dist/ice/cpp/src/Ice/Options.cpp +980 -0
  241. data/dist/ice/cpp/src/Ice/Options.h +119 -0
  242. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1106 -0
  243. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
  244. data/dist/ice/cpp/src/Ice/OutputStream.cpp +1454 -0
  245. data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
  246. data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
  247. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +344 -0
  248. data/dist/ice/cpp/src/Ice/PluginManagerI.h +54 -0
  249. data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
  250. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +606 -0
  251. data/dist/ice/cpp/src/Ice/PropertyNames.h +63 -0
  252. data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
  253. data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
  254. data/dist/ice/cpp/src/Ice/Protocol.cpp +159 -0
  255. data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
  256. data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +186 -0
  257. data/dist/ice/cpp/src/Ice/ProtocolInstance.h +74 -0
  258. data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +14 -0
  259. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +29 -0
  260. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +35 -0
  261. data/dist/ice/cpp/src/Ice/Proxy.cpp +541 -0
  262. data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
  263. data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
  264. data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
  265. data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
  266. data/dist/ice/cpp/src/Ice/Random.h +23 -0
  267. data/dist/ice/cpp/src/Ice/Reference.cpp +1584 -0
  268. data/dist/ice/cpp/src/Ice/Reference.h +339 -0
  269. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +830 -0
  270. data/dist/ice/cpp/src/Ice/ReferenceFactory.h +58 -0
  271. data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +14 -0
  272. data/dist/ice/cpp/src/Ice/RequestHandler.cpp +28 -0
  273. data/dist/ice/cpp/src/Ice/RequestHandler.h +53 -0
  274. data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
  275. data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
  276. data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
  277. data/dist/ice/cpp/src/Ice/RetryQueue.cpp +151 -0
  278. data/dist/ice/cpp/src/Ice/RetryQueue.h +59 -0
  279. data/dist/ice/cpp/src/Ice/RetryQueueF.h +14 -0
  280. data/dist/ice/cpp/src/Ice/RouterInfo.cpp +275 -0
  281. data/dist/ice/cpp/src/Ice/RouterInfo.h +95 -0
  282. data/dist/ice/cpp/src/Ice/RouterInfoF.h +17 -0
  283. data/dist/ice/cpp/src/Ice/SHA1.cpp +195 -0
  284. data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
  285. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
  286. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
  287. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +513 -0
  288. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
  289. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
  290. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +635 -0
  291. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
  292. data/dist/ice/cpp/src/Ice/SSL/RFC2253.cpp +487 -0
  293. data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
  294. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
  295. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
  296. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
  297. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
  298. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
  299. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
  300. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
  301. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +72 -0
  302. data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
  303. data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
  304. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
  305. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
  306. data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
  307. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +654 -0
  308. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +104 -0
  309. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1437 -0
  310. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
  311. data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
  312. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1085 -0
  313. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
  314. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +822 -0
  315. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
  316. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
  317. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
  318. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
  319. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1061 -0
  320. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
  321. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +222 -0
  322. data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
  323. data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
  324. data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
  325. data/dist/ice/cpp/src/Ice/Selector.cpp +1270 -0
  326. data/dist/ice/cpp/src/Ice/Selector.h +235 -0
  327. data/dist/ice/cpp/src/Ice/ServantManager.cpp +547 -0
  328. data/dist/ice/cpp/src/Ice/ServantManager.h +66 -0
  329. data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
  330. data/dist/ice/cpp/src/Ice/Service.cpp +1790 -0
  331. data/dist/ice/cpp/src/Ice/SharedContext.h +33 -0
  332. data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
  333. data/dist/ice/cpp/src/Ice/SlicedData.cpp +48 -0
  334. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +472 -0
  335. data/dist/ice/cpp/src/Ice/StreamSocket.h +73 -0
  336. data/dist/ice/cpp/src/Ice/StringConverter.cpp +582 -0
  337. data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
  338. data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +160 -0
  339. data/dist/ice/cpp/src/Ice/SysLoggerI.h +34 -0
  340. data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +65 -0
  341. data/dist/ice/cpp/src/Ice/SystemdJournalI.h +33 -0
  342. data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
  343. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +213 -0
  344. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +55 -0
  345. data/dist/ice/cpp/src/Ice/TcpConnector.cpp +128 -0
  346. data/dist/ice/cpp/src/Ice/TcpConnector.h +36 -0
  347. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +411 -0
  348. data/dist/ice/cpp/src/Ice/TcpEndpointI.h +86 -0
  349. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +147 -0
  350. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +53 -0
  351. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1110 -0
  352. data/dist/ice/cpp/src/Ice/ThreadPool.h +305 -0
  353. data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
  354. data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
  355. data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
  356. data/dist/ice/cpp/src/Ice/Timer.cpp +169 -0
  357. data/dist/ice/cpp/src/Ice/Timer.h +212 -0
  358. data/dist/ice/cpp/src/Ice/TraceLevels.cpp +20 -0
  359. data/dist/ice/cpp/src/Ice/TraceLevels.h +39 -0
  360. data/dist/ice/cpp/src/Ice/TraceLevelsF.h +14 -0
  361. data/dist/ice/cpp/src/Ice/TraceUtil.cpp +399 -0
  362. data/dist/ice/cpp/src/Ice/TraceUtil.h +41 -0
  363. data/dist/ice/cpp/src/Ice/Transceiver.cpp +14 -0
  364. data/dist/ice/cpp/src/Ice/Transceiver.h +52 -0
  365. data/dist/ice/cpp/src/Ice/TransceiverF.h +23 -0
  366. data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
  367. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +131 -0
  368. data/dist/ice/cpp/src/Ice/UdpConnector.h +36 -0
  369. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +480 -0
  370. data/dist/ice/cpp/src/Ice/UdpEndpointI.h +92 -0
  371. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +786 -0
  372. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +90 -0
  373. data/dist/ice/cpp/src/Ice/UndefSysMacros.h +37 -0
  374. data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
  375. data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
  376. data/dist/ice/cpp/src/Ice/Value.cpp +145 -0
  377. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +87 -0
  378. data/dist/ice/cpp/src/Ice/WSAcceptor.h +46 -0
  379. data/dist/ice/cpp/src/Ice/WSConnector.cpp +87 -0
  380. data/dist/ice/cpp/src/Ice/WSConnector.h +36 -0
  381. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +455 -0
  382. data/dist/ice/cpp/src/Ice/WSEndpoint.h +82 -0
  383. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +1715 -0
  384. data/dist/ice/cpp/src/Ice/WSTransceiver.h +135 -0
  385. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +40 -0
  386. data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
  387. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +40 -0
  388. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +47 -0
  389. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +752 -0
  390. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
  391. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +1205 -0
  392. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
  393. data/dist/ice/cpp/src/Ice/generated/Process.cpp +330 -0
  394. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +443 -0
  395. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
  396. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +851 -0
  397. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
  398. data/dist/ice/cpp/src/Ice/generated/Router.cpp +660 -0
  399. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +39 -0
  400. data/dist/ice/cpp/src/Ice/generated/Version.cpp +54 -0
  401. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +202 -0
  402. data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +68 -0
  403. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +494 -0
  404. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +168 -0
  405. data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +155 -0
  406. data/dist/ice/cpp/src/IceDiscovery/PluginI.h +31 -0
  407. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
  408. data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +24 -0
  409. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +822 -0
  410. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
  411. data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
  412. data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
  413. data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
  414. data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
  415. data/dist/ice/cpp/src/Slice/FileTracker.cpp +96 -0
  416. data/dist/ice/cpp/src/Slice/FileTracker.h +44 -0
  417. data/dist/ice/cpp/src/Slice/Grammar.cpp +4125 -0
  418. data/dist/ice/cpp/src/Slice/Grammar.h +138 -0
  419. data/dist/ice/cpp/src/Slice/GrammarUtil.h +128 -0
  420. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +473 -0
  421. data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
  422. data/dist/ice/cpp/src/Slice/Parser.cpp +4906 -0
  423. data/dist/ice/cpp/src/Slice/Parser.h +1175 -0
  424. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +295 -0
  425. data/dist/ice/cpp/src/Slice/Preprocessor.h +44 -0
  426. data/dist/ice/cpp/src/Slice/Scanner.cpp +3445 -0
  427. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +790 -0
  428. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +448 -0
  429. data/dist/ice/cpp/src/Slice/Util.h +134 -0
  430. data/dist/ice/cpp/src/slice2rb/Main.cpp +33 -0
  431. data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
  432. data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
  433. data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
  434. data/dist/ice/mcpp/internal.H +530 -0
  435. data/dist/ice/slice/Glacier2/Metrics.ice +47 -0
  436. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +55 -0
  437. data/dist/ice/slice/Glacier2/Router.ice +93 -0
  438. data/dist/ice/slice/Glacier2/SSLInfo.ice +42 -0
  439. data/dist/ice/slice/Glacier2/Session.ice +133 -0
  440. data/dist/ice/slice/Ice/BuiltinSequences.ice +54 -0
  441. data/dist/ice/slice/Ice/Context.ice +24 -0
  442. data/dist/ice/slice/Ice/EndpointTypes.ice +50 -0
  443. data/dist/ice/slice/Ice/Identity.ice +36 -0
  444. data/dist/ice/slice/Ice/Locator.ice +74 -0
  445. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  446. data/dist/ice/slice/Ice/Metrics.ice +201 -0
  447. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  448. data/dist/ice/slice/Ice/Process.ice +28 -0
  449. data/dist/ice/slice/Ice/PropertiesAdmin.ice +37 -0
  450. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  451. data/dist/ice/slice/Ice/RemoteLogger.ice +126 -0
  452. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  453. data/dist/ice/slice/Ice/Router.ice +54 -0
  454. data/dist/ice/slice/Ice/SliceChecksumDict.ice +18 -0
  455. data/dist/ice/slice/Ice/Version.ice +43 -0
  456. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  457. data/dist/ice/slice/IceGrid/Admin.ice +981 -0
  458. data/dist/ice/slice/IceGrid/Descriptor.ice +519 -0
  459. data/dist/ice/slice/IceGrid/Exception.ice +98 -0
  460. data/dist/ice/slice/IceGrid/FileParser.ice +36 -0
  461. data/dist/ice/slice/IceGrid/Registry.ice +130 -0
  462. data/dist/ice/slice/IceGrid/Session.ice +64 -0
  463. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +34 -0
  464. data/dist/ice/slice/IceStorm/IceStorm.ice +186 -0
  465. data/dist/ice/slice/IceStorm/Metrics.ice +41 -0
  466. data/dist/lib/Glacier2/Metrics.rb +41 -0
  467. data/dist/lib/Glacier2/PermissionsVerifier.rb +61 -0
  468. data/dist/lib/Glacier2/Router.rb +73 -0
  469. data/dist/lib/Glacier2/SSLInfo.rb +64 -0
  470. data/dist/lib/Glacier2/Session.rb +187 -0
  471. data/dist/lib/Glacier2.rb +7 -0
  472. data/dist/lib/Ice/BuiltinSequences.rb +48 -0
  473. data/dist/lib/Ice/CompressBatch.rb +50 -0
  474. data/dist/lib/Ice/Context.rb +12 -0
  475. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  476. data/dist/lib/Ice/EndpointTypes.rb +28 -0
  477. data/dist/lib/Ice/Exception.rb +20 -0
  478. data/dist/lib/Ice/Identity.rb +47 -0
  479. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  480. data/dist/lib/Ice/InitializationData.rb +12 -0
  481. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  482. data/dist/lib/Ice/Locator.rb +83 -0
  483. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  484. data/dist/lib/Ice/Metrics.rb +290 -0
  485. data/dist/lib/Ice/OperationMode.rb +58 -0
  486. data/dist/lib/Ice/Process.rb +34 -0
  487. data/dist/lib/Ice/PropertiesAdmin.rb +39 -0
  488. data/dist/lib/Ice/PropertyDict.rb +12 -0
  489. data/dist/lib/Ice/Proxy.rb +85 -0
  490. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  491. data/dist/lib/Ice/RemoteLogger.rb +176 -0
  492. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  493. data/dist/lib/Ice/Router.rb +59 -0
  494. data/dist/lib/Ice/SliceChecksumDict.rb +12 -0
  495. data/dist/lib/Ice/SliceUtil.rb +41 -0
  496. data/dist/lib/Ice/Struct.rb +11 -0
  497. data/dist/lib/Ice/ToStringMode.rb +50 -0
  498. data/dist/lib/Ice/Value.rb +93 -0
  499. data/dist/lib/Ice/Version.rb +78 -0
  500. data/dist/lib/Ice.rb +37 -0
  501. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  502. data/dist/lib/IceBox.rb +3 -0
  503. data/dist/lib/IceGrid/Admin.rb +1208 -0
  504. data/dist/lib/IceGrid/Descriptor.rb +989 -0
  505. data/dist/lib/IceGrid/Exception.rb +145 -0
  506. data/dist/lib/IceGrid/FileParser.rb +41 -0
  507. data/dist/lib/IceGrid/Registry.rb +168 -0
  508. data/dist/lib/IceGrid/Session.rb +56 -0
  509. data/dist/lib/IceGrid/UserAccountMapper.rb +38 -0
  510. data/dist/lib/IceGrid.rb +9 -0
  511. data/dist/lib/IceStorm/IceStorm.rb +251 -0
  512. data/dist/lib/IceStorm/Metrics.rb +55 -0
  513. data/dist/lib/IceStorm.rb +4 -0
  514. data/extconf.rb +89 -0
  515. data/ice.gemspec +22 -17
  516. data/scripts/slice2rb +10 -0
  517. metadata +536 -712
  518. data/ICE_LICENSE +0 -48
  519. data/LICENSE +0 -340
  520. data/MCPP_LICENSE +0 -29
  521. data/bin/slice2rb +0 -12
  522. data/ext/Communicator.cpp +0 -792
  523. data/ext/Communicator.h +0 -20
  524. data/ext/Config.h +0 -143
  525. data/ext/Connection.cpp +0 -532
  526. data/ext/Connection.h +0 -24
  527. data/ext/Endpoint.cpp +0 -340
  528. data/ext/Endpoint.h +0 -22
  529. data/ext/ImplicitContext.cpp +0 -144
  530. data/ext/ImplicitContext.h +0 -20
  531. data/ext/Init.cpp +0 -49
  532. data/ext/Logger.cpp +0 -147
  533. data/ext/Logger.h +0 -23
  534. data/ext/Operation.cpp +0 -661
  535. data/ext/Operation.h +0 -31
  536. data/ext/Properties.cpp +0 -365
  537. data/ext/Properties.h +0 -20
  538. data/ext/Proxy.cpp +0 -1396
  539. data/ext/Proxy.h +0 -22
  540. data/ext/Slice.cpp +0 -205
  541. data/ext/Slice.h +0 -17
  542. data/ext/Types.cpp +0 -3325
  543. data/ext/Types.h +0 -595
  544. data/ext/Util.cpp +0 -812
  545. data/ext/Util.h +0 -586
  546. data/ext/ValueFactoryManager.cpp +0 -441
  547. data/ext/ValueFactoryManager.h +0 -95
  548. data/ext/extconf.rb +0 -97
  549. data/ext/ice/cpp/include/Ice/Application.h +0 -326
  550. data/ext/ice/cpp/include/Ice/AsyncResult.h +0 -155
  551. data/ext/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  552. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  553. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -20
  554. data/ext/ice/cpp/include/Ice/Buffer.h +0 -154
  555. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  556. data/ext/ice/cpp/include/Ice/Comparable.h +0 -205
  557. data/ext/ice/cpp/include/Ice/Config.h +0 -78
  558. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  559. data/ext/ice/cpp/include/Ice/ConnectionIF.h +0 -38
  560. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  561. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  562. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  563. data/ext/ice/cpp/include/Ice/Dispatcher.h +0 -67
  564. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  565. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  566. data/ext/ice/cpp/include/Ice/Exception.h +0 -161
  567. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  568. data/ext/ice/cpp/include/Ice/FactoryTable.h +0 -73
  569. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  570. data/ext/ice/cpp/include/Ice/Format.h +0 -38
  571. data/ext/ice/cpp/include/Ice/Functional.h +0 -140
  572. data/ext/ice/cpp/include/Ice/GCObject.h +0 -76
  573. data/ext/ice/cpp/include/Ice/Handle.h +0 -182
  574. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  575. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +0 -377
  576. data/ext/ice/cpp/include/Ice/Incoming.h +0 -225
  577. data/ext/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  578. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  579. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  580. data/ext/ice/cpp/include/Ice/InputStream.h +0 -1514
  581. data/ext/ice/cpp/include/Ice/InstanceF.h +0 -20
  582. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  583. data/ext/ice/cpp/include/Ice/LocalObject.h +0 -35
  584. data/ext/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  585. data/ext/ice/cpp/include/Ice/LoggerUtil.h +0 -185
  586. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  587. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  588. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  589. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -86
  590. data/ext/ice/cpp/include/Ice/Object.h +0 -507
  591. data/ext/ice/cpp/include/Ice/ObjectF.h +0 -30
  592. data/ext/ice/cpp/include/Ice/ObserverHelper.h +0 -182
  593. data/ext/ice/cpp/include/Ice/Optional.h +0 -1114
  594. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  595. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  596. data/ext/ice/cpp/include/Ice/OutputStream.h +0 -1092
  597. data/ext/ice/cpp/include/Ice/Protocol.h +0 -274
  598. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  599. data/ext/ice/cpp/include/Ice/ProxyF.h +0 -53
  600. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  601. data/ext/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  602. data/ext/ice/cpp/include/Ice/ReferenceF.h +0 -29
  603. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  604. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +0 -30
  605. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  606. data/ext/ice/cpp/include/Ice/SHA1.h +0 -42
  607. data/ext/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  608. data/ext/ice/cpp/include/Ice/Service.h +0 -379
  609. data/ext/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  610. data/ext/ice/cpp/include/Ice/SlicedData.h +0 -172
  611. data/ext/ice/cpp/include/Ice/SlicedDataF.h +0 -40
  612. data/ext/ice/cpp/include/Ice/StreamHelpers.h +0 -1190
  613. data/ext/ice/cpp/include/Ice/StringConverter.h +0 -78
  614. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  615. data/ext/ice/cpp/include/Ice/UUID.h +0 -19
  616. data/ext/ice/cpp/include/Ice/UniquePtr.h +0 -95
  617. data/ext/ice/cpp/include/Ice/UniqueRef.h +0 -97
  618. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  619. data/ext/ice/cpp/include/Ice/Value.h +0 -139
  620. data/ext/ice/cpp/include/Ice/ValueF.h +0 -21
  621. data/ext/ice/cpp/include/IceSSL/Config.h +0 -21
  622. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -28
  623. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  624. data/ext/ice/cpp/include/IceSSL/Plugin.h +0 -712
  625. data/ext/ice/cpp/include/IceSSL/SChannel.h +0 -72
  626. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  627. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  628. data/ext/ice/cpp/include/IceUtil/Atomic.h +0 -179
  629. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  630. data/ext/ice/cpp/include/IceUtil/Config.h +0 -424
  631. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  632. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  633. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  634. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  635. data/ext/ice/cpp/include/IceUtil/Exception.h +0 -394
  636. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -143
  637. data/ext/ice/cpp/include/IceUtil/Functional.h +0 -389
  638. data/ext/ice/cpp/include/IceUtil/Handle.h +0 -261
  639. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  640. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  641. data/ext/ice/cpp/include/IceUtil/Iterator.h +0 -31
  642. data/ext/ice/cpp/include/IceUtil/Lock.h +0 -128
  643. data/ext/ice/cpp/include/IceUtil/Monitor.h +0 -243
  644. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -353
  645. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  646. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  647. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  648. data/ext/ice/cpp/include/IceUtil/Optional.h +0 -433
  649. data/ext/ice/cpp/include/IceUtil/Options.h +0 -135
  650. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  651. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -14
  652. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  653. data/ext/ice/cpp/include/IceUtil/Random.h +0 -55
  654. data/ext/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  655. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -53
  656. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  657. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  658. data/ext/ice/cpp/include/IceUtil/Shared.h +0 -127
  659. data/ext/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  660. data/ext/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  661. data/ext/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  662. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -174
  663. data/ext/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  664. data/ext/ice/cpp/include/IceUtil/Time.h +0 -205
  665. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -143
  666. data/ext/ice/cpp/include/IceUtil/UUID.h +0 -21
  667. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -37
  668. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  669. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  670. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  671. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  672. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  673. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  674. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  675. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  676. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  677. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  678. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  679. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  680. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  681. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  682. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  683. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  684. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  685. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  686. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  687. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  688. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  689. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  690. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  691. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  692. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  693. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  694. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  695. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  696. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  697. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  698. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  699. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  700. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  701. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  702. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  703. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  704. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  705. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  706. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  707. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  708. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  709. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  710. data/ext/ice/cpp/src/Ice/ACM.cpp +0 -380
  711. data/ext/ice/cpp/src/Ice/ACM.h +0 -119
  712. data/ext/ice/cpp/src/Ice/ACMF.h +0 -30
  713. data/ext/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  714. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  715. data/ext/ice/cpp/src/Ice/AcceptorF.h +0 -25
  716. data/ext/ice/cpp/src/Ice/ArgVector.cpp +0 -59
  717. data/ext/ice/cpp/src/Ice/ArgVector.h +0 -36
  718. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  719. data/ext/ice/cpp/src/Ice/Base64.cpp +0 -263
  720. data/ext/ice/cpp/src/Ice/Base64.h +0 -31
  721. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -250
  722. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +0 -59
  723. data/ext/ice/cpp/src/Ice/Buffer.cpp +0 -155
  724. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  725. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -407
  726. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -87
  727. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  728. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  729. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  730. data/ext/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  731. data/ext/ice/cpp/src/Ice/Cond.cpp +0 -381
  732. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -348
  733. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -72
  734. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -24
  735. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  736. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  737. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  738. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  739. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -30
  740. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  741. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -391
  742. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  743. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  744. data/ext/ice/cpp/src/Ice/Connector.cpp +0 -16
  745. data/ext/ice/cpp/src/Ice/Connector.h +0 -32
  746. data/ext/ice/cpp/src/Ice/ConnectorF.h +0 -21
  747. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -179
  748. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  749. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -161
  750. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -52
  751. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -21
  752. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  753. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -291
  754. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  755. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  756. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  757. data/ext/ice/cpp/src/Ice/EndpointFactory.h +0 -117
  758. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +0 -21
  759. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -213
  760. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -47
  761. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -21
  762. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  763. data/ext/ice/cpp/src/Ice/EndpointI.h +0 -218
  764. data/ext/ice/cpp/src/Ice/EndpointIF.h +0 -49
  765. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  766. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  767. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  768. data/ext/ice/cpp/src/Ice/EventHandlerF.h +0 -24
  769. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -845
  770. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  771. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  772. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  773. data/ext/ice/cpp/src/Ice/GCObject.cpp +0 -442
  774. data/ext/ice/cpp/src/Ice/HashUtil.h +0 -53
  775. data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -684
  776. data/ext/ice/cpp/src/Ice/HttpParser.h +0 -117
  777. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -756
  778. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -162
  779. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +0 -28
  780. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  781. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  782. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  783. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  784. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  785. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  786. data/ext/ice/cpp/src/Ice/Incoming.cpp +0 -795
  787. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  788. data/ext/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  789. data/ext/ice/cpp/src/Ice/Initialize.cpp +0 -654
  790. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  791. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1971
  792. data/ext/ice/cpp/src/Ice/Instance.h +0 -235
  793. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  794. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  795. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +0 -1094
  796. data/ext/ice/cpp/src/Ice/InstrumentationI.h +0 -256
  797. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  798. data/ext/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  799. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  800. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  801. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +0 -889
  802. data/ext/ice/cpp/src/Ice/LocatorInfo.h +0 -189
  803. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +0 -29
  804. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  805. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -956
  806. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +0 -41
  807. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  808. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -261
  809. data/ext/ice/cpp/src/Ice/LoggerI.h +0 -52
  810. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +0 -100
  811. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  812. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  813. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  814. data/ext/ice/cpp/src/Ice/Network.cpp +0 -3075
  815. data/ext/ice/cpp/src/Ice/Network.h +0 -371
  816. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -23
  817. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -324
  818. data/ext/ice/cpp/src/Ice/NetworkProxy.h +0 -72
  819. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +0 -21
  820. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -57
  821. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +0 -40
  822. data/ext/ice/cpp/src/Ice/Object.cpp +0 -435
  823. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  824. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  825. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -291
  826. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -53
  827. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -25
  828. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  829. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +0 -159
  830. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  831. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +0 -56
  832. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -408
  833. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -74
  834. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  835. data/ext/ice/cpp/src/Ice/OutputStream.cpp +0 -1367
  836. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  837. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  838. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  839. data/ext/ice/cpp/src/Ice/PluginManagerI.h +0 -61
  840. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  841. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  842. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  843. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  844. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  845. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  846. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  847. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -747
  848. data/ext/ice/cpp/src/Ice/PropertiesI.h +0 -70
  849. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  850. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  851. data/ext/ice/cpp/src/Ice/Protocol.cpp +0 -124
  852. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -131
  853. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +0 -93
  854. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -21
  855. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -51
  856. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -64
  857. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  858. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  859. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  860. data/ext/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  861. data/ext/ice/cpp/src/Ice/Reference.cpp +0 -2046
  862. data/ext/ice/cpp/src/Ice/Reference.h +0 -323
  863. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -888
  864. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +0 -76
  865. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -19
  866. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  867. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  868. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  869. data/ext/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  870. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +0 -37
  871. data/ext/ice/cpp/src/Ice/RequestHandler.h +0 -78
  872. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  873. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  874. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  875. data/ext/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  876. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +0 -157
  877. data/ext/ice/cpp/src/Ice/RetryQueue.h +0 -66
  878. data/ext/ice/cpp/src/Ice/RetryQueueF.h +0 -19
  879. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  880. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  881. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +0 -379
  882. data/ext/ice/cpp/src/Ice/RouterInfo.h +0 -152
  883. data/ext/ice/cpp/src/Ice/RouterInfoF.h +0 -25
  884. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -185
  885. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1537
  886. data/ext/ice/cpp/src/Ice/Selector.h +0 -308
  887. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  888. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  889. data/ext/ice/cpp/src/Ice/ServantManager.cpp +0 -480
  890. data/ext/ice/cpp/src/Ice/ServantManager.h +0 -69
  891. data/ext/ice/cpp/src/Ice/SharedContext.h +0 -46
  892. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  893. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  894. data/ext/ice/cpp/src/Ice/SlicedData.cpp +0 -127
  895. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -682
  896. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -92
  897. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  898. data/ext/ice/cpp/src/Ice/StringUtil.h +0 -30
  899. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +0 -166
  900. data/ext/ice/cpp/src/Ice/SysLoggerI.h +0 -37
  901. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -66
  902. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +0 -39
  903. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -355
  904. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -69
  905. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +0 -127
  906. data/ext/ice/cpp/src/Ice/TcpConnector.h +0 -45
  907. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -385
  908. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +0 -90
  909. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  910. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  911. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -811
  912. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1328
  913. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  914. data/ext/ice/cpp/src/Ice/Timer.cpp +0 -263
  915. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +0 -38
  916. data/ext/ice/cpp/src/Ice/TraceLevels.h +0 -45
  917. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +0 -21
  918. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +0 -478
  919. data/ext/ice/cpp/src/Ice/TraceUtil.h +0 -30
  920. data/ext/ice/cpp/src/Ice/Transceiver.cpp +0 -18
  921. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  922. data/ext/ice/cpp/src/Ice/TransceiverF.h +0 -33
  923. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -136
  924. data/ext/ice/cpp/src/Ice/UdpConnector.h +0 -45
  925. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -515
  926. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +0 -95
  927. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -1153
  928. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -117
  929. data/ext/ice/cpp/src/Ice/Value.cpp +0 -76
  930. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  931. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  932. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  933. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  934. data/ext/ice/cpp/src/Ice/VirtualShared.h +0 -38
  935. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  936. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  937. data/ext/ice/cpp/src/Ice/WSConnector.cpp +0 -102
  938. data/ext/ice/cpp/src/Ice/WSConnector.h +0 -43
  939. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +0 -508
  940. data/ext/ice/cpp/src/Ice/WSEndpoint.h +0 -93
  941. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1747
  942. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  943. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  944. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  945. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -265
  946. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +0 -109
  947. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -608
  948. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +0 -228
  949. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -176
  950. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +0 -36
  951. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  952. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  953. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -47
  954. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -1048
  955. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  956. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  957. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  958. data/ext/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  959. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  960. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  961. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  962. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  963. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  964. data/ext/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  965. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  966. data/ext/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  967. data/ext/ice/cpp/src/IceSSL/Instance.h +0 -37
  968. data/ext/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  969. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  970. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  971. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  972. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  973. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  974. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  975. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  976. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  977. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  978. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  979. data/ext/ice/cpp/src/IceSSL/PluginI.h +0 -67
  980. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +0 -490
  981. data/ext/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  982. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  983. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  984. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  985. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  986. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  987. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  988. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  989. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  990. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  991. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  992. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  993. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  994. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  995. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  996. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  997. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  998. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  999. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  1000. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  1001. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  1002. data/ext/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  1003. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  1004. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  1005. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  1006. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  1007. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  1008. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  1009. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  1010. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  1011. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  1012. data/ext/ice/cpp/src/IceSSL/Util.h +0 -99
  1013. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  1014. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  1015. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  1016. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  1017. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -484
  1018. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  1019. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  1020. data/ext/ice/cpp/src/IceUtil/Options.cpp +0 -1051
  1021. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  1022. data/ext/ice/cpp/src/IceUtil/Random.cpp +0 -180
  1023. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -242
  1024. data/ext/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  1025. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  1026. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1180
  1027. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  1028. data/ext/ice/cpp/src/IceUtil/Time.cpp +0 -307
  1029. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -169
  1030. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  1031. data/ext/ice/cpp/src/IceUtil/Unicode.h +0 -43
  1032. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  1033. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  1034. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  1035. data/ext/ice/cpp/src/Slice/Checksum.cpp +0 -447
  1036. data/ext/ice/cpp/src/Slice/Checksum.h +0 -21
  1037. data/ext/ice/cpp/src/Slice/FileTracker.cpp +0 -146
  1038. data/ext/ice/cpp/src/Slice/FileTracker.h +0 -66
  1039. data/ext/ice/cpp/src/Slice/Grammar.cpp +0 -4793
  1040. data/ext/ice/cpp/src/Slice/Grammar.h +0 -118
  1041. data/ext/ice/cpp/src/Slice/GrammarUtil.h +0 -228
  1042. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5154
  1043. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -398
  1044. data/ext/ice/cpp/src/Slice/MD5.cpp +0 -52
  1045. data/ext/ice/cpp/src/Slice/MD5.h +0 -39
  1046. data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -393
  1047. data/ext/ice/cpp/src/Slice/MD5I.h +0 -91
  1048. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  1049. data/ext/ice/cpp/src/Slice/PHPUtil.h +0 -36
  1050. data/ext/ice/cpp/src/Slice/Parser.cpp +0 -7058
  1051. data/ext/ice/cpp/src/Slice/Parser.h +0 -1174
  1052. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +0 -797
  1053. data/ext/ice/cpp/src/Slice/Preprocessor.h +0 -60
  1054. data/ext/ice/cpp/src/Slice/Python.cpp +0 -830
  1055. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  1056. data/ext/ice/cpp/src/Slice/PythonUtil.h +0 -70
  1057. data/ext/ice/cpp/src/Slice/Ruby.cpp +0 -350
  1058. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  1059. data/ext/ice/cpp/src/Slice/RubyUtil.h +0 -49
  1060. data/ext/ice/cpp/src/Slice/Scanner.cpp +0 -2807
  1061. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +0 -424
  1062. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -456
  1063. data/ext/ice/cpp/src/Slice/Util.h +0 -50
  1064. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  1065. data/ext/ice/mcpp/LICENSE +0 -29
  1066. data/ext/ice/mcpp/Makefile +0 -63
  1067. data/ext/ice/mcpp/README.md +0 -32
  1068. data/ext/ice/mcpp/internal.H +0 -530
  1069. data/ext/ice/mcpp/mcpp.gyp +0 -88
  1070. data/lib/Glacier2/Metrics.rb +0 -56
  1071. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  1072. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  1073. data/lib/Glacier2/Router.rb +0 -95
  1074. data/lib/Glacier2/RouterF.rb +0 -25
  1075. data/lib/Glacier2/SSLInfo.rb +0 -72
  1076. data/lib/Glacier2/Session.rb +0 -247
  1077. data/lib/Glacier2.rb +0 -7
  1078. data/lib/Ice/BuiltinSequences.rb +0 -60
  1079. data/lib/Ice/Communicator.rb +0 -87
  1080. data/lib/Ice/CommunicatorF.rb +0 -24
  1081. data/lib/Ice/Connection.rb +0 -413
  1082. data/lib/Ice/ConnectionF.rb +0 -32
  1083. data/lib/Ice/Current.rb +0 -141
  1084. data/lib/Ice/Endpoint.rb +0 -187
  1085. data/lib/Ice/EndpointF.rb +0 -48
  1086. data/lib/Ice/EndpointTypes.rb +0 -69
  1087. data/lib/Ice/FacetMap.rb +0 -24
  1088. data/lib/Ice/Identity.rb +0 -63
  1089. data/lib/Ice/ImplicitContext.rb +0 -26
  1090. data/lib/Ice/ImplicitContextF.rb +0 -24
  1091. data/lib/Ice/Instrumentation.rb +0 -169
  1092. data/lib/Ice/InstrumentationF.rb +0 -31
  1093. data/lib/Ice/LocalException.rb +0 -1031
  1094. data/lib/Ice/Locator.rb +0 -196
  1095. data/lib/Ice/LocatorF.rb +0 -30
  1096. data/lib/Ice/Logger.rb +0 -24
  1097. data/lib/Ice/LoggerF.rb +0 -24
  1098. data/lib/Ice/Metrics.rb +0 -337
  1099. data/lib/Ice/ObjectAdapter.rb +0 -29
  1100. data/lib/Ice/ObjectAdapterF.rb +0 -24
  1101. data/lib/Ice/ObjectFactory.rb +0 -24
  1102. data/lib/Ice/Plugin.rb +0 -30
  1103. data/lib/Ice/PluginF.rb +0 -28
  1104. data/lib/Ice/Process.rb +0 -53
  1105. data/lib/Ice/ProcessF.rb +0 -25
  1106. data/lib/Ice/Properties.rb +0 -25
  1107. data/lib/Ice/PropertiesAdmin.rb +0 -63
  1108. data/lib/Ice/PropertiesF.rb +0 -29
  1109. data/lib/Ice/RemoteLogger.rb +0 -207
  1110. data/lib/Ice/Router.rb +0 -87
  1111. data/lib/Ice/RouterF.rb +0 -25
  1112. data/lib/Ice/ServantLocator.rb +0 -26
  1113. data/lib/Ice/ServantLocatorF.rb +0 -24
  1114. data/lib/Ice/SliceChecksumDict.rb +0 -24
  1115. data/lib/Ice/ValueFactory.rb +0 -28
  1116. data/lib/Ice/Version.rb +0 -90
  1117. data/lib/Ice.rb +0 -673
  1118. data/lib/IceBox/IceBox.rb +0 -164
  1119. data/lib/IceBox.rb +0 -5
  1120. data/lib/IceGrid/Admin.rb +0 -1196
  1121. data/lib/IceGrid/Descriptor.rb +0 -1034
  1122. data/lib/IceGrid/Exception.rb +0 -376
  1123. data/lib/IceGrid/FileParser.rb +0 -65
  1124. data/lib/IceGrid/PluginFacade.rb +0 -35
  1125. data/lib/IceGrid/Registry.rb +0 -209
  1126. data/lib/IceGrid/Session.rb +0 -71
  1127. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  1128. data/lib/IceGrid.rb +0 -9
  1129. data/lib/IcePatch2/FileInfo.rb +0 -115
  1130. data/lib/IcePatch2/FileServer.rb +0 -123
  1131. data/lib/IcePatch2.rb +0 -5
  1132. data/lib/IceStorm/IceStorm.rb +0 -332
  1133. data/lib/IceStorm/Metrics.rb +0 -73
  1134. data/lib/IceStorm.rb +0 -6
  1135. data/slice/Glacier2/Metrics.ice +0 -88
  1136. data/slice/Glacier2/PermissionsVerifier.ice +0 -111
  1137. data/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  1138. data/slice/Glacier2/Router.ice +0 -186
  1139. data/slice/Glacier2/RouterF.ice +0 -29
  1140. data/slice/Glacier2/SSLInfo.ice +0 -59
  1141. data/slice/Glacier2/Session.ice +0 -274
  1142. data/slice/Ice/BuiltinSequences.ice +0 -59
  1143. data/slice/Ice/Communicator.ice +0 -676
  1144. data/slice/Ice/CommunicatorF.ice +0 -31
  1145. data/slice/Ice/Connection.ice +0 -516
  1146. data/slice/Ice/ConnectionF.ice +0 -33
  1147. data/slice/Ice/Current.ice +0 -170
  1148. data/slice/Ice/Endpoint.ice +0 -291
  1149. data/slice/Ice/EndpointF.ice +0 -43
  1150. data/slice/Ice/EndpointTypes.ice +0 -48
  1151. data/slice/Ice/FacetMap.ice +0 -36
  1152. data/slice/Ice/Identity.ice +0 -75
  1153. data/slice/Ice/ImplicitContext.ice +0 -119
  1154. data/slice/Ice/ImplicitContextF.ice +0 -30
  1155. data/slice/Ice/Instrumentation.ice +0 -509
  1156. data/slice/Ice/InstrumentationF.ice +0 -38
  1157. data/slice/Ice/LocalException.ice +0 -1040
  1158. data/slice/Ice/Locator.ice +0 -239
  1159. data/slice/Ice/LocatorF.ice +0 -32
  1160. data/slice/Ice/Logger.ice +0 -99
  1161. data/slice/Ice/LoggerF.ice +0 -31
  1162. data/slice/Ice/Metrics.ice +0 -436
  1163. data/slice/Ice/ObjectAdapter.ice +0 -710
  1164. data/slice/Ice/ObjectAdapterF.ice +0 -31
  1165. data/slice/Ice/ObjectFactory.ice +0 -71
  1166. data/slice/Ice/Plugin.ice +0 -131
  1167. data/slice/Ice/PluginF.ice +0 -36
  1168. data/slice/Ice/Process.ice +0 -64
  1169. data/slice/Ice/ProcessF.ice +0 -31
  1170. data/slice/Ice/Properties.ice +0 -244
  1171. data/slice/Ice/PropertiesAdmin.ice +0 -87
  1172. data/slice/Ice/PropertiesF.ice +0 -32
  1173. data/slice/Ice/RemoteLogger.ice +0 -226
  1174. data/slice/Ice/Router.ice +0 -103
  1175. data/slice/Ice/RouterF.ice +0 -31
  1176. data/slice/Ice/ServantLocator.ice +0 -136
  1177. data/slice/Ice/ServantLocatorF.ice +0 -31
  1178. data/slice/Ice/SliceChecksumDict.ice +0 -36
  1179. data/slice/Ice/ValueFactory.ice +0 -133
  1180. data/slice/Ice/Version.ice +0 -51
  1181. data/slice/IceBT/ConnectionInfo.ice +0 -59
  1182. data/slice/IceBT/EndpointInfo.ice +0 -57
  1183. data/slice/IceBT/Types.ice +0 -45
  1184. data/slice/IceBox/IceBox.ice +0 -216
  1185. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  1186. data/slice/IceGrid/Admin.ice +0 -1957
  1187. data/slice/IceGrid/Descriptor.ice +0 -1094
  1188. data/slice/IceGrid/Exception.ice +0 -396
  1189. data/slice/IceGrid/FileParser.ice +0 -72
  1190. data/slice/IceGrid/PluginFacade.ice +0 -329
  1191. data/slice/IceGrid/Registry.ice +0 -269
  1192. data/slice/IceGrid/Session.ice +0 -128
  1193. data/slice/IceGrid/UserAccountMapper.ice +0 -69
  1194. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  1195. data/slice/IceIAP/EndpointInfo.ice +0 -68
  1196. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  1197. data/slice/IcePatch2/FileInfo.ice +0 -85
  1198. data/slice/IcePatch2/FileServer.ice +0 -191
  1199. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  1200. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  1201. data/slice/IceSSL/EndpointInfo.ice +0 -45
  1202. data/slice/IceStorm/IceStorm.ice +0 -414
  1203. data/slice/IceStorm/Metrics.ice +0 -83
  1204. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  1205. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  1206. /data/{ext → dist}/ice/mcpp/directive.c +0 -0
  1207. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  1208. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  1209. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  1210. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  1211. /data/{ext/ice/mcpp/main.c → dist/ice/mcpp/mcpp_main.c} +0 -0
  1212. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  1213. /data/{ext → dist}/ice/mcpp/support.c +0 -0
  1214. /data/{ext → dist}/ice/mcpp/system.H +0 -0
  1215. /data/{ext → dist}/ice/mcpp/system.c +0 -0
@@ -1,1747 +0,0 @@
1
- //
2
- // Copyright (c) ZeroC, Inc. All rights reserved.
3
- //
4
-
5
- #include <Ice/WSTransceiver.h>
6
- #include <Ice/Endpoint.h>
7
- #include <Ice/Connection.h>
8
- #include <Ice/ProtocolInstance.h>
9
- #include <Ice/HttpParser.h>
10
- #include <Ice/Communicator.h>
11
- #include <Ice/LoggerUtil.h>
12
- #include <Ice/Buffer.h>
13
- #include <Ice/LocalException.h>
14
- #include <Ice/Base64.h>
15
- #include <IceUtil/Random.h>
16
- #include <Ice/SHA1.h>
17
- #include <IceUtil/StringUtil.h>
18
-
19
- // Python 2.7 under Windows.
20
- #if _MSC_VER == 1500
21
- typedef unsigned short uint16_t;
22
- #else
23
- #include <stdint.h>
24
- #endif
25
-
26
- #include <climits>
27
-
28
- using namespace std;
29
- using namespace Ice;
30
- using namespace IceInternal;
31
-
32
- //
33
- // WebSocket opcodes
34
- //
35
- #define OP_CONT 0x0 // Continuation frame
36
- #define OP_TEXT 0x1 // Text frame
37
- #define OP_DATA 0x2 // Data frame
38
- #define OP_RES_0x3 0x3 // Reserved
39
- #define OP_RES_0x4 0x4 // Reserved
40
- #define OP_RES_0x5 0x5 // Reserved
41
- #define OP_RES_0x6 0x6 // Reserved
42
- #define OP_RES_0x7 0x7 // Reserved
43
- #define OP_CLOSE 0x8 // Connection close
44
- #define OP_PING 0x9 // Ping
45
- #define OP_PONG 0xA // Pong
46
- #define OP_RES_0xB 0xB // Reserved
47
- #define OP_RES_0xC 0xC // Reserved
48
- #define OP_RES_0xD 0xD // Reserved
49
- #define OP_RES_0xE 0xE // Reserved
50
- #define OP_RES_0xF 0xF // Reserved
51
- #define FLAG_FINAL 0x80 // Last frame
52
- #define FLAG_MASKED 0x80 // Payload is masked
53
-
54
- #define CLOSURE_NORMAL 1000
55
- #define CLOSURE_SHUTDOWN 1001
56
- #define CLOSURE_PROTOCOL_ERROR 1002
57
- #define CLOSURE_TOO_BIG 1009
58
-
59
- namespace
60
- {
61
-
62
- const string _iceProtocol = "ice.zeroc.com";
63
- const string _wsUUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
64
-
65
- //
66
- // Rename to avoid conflict with OS 10.10 htonll
67
- //
68
- void ice_htonll(Long v, Byte* dest)
69
- {
70
- //
71
- // Transfer a 64-bit integer in network (big-endian) order.
72
- //
73
- #ifdef ICE_BIG_ENDIAN
74
- const Byte* src = reinterpret_cast<const Byte*>(&v);
75
- *dest++ = *src++;
76
- *dest++ = *src++;
77
- *dest++ = *src++;
78
- *dest++ = *src++;
79
- *dest++ = *src++;
80
- *dest++ = *src++;
81
- *dest++ = *src++;
82
- *dest = *src;
83
- #else
84
- const Byte* src = reinterpret_cast<const Byte*>(&v) + sizeof(Long) - 1;
85
- *dest++ = *src--;
86
- *dest++ = *src--;
87
- *dest++ = *src--;
88
- *dest++ = *src--;
89
- *dest++ = *src--;
90
- *dest++ = *src--;
91
- *dest++ = *src--;
92
- *dest = *src;
93
- #endif
94
- }
95
-
96
- //
97
- // Rename to avoid conflict with OS 10.10 nlltoh
98
- //
99
- Long ice_nlltoh(const Byte* src)
100
- {
101
- Long v;
102
-
103
- //
104
- // Extract a 64-bit integer in network (big-endian) order.
105
- //
106
- #ifdef ICE_BIG_ENDIAN
107
- Byte* dest = reinterpret_cast<Byte*>(&v);
108
- *dest++ = *src++;
109
- *dest++ = *src++;
110
- *dest++ = *src++;
111
- *dest++ = *src++;
112
- *dest++ = *src++;
113
- *dest++ = *src++;
114
- *dest++ = *src++;
115
- *dest = *src;
116
- #else
117
- Byte* dest = reinterpret_cast<Byte*>(&v) + sizeof(Long) - 1;
118
- *dest-- = *src++;
119
- *dest-- = *src++;
120
- *dest-- = *src++;
121
- *dest-- = *src++;
122
- *dest-- = *src++;
123
- *dest-- = *src++;
124
- *dest-- = *src++;
125
- *dest = *src;
126
- #endif
127
-
128
- return v;
129
- }
130
-
131
- #if defined(ICE_OS_UWP)
132
- Short htons(Short v)
133
- {
134
- Short result;
135
- Byte* dest = reinterpret_cast<Byte*>(&result);
136
-
137
- //
138
- // Transfer a short in network (big-endian) order.
139
- //
140
- #ifdef ICE_BIG_ENDIAN
141
- const Byte* src = reinterpret_cast<const Byte*>(&v);
142
- *dest++ = *src++;
143
- *dest = *src;
144
- #else
145
- const Byte* src = reinterpret_cast<const Byte*>(&v) + sizeof(Short) - 1;
146
- *dest++ = *src--;
147
- *dest = *src;
148
- #endif
149
- return result;
150
- }
151
-
152
- Short ntohs(Short value)
153
- {
154
- const Byte* src = reinterpret_cast<Byte*>(&value);
155
- Short v;
156
-
157
- //
158
- // Extract a 64-bit integer in network (big-endian) order.
159
- //
160
- #ifdef ICE_BIG_ENDIAN
161
- Byte* dest = reinterpret_cast<Byte*>(&v);
162
- *dest++ = *src++;
163
- *dest = *src;
164
- #else
165
- Byte* dest = reinterpret_cast<Byte*>(&v) + sizeof(Short) - 1;
166
- *dest-- = *src++;
167
- *dest = *src;
168
- #endif
169
-
170
- return v;
171
- }
172
- #endif
173
-
174
- }
175
-
176
- NativeInfoPtr
177
- IceInternal::WSTransceiver::getNativeInfo()
178
- {
179
- return _delegate->getNativeInfo();
180
- }
181
-
182
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
183
- AsyncInfo*
184
- IceInternal::WSTransceiver::getAsyncInfo(SocketOperation status)
185
- {
186
- return _delegate->getNativeInfo()->getAsyncInfo(status);
187
- }
188
- #endif
189
-
190
- SocketOperation
191
- IceInternal::WSTransceiver::initialize(Buffer& readBuffer, Buffer& writeBuffer)
192
- {
193
- //
194
- // Delegate logs exceptions that occur during initialize(), so there's no need to trap them here.
195
- //
196
- if(_state == StateInitializeDelegate)
197
- {
198
- SocketOperation op = _delegate->initialize(readBuffer, writeBuffer);
199
- if(op != SocketOperationNone)
200
- {
201
- return op;
202
- }
203
- _state = StateConnected;
204
- }
205
-
206
- try
207
- {
208
- if(_state == StateConnected)
209
- {
210
- //
211
- // We don't know how much we'll need to read.
212
- //
213
- _readBuffer.b.resize(_readBufferSize);
214
- _readI = _readBuffer.i = _readBuffer.b.begin();
215
-
216
- //
217
- // The server waits for the client's upgrade request, the
218
- // client sends the upgrade request.
219
- //
220
- _state = StateUpgradeRequestPending;
221
- if(!_incoming)
222
- {
223
- //
224
- // Compose the upgrade request.
225
- //
226
- ostringstream out;
227
- out << "GET " << _resource << " HTTP/1.1\r\n"
228
- << "Host: " << _host << "\r\n"
229
- << "Upgrade: websocket\r\n"
230
- << "Connection: Upgrade\r\n"
231
- << "Sec-WebSocket-Protocol: " << _iceProtocol << "\r\n"
232
- << "Sec-WebSocket-Version: 13\r\n"
233
- << "Sec-WebSocket-Key: ";
234
-
235
- //
236
- // The value for Sec-WebSocket-Key is a 16-byte random number,
237
- // encoded with Base64.
238
- //
239
- vector<unsigned char> key(16);
240
- IceUtilInternal::generateRandom(reinterpret_cast<char*>(&key[0]), key.size());
241
- _key = IceInternal::Base64::encode(key);
242
- out << _key << "\r\n\r\n"; // EOM
243
-
244
- string str = out.str();
245
- _writeBuffer.b.resize(str.size());
246
- memcpy(&_writeBuffer.b[0], str.c_str(), str.size());
247
- _writeBuffer.i = _writeBuffer.b.begin();
248
- }
249
- }
250
-
251
- //
252
- // Try to write the client's upgrade request.
253
- //
254
- if(_state == StateUpgradeRequestPending && !_incoming)
255
- {
256
- if(_writeBuffer.i < _writeBuffer.b.end())
257
- {
258
- SocketOperation s = _delegate->write(_writeBuffer);
259
- if(s)
260
- {
261
- return s;
262
- }
263
- }
264
- assert(_writeBuffer.i == _writeBuffer.b.end());
265
- _state = StateUpgradeResponsePending;
266
- }
267
-
268
- while(true)
269
- {
270
- if(_readBuffer.i < _readBuffer.b.end())
271
- {
272
- SocketOperation s = _delegate->read(_readBuffer);
273
- if(s == SocketOperationWrite || _readBuffer.i == _readBuffer.b.begin())
274
- {
275
- return s;
276
- }
277
- }
278
-
279
- //
280
- // Try to read the client's upgrade request or the server's response.
281
- //
282
- if((_state == StateUpgradeRequestPending && _incoming) ||
283
- (_state == StateUpgradeResponsePending && !_incoming))
284
- {
285
- //
286
- // Check if we have enough data for a complete message.
287
- //
288
- const Ice::Byte* p = _parser->isCompleteMessage(&_readBuffer.b[0], _readBuffer.i);
289
- if(!p)
290
- {
291
- if(_readBuffer.i < _readBuffer.b.end())
292
- {
293
- return SocketOperationRead;
294
- }
295
-
296
- //
297
- // Enlarge the buffer and try to read more.
298
- //
299
- const size_t oldSize = static_cast<size_t>(_readBuffer.i - _readBuffer.b.begin());
300
- if(oldSize + 1024 > _instance->messageSizeMax())
301
- {
302
- throw MemoryLimitException(__FILE__, __LINE__);
303
- }
304
- _readBuffer.b.resize(oldSize + 1024);
305
- _readBuffer.i = _readBuffer.b.begin() + oldSize;
306
- continue; // Try again to read the response/request
307
- }
308
-
309
- //
310
- // Set _readI at the end of the response/request message.
311
- //
312
- _readI = _readBuffer.b.begin() + (p - &_readBuffer.b[0]);
313
- }
314
-
315
- //
316
- // We're done, the client's upgrade request or server's response is read.
317
- //
318
- break;
319
- }
320
-
321
- try
322
- {
323
- //
324
- // Parse the client's upgrade request.
325
- //
326
- if(_state == StateUpgradeRequestPending && _incoming)
327
- {
328
- if(_parser->parse(&_readBuffer.b[0], _readI))
329
- {
330
- handleRequest(_writeBuffer);
331
- _state = StateUpgradeResponsePending;
332
- }
333
- else
334
- {
335
- throw ProtocolException(__FILE__, __LINE__, "incomplete request message");
336
- }
337
- }
338
-
339
- if(_state == StateUpgradeResponsePending)
340
- {
341
- if(_incoming)
342
- {
343
- if(_writeBuffer.i < _writeBuffer.b.end())
344
- {
345
- SocketOperation s = _delegate->write(_writeBuffer);
346
- if(s)
347
- {
348
- return s;
349
- }
350
- }
351
- }
352
- else
353
- {
354
- //
355
- // Parse the server's response
356
- //
357
- if(_parser->parse(&_readBuffer.b[0], _readI))
358
- {
359
- handleResponse();
360
- }
361
- else
362
- {
363
- throw ProtocolException(__FILE__, __LINE__, "incomplete response message");
364
- }
365
- }
366
- }
367
- }
368
- catch(const WebSocketException& ex)
369
- {
370
- throw ProtocolException(__FILE__, __LINE__, ex.reason);
371
- }
372
-
373
- _state = StateOpened;
374
- _nextState = StateOpened;
375
-
376
- if(_readI < _readBuffer.i)
377
- {
378
- _delegate->getNativeInfo()->ready(SocketOperationRead, true);
379
- }
380
- }
381
- catch(const Ice::LocalException& ex)
382
- {
383
- if(_instance->traceLevel() >= 2)
384
- {
385
- Trace out(_instance->logger(), _instance->traceCategory());
386
- out << protocol() << " connection HTTP upgrade request failed\n" << toString() << "\n" << ex;
387
- }
388
- throw;
389
- }
390
-
391
- if(_instance->traceLevel() >= 1)
392
- {
393
- Trace out(_instance->logger(), _instance->traceCategory());
394
- if(_incoming)
395
- {
396
- out << "accepted " << protocol() << " connection HTTP upgrade request\n" << toString();
397
- }
398
- else
399
- {
400
- out << protocol() << " connection HTTP upgrade request accepted\n" << toString();
401
- }
402
- }
403
-
404
- return SocketOperationNone;
405
- }
406
-
407
- SocketOperation
408
- IceInternal::WSTransceiver::closing(bool initiator, const Ice::LocalException& reason)
409
- {
410
- if(_instance->traceLevel() >= 1)
411
- {
412
- Trace out(_instance->logger(), _instance->traceCategory());
413
- out << "gracefully closing " << protocol() << " connection\n" << toString();
414
- }
415
-
416
- State s = _nextState == StateOpened ? _state : _nextState;
417
-
418
- if(s == StateClosingRequestPending && _closingInitiator)
419
- {
420
- //
421
- // If we initiated a close connection but also received a
422
- // close connection, we assume we didn't initiated the
423
- // connection and we send the close frame now. This is to
424
- // ensure that if both peers close the connection at the same
425
- // time we don't hang having both peer waiting for the close
426
- // frame of the other.
427
- //
428
- assert(!initiator);
429
- _closingInitiator = false;
430
- return SocketOperationWrite;
431
- }
432
- else if(s >= StateClosingRequestPending)
433
- {
434
- return SocketOperationNone;
435
- }
436
-
437
- _closingInitiator = initiator;
438
-
439
- if(dynamic_cast<const Ice::CloseConnectionException*>(&reason))
440
- {
441
- _closingReason = CLOSURE_NORMAL;
442
- }
443
- else if(dynamic_cast<const Ice::ObjectAdapterDeactivatedException*>(&reason) ||
444
- dynamic_cast<const Ice::CommunicatorDestroyedException*>(&reason))
445
- {
446
- _closingReason = CLOSURE_SHUTDOWN;
447
- }
448
- else if(dynamic_cast<const Ice::ProtocolException*>(&reason))
449
- {
450
- _closingReason = CLOSURE_PROTOCOL_ERROR;
451
- }
452
- else if(dynamic_cast<const Ice::MemoryLimitException*>(&reason))
453
- {
454
- _closingReason = CLOSURE_TOO_BIG;
455
- }
456
-
457
- if(_state == StateOpened)
458
- {
459
- _state = StateClosingRequestPending;
460
- return initiator ? SocketOperationRead : SocketOperationWrite;
461
- }
462
- else
463
- {
464
- _nextState = StateClosingRequestPending;
465
- return SocketOperationNone;
466
- }
467
- }
468
-
469
- void
470
- IceInternal::WSTransceiver::close()
471
- {
472
- _delegate->close();
473
- _state = StateClosed;
474
-
475
- //
476
- // Clear the buffers now instead of waiting for destruction.
477
- //
478
- if(!_writePending)
479
- {
480
- _writeBuffer.b.clear();
481
- }
482
- if(!_readPending)
483
- {
484
- _readBuffer.b.clear();
485
- }
486
- }
487
-
488
- SocketOperation
489
- IceInternal::WSTransceiver::write(Buffer& buf)
490
- {
491
- if(_writePending)
492
- {
493
- return SocketOperationWrite;
494
- }
495
-
496
- if(_state < StateOpened)
497
- {
498
- if(_state < StateConnected)
499
- {
500
- return _delegate->write(buf);
501
- }
502
- else
503
- {
504
- return _delegate->write(_writeBuffer);
505
- }
506
- }
507
-
508
- do
509
- {
510
- if(preWrite(buf))
511
- {
512
- if(_writeBuffer.i < _writeBuffer.b.end())
513
- {
514
- SocketOperation s = _delegate->write(_writeBuffer);
515
- if(s)
516
- {
517
- return s;
518
- }
519
- }
520
- else if(_incoming && !buf.b.empty() && _writeState == WriteStatePayload)
521
- {
522
- SocketOperation s = _delegate->write(buf);
523
- if(s)
524
- {
525
- return s;
526
- }
527
- }
528
- }
529
- }
530
- while(postWrite(buf));
531
-
532
- if(_state == StateClosingResponsePending && !_closingInitiator)
533
- {
534
- return SocketOperationRead;
535
- }
536
- return SocketOperationNone;
537
- }
538
-
539
- SocketOperation
540
- IceInternal::WSTransceiver::read(Buffer& buf)
541
- {
542
- if(_readPending)
543
- {
544
- return SocketOperationRead;
545
- }
546
-
547
- if(_state < StateOpened)
548
- {
549
- if(_state < StateConnected)
550
- {
551
- return _delegate->read(buf);
552
- }
553
- else
554
- {
555
- if(_delegate->read(_readBuffer) == SocketOperationWrite)
556
- {
557
- return SocketOperationWrite;
558
- }
559
- else
560
- {
561
- return SocketOperationNone;
562
- }
563
- }
564
- }
565
-
566
- //
567
- // If we read the full Ice message, handle it before trying
568
- // reading anymore data from the WS connection.
569
- //
570
- if(buf.i == buf.b.end())
571
- {
572
- if(_readI < _readBuffer.i)
573
- {
574
- _delegate->getNativeInfo()->ready(SocketOperationRead, true);
575
- }
576
- return SocketOperationNone;
577
- }
578
-
579
- SocketOperation s = SocketOperationNone;
580
- do
581
- {
582
- if(preRead(buf))
583
- {
584
- if(_readState == ReadStatePayload)
585
- {
586
- //
587
- // If the payload length is smaller than what remains to be read, we read
588
- // no more than the payload length. The remaining of the buffer will be
589
- // sent over in another frame.
590
- //
591
- size_t readSz = _readPayloadLength - static_cast<size_t>(buf.i - _readStart); // Already read
592
- if(static_cast<size_t>(buf.b.end() - buf.i) > readSz)
593
- {
594
- size_t size = buf.b.size();
595
- buf.b.resize(static_cast<size_t>(buf.i - buf.b.begin()) + readSz);
596
- s = _delegate->read(buf);
597
- buf.b.resize(size);
598
- }
599
- else
600
- {
601
- s = _delegate->read(buf);
602
- }
603
- }
604
- else
605
- {
606
- s = _delegate->read(_readBuffer);
607
- }
608
-
609
- if(s == SocketOperationWrite)
610
- {
611
- postRead(buf);
612
- return s;
613
- }
614
- }
615
- }
616
- while(postRead(buf));
617
-
618
- if(buf.i == buf.b.end())
619
- {
620
- if(_readI < _readBuffer.i)
621
- {
622
- _delegate->getNativeInfo()->ready(SocketOperationRead, true);
623
- }
624
- s = SocketOperationNone;
625
- }
626
- else
627
- {
628
- _delegate->getNativeInfo()->ready(SocketOperationRead, false);
629
- s = SocketOperationRead;
630
- }
631
-
632
- if(((_state == StateClosingRequestPending && !_closingInitiator) ||
633
- (_state == StateClosingResponsePending && _closingInitiator) ||
634
- _state == StatePingPending ||
635
- _state == StatePongPending) &&
636
- _writeState == WriteStateHeader)
637
- {
638
- // We have things to write, ask to be notified when writes are ready.
639
- s = static_cast<SocketOperation>(s | SocketOperationWrite);
640
- }
641
- return s;
642
- }
643
-
644
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
645
- bool
646
- IceInternal::WSTransceiver::startWrite(Buffer& buf)
647
- {
648
- _writePending = true;
649
- if(_state < StateOpened)
650
- {
651
- if(_state < StateConnected)
652
- {
653
- return _delegate->startWrite(buf);
654
- }
655
- else
656
- {
657
- return _delegate->startWrite(_writeBuffer);
658
- }
659
- }
660
-
661
- if(preWrite(buf))
662
- {
663
- if(_writeBuffer.i < _writeBuffer.b.end())
664
- {
665
- if(_delegate->startWrite(_writeBuffer))
666
- {
667
- return buf.b.size() == _writePayloadLength; // Return true only if we've written the whole buffer.
668
- }
669
- return false;
670
- }
671
- else
672
- {
673
- assert(_incoming);
674
- return _delegate->startWrite(buf);
675
- }
676
- }
677
- else
678
- {
679
- _delegate->getNativeInfo()->completed(IceInternal::SocketOperationWrite);
680
- return false;
681
- }
682
- }
683
-
684
- void
685
- IceInternal::WSTransceiver::finishWrite(Buffer& buf)
686
- {
687
- _writePending = false;
688
-
689
- if(_state < StateOpened)
690
- {
691
- if(_state < StateConnected)
692
- {
693
- _delegate->finishWrite(buf);
694
- }
695
- else
696
- {
697
- _delegate->finishWrite(_writeBuffer);
698
- }
699
- return;
700
- }
701
-
702
- if(_writeBuffer.i < _writeBuffer.b.end())
703
- {
704
- _delegate->finishWrite(_writeBuffer);
705
- }
706
- else if(!buf.b.empty() && buf.i != buf.b.end())
707
- {
708
- assert(_incoming);
709
- _delegate->finishWrite(buf);
710
- }
711
-
712
- if(_state == StateClosed)
713
- {
714
- _writeBuffer.b.clear();
715
- return;
716
- }
717
-
718
- postWrite(buf);
719
- }
720
-
721
- void
722
- IceInternal::WSTransceiver::startRead(Buffer& buf)
723
- {
724
- _readPending = true;
725
- if(_state < StateOpened)
726
- {
727
- if(_state < StateConnected)
728
- {
729
- _delegate->startRead(buf);
730
- }
731
- else
732
- {
733
- _delegate->startRead(_readBuffer);
734
- }
735
- return;
736
- }
737
-
738
- if(preRead(buf))
739
- {
740
- if(_readState == ReadStatePayload)
741
- {
742
- //
743
- // If the payload length is smaller than what remains to be read, we read
744
- // no more than the payload length. The remaining of the buffer will be
745
- // sent over in another frame.
746
- //
747
- size_t readSz = _readPayloadLength - (buf.i - _readStart);
748
- if(static_cast<size_t>(buf.b.end() - buf.i) > readSz)
749
- {
750
- size_t size = buf.b.size();
751
- buf.b.resize(buf.i - buf.b.begin() + readSz);
752
- _delegate->startRead(buf);
753
- buf.b.resize(size);
754
- }
755
- else
756
- {
757
- _delegate->startRead(buf);
758
- }
759
- }
760
- else
761
- {
762
- _delegate->startRead(_readBuffer);
763
- }
764
- }
765
- else
766
- {
767
- _delegate->getNativeInfo()->completed(IceInternal::SocketOperationRead);
768
- }
769
- }
770
-
771
- void
772
- IceInternal::WSTransceiver::finishRead(Buffer& buf)
773
- {
774
- _readPending = false;
775
- if(_state < StateOpened)
776
- {
777
- if(_state < StateConnected)
778
- {
779
- _delegate->finishRead(buf);
780
- }
781
- else
782
- {
783
- _delegate->finishRead(_readBuffer);
784
- }
785
- return;
786
- }
787
-
788
- if(buf.b.empty() || buf.i == buf.b.end())
789
- {
790
- // Nothing to do.
791
- }
792
- else if(_readState == ReadStatePayload)
793
- {
794
- _delegate->finishRead(buf);
795
- }
796
- else
797
- {
798
- _delegate->finishRead(_readBuffer);
799
- }
800
-
801
- if(_state == StateClosed)
802
- {
803
- _readBuffer.b.clear();
804
- return;
805
- }
806
-
807
- postRead(buf);
808
- }
809
- #endif
810
-
811
- string
812
- IceInternal::WSTransceiver::protocol() const
813
- {
814
- return _instance->protocol();
815
- }
816
-
817
- string
818
- IceInternal::WSTransceiver::toString() const
819
- {
820
- return _delegate->toString();
821
- }
822
-
823
- string
824
- IceInternal::WSTransceiver::toDetailedString() const
825
- {
826
- return _delegate->toDetailedString();
827
- }
828
-
829
- Ice::ConnectionInfoPtr
830
- IceInternal::WSTransceiver::getInfo() const
831
- {
832
- WSConnectionInfoPtr info = ICE_MAKE_SHARED(WSConnectionInfo);
833
- info->underlying = _delegate->getInfo();
834
- info->headers = _parser->getHeaders();
835
- return info;
836
- }
837
-
838
- void
839
- IceInternal::WSTransceiver::checkSendSize(const Buffer& buf)
840
- {
841
- _delegate->checkSendSize(buf);
842
- }
843
-
844
- void
845
- IceInternal::WSTransceiver::setBufferSize(int rcvSize, int sndSize)
846
- {
847
- _delegate->setBufferSize(rcvSize, sndSize);
848
- }
849
-
850
- IceInternal::WSTransceiver::WSTransceiver(const ProtocolInstancePtr& instance, const TransceiverPtr& del,
851
- const string& host, const string& resource) :
852
- _instance(instance),
853
- _delegate(del),
854
- _host(host),
855
- _resource(resource),
856
- _incoming(false),
857
- _state(StateInitializeDelegate),
858
- _parser(new HttpParser),
859
- _readState(ReadStateOpcode),
860
- _readBufferSize(1024),
861
- _readLastFrame(true),
862
- _readOpCode(0),
863
- _readHeaderLength(0),
864
- _readPayloadLength(0),
865
- _writeState(WriteStateHeader),
866
- _writeBufferSize(16 * 1024),
867
- _readPending(false),
868
- _writePending(false),
869
- _closingInitiator(false),
870
- _closingReason(CLOSURE_NORMAL)
871
- {
872
- //
873
- // Use 1KB read and 16KB write buffer sizes. We use 16KB for the
874
- // write buffer size because all the data needs to be copied to
875
- // the write buffer for the purpose of masking. A 16KB buffer
876
- // appears to be a good compromise to reduce the number of socket
877
- // write calls and not consume too much memory.
878
- //
879
- }
880
-
881
- IceInternal::WSTransceiver::WSTransceiver(const ProtocolInstancePtr& instance, const TransceiverPtr& del) :
882
- _instance(instance),
883
- _delegate(del),
884
- _incoming(true),
885
- _state(StateInitializeDelegate),
886
- _parser(new HttpParser),
887
- _readState(ReadStateOpcode),
888
- _readBufferSize(1024),
889
- _readLastFrame(true),
890
- _readOpCode(0),
891
- _readHeaderLength(0),
892
- _readPayloadLength(0),
893
- _writeState(WriteStateHeader),
894
- _writeBufferSize(1024),
895
- _readPending(false),
896
- _writePending(false),
897
- _closingInitiator(false),
898
- _closingReason(CLOSURE_NORMAL)
899
- {
900
- //
901
- // Use 1KB read and write buffer sizes.
902
- //
903
- }
904
-
905
- IceInternal::WSTransceiver::~WSTransceiver()
906
- {
907
- }
908
-
909
- void
910
- IceInternal::WSTransceiver::handleRequest(Buffer& responseBuffer)
911
- {
912
- string val;
913
-
914
- //
915
- // HTTP/1.1
916
- //
917
- if(_parser->versionMajor() != 1 || _parser->versionMinor() != 1)
918
- {
919
- throw WebSocketException("unsupported HTTP version");
920
- }
921
-
922
- //
923
- // "An |Upgrade| header field containing the value 'websocket',
924
- // treated as an ASCII case-insensitive value."
925
- //
926
- if(!_parser->getHeader("Upgrade", val, true))
927
- {
928
- throw WebSocketException("missing value for Upgrade field");
929
- }
930
- else if(val != "websocket")
931
- {
932
- throw WebSocketException("invalid value `" + val + "' for Upgrade field");
933
- }
934
-
935
- //
936
- // "A |Connection| header field that includes the token 'Upgrade',
937
- // treated as an ASCII case-insensitive value.
938
- //
939
- if(!_parser->getHeader("Connection", val, true))
940
- {
941
- throw WebSocketException("missing value for Connection field");
942
- }
943
- else if(val.find("upgrade") == string::npos)
944
- {
945
- throw WebSocketException("invalid value `" + val + "' for Connection field");
946
- }
947
-
948
- //
949
- // "A |Sec-WebSocket-Version| header field, with a value of 13."
950
- //
951
- if(!_parser->getHeader("Sec-WebSocket-Version", val, false))
952
- {
953
- throw WebSocketException("missing value for WebSocket version");
954
- }
955
- else if(val != "13")
956
- {
957
- throw WebSocketException("unsupported WebSocket version `" + val + "'");
958
- }
959
-
960
- //
961
- // "Optionally, a |Sec-WebSocket-Protocol| header field, with a list
962
- // of values indicating which protocols the client would like to
963
- // speak, ordered by preference."
964
- //
965
- bool addProtocol = false;
966
- if(_parser->getHeader("Sec-WebSocket-Protocol", val, true))
967
- {
968
- vector<string> protocols;
969
- if(!IceUtilInternal::splitString(val, ",", protocols))
970
- {
971
- throw WebSocketException("invalid value `" + val + "' for WebSocket protocol");
972
- }
973
- for(vector<string>::iterator p = protocols.begin(); p != protocols.end(); ++p)
974
- {
975
- if(IceUtilInternal::trim(*p) != _iceProtocol)
976
- {
977
- throw WebSocketException("unknown value `" + *p + "' for WebSocket protocol");
978
- }
979
- addProtocol = true;
980
- }
981
- }
982
-
983
- //
984
- // "A |Sec-WebSocket-Key| header field with a base64-encoded
985
- // value that, when decoded, is 16 bytes in length."
986
- //
987
- string key;
988
- if(!_parser->getHeader("Sec-WebSocket-Key", key, false))
989
- {
990
- throw WebSocketException("missing value for WebSocket key");
991
- }
992
-
993
- vector<unsigned char> decodedKey = Base64::decode(key);
994
- if(decodedKey.size() != 16)
995
- {
996
- throw WebSocketException("invalid value `" + key + "' for WebSocket key");
997
- }
998
-
999
- //
1000
- // Retain the target resource.
1001
- //
1002
- const_cast<string&>(_resource) = _parser->uri();
1003
-
1004
- //
1005
- // Compose the response.
1006
- //
1007
- ostringstream out;
1008
- out << "HTTP/1.1 101 Switching Protocols\r\n"
1009
- << "Upgrade: websocket\r\n"
1010
- << "Connection: Upgrade\r\n";
1011
- if(addProtocol)
1012
- {
1013
- out << "Sec-WebSocket-Protocol: " << _iceProtocol << "\r\n";
1014
- }
1015
-
1016
- //
1017
- // The response includes:
1018
- //
1019
- // "A |Sec-WebSocket-Accept| header field. The value of this
1020
- // header field is constructed by concatenating /key/, defined
1021
- // above in step 4 in Section 4.2.2, with the string "258EAFA5-
1022
- // E914-47DA-95CA-C5AB0DC85B11", taking the SHA-1 hash of this
1023
- // concatenated value to obtain a 20-byte value and base64-
1024
- // encoding (see Section 4 of [RFC4648]) this 20-byte hash.
1025
- //
1026
- out << "Sec-WebSocket-Accept: ";
1027
- string input = key + _wsUUID;
1028
- vector<unsigned char> hash;
1029
- sha1(reinterpret_cast<const unsigned char*>(&input[0]), input.size(), hash);
1030
- out << IceInternal::Base64::encode(hash) << "\r\n" << "\r\n"; // EOM
1031
-
1032
- string str = out.str();
1033
- responseBuffer.b.resize(str.size());
1034
- memcpy(&responseBuffer.b[0], str.c_str(), str.size());
1035
- responseBuffer.i = responseBuffer.b.begin();
1036
- }
1037
-
1038
- void
1039
- IceInternal::WSTransceiver::handleResponse()
1040
- {
1041
- string val;
1042
-
1043
- //
1044
- // HTTP/1.1
1045
- //
1046
- if(_parser->versionMajor() != 1 || _parser->versionMinor() != 1)
1047
- {
1048
- throw WebSocketException("unsupported HTTP version");
1049
- }
1050
-
1051
- //
1052
- // "If the status code received from the server is not 101, the
1053
- // client handles the response per HTTP [RFC2616] procedures. In
1054
- // particular, the client might perform authentication if it
1055
- // receives a 401 status code; the server might redirect the client
1056
- // using a 3xx status code (but clients are not required to follow
1057
- // them), etc."
1058
- //
1059
- if(_parser->status() != 101)
1060
- {
1061
- ostringstream out;
1062
- out << "unexpected status value " << _parser->status();
1063
- if(!_parser->reason().empty())
1064
- {
1065
- out << ":" << endl << _parser->reason();
1066
- }
1067
- throw WebSocketException(out.str());
1068
- }
1069
-
1070
- //
1071
- // "If the response lacks an |Upgrade| header field or the |Upgrade|
1072
- // header field contains a value that is not an ASCII case-
1073
- // insensitive match for the value "websocket", the client MUST
1074
- // _Fail the WebSocket Connection_."
1075
- //
1076
- if(!_parser->getHeader("Upgrade", val, true))
1077
- {
1078
- throw WebSocketException("missing value for Upgrade field");
1079
- }
1080
- else if(val != "websocket")
1081
- {
1082
- throw WebSocketException("invalid value `" + val + "' for Upgrade field");
1083
- }
1084
-
1085
- //
1086
- // "If the response lacks a |Connection| header field or the
1087
- // |Connection| header field doesn't contain a token that is an
1088
- // ASCII case-insensitive match for the value "Upgrade", the client
1089
- // MUST _Fail the WebSocket Connection_."
1090
- //
1091
- if(!_parser->getHeader("Connection", val, true))
1092
- {
1093
- throw WebSocketException("missing value for Connection field");
1094
- }
1095
- else if(val.find("upgrade") == string::npos)
1096
- {
1097
- throw WebSocketException("invalid value `" + val + "' for Connection field");
1098
- }
1099
-
1100
- //
1101
- // "If the response includes a |Sec-WebSocket-Protocol| header field
1102
- // and this header field indicates the use of a subprotocol that was
1103
- // not present in the client's handshake (the server has indicated a
1104
- // subprotocol not requested by the client), the client MUST _Fail
1105
- // the WebSocket Connection_."
1106
- //
1107
- if(_parser->getHeader("Sec-WebSocket-Protocol", val, true) && val != _iceProtocol)
1108
- {
1109
- throw WebSocketException("invalid value `" + val + "' for WebSocket protocol");
1110
- }
1111
-
1112
- //
1113
- // "If the response lacks a |Sec-WebSocket-Accept| header field or
1114
- // the |Sec-WebSocket-Accept| contains a value other than the
1115
- // base64-encoded SHA-1 of the concatenation of the |Sec-WebSocket-
1116
- // Key| (as a string, not base64-decoded) with the string "258EAFA5-
1117
- // E914-47DA-95CA-C5AB0DC85B11" but ignoring any leading and
1118
- // trailing whitespace, the client MUST _Fail the WebSocket
1119
- // Connection_."
1120
- //
1121
- if(!_parser->getHeader("Sec-WebSocket-Accept", val, false))
1122
- {
1123
- throw WebSocketException("missing value for Sec-WebSocket-Accept");
1124
- }
1125
- string input = _key + _wsUUID;
1126
- vector<unsigned char> hash;
1127
- sha1(reinterpret_cast<const unsigned char*>(&input[0]), input.size(), hash);
1128
- if(val != IceInternal::Base64::encode(hash))
1129
- {
1130
- throw WebSocketException("invalid value `" + val + "' for Sec-WebSocket-Accept");
1131
- }
1132
- }
1133
-
1134
- bool
1135
- IceInternal::WSTransceiver::preRead(Buffer& buf)
1136
- {
1137
- while(true)
1138
- {
1139
- if(_readState == ReadStateOpcode)
1140
- {
1141
- //
1142
- // Is there enough data available to read the opcode?
1143
- //
1144
- if(!readBuffered(2))
1145
- {
1146
- return true;
1147
- }
1148
-
1149
- //
1150
- // Most-significant bit indicates whether this is the
1151
- // last frame. Least-significant four bits hold the
1152
- // opcode.
1153
- //
1154
- unsigned char ch = static_cast<unsigned char>(*_readI++);
1155
- _readOpCode = ch & 0xf;
1156
-
1157
- //
1158
- // Remember if last frame if we're going to read a data or
1159
- // continuation frame, this is only for protocol
1160
- // correctness checking purpose.
1161
- //
1162
- if(_readOpCode == OP_DATA)
1163
- {
1164
- if(!_readLastFrame)
1165
- {
1166
- throw ProtocolException(__FILE__, __LINE__, "invalid data frame, no FIN on previous frame");
1167
- }
1168
- _readLastFrame = (ch & FLAG_FINAL) == FLAG_FINAL;
1169
- }
1170
- else if(_readOpCode == OP_CONT)
1171
- {
1172
- if(_readLastFrame)
1173
- {
1174
- throw ProtocolException(__FILE__, __LINE__, "invalid continuation frame, previous frame FIN set");
1175
- }
1176
- _readLastFrame = (ch & FLAG_FINAL) == FLAG_FINAL;
1177
- }
1178
-
1179
- ch = static_cast<unsigned char>(*_readI++);
1180
-
1181
- //
1182
- // Check the MASK bit. Messages sent by a client must be masked;
1183
- // messages sent by a server must not be masked.
1184
- //
1185
- const bool masked = (ch & FLAG_MASKED) == FLAG_MASKED;
1186
- if(masked != _incoming)
1187
- {
1188
- throw ProtocolException(__FILE__, __LINE__, "invalid masking");
1189
- }
1190
-
1191
- //
1192
- // Extract the payload length, which can have the following values:
1193
- //
1194
- // 0-125: The payload length
1195
- // 126: The subsequent two bytes contain the payload length
1196
- // 127: The subsequent eight bytes contain the payload length
1197
- //
1198
- _readPayloadLength = (ch & 0x7f);
1199
- if(_readPayloadLength < 126)
1200
- {
1201
- _readHeaderLength = 0;
1202
- }
1203
- else if(_readPayloadLength == 126)
1204
- {
1205
- _readHeaderLength = 2; // Need to read a 16-bit payload length.
1206
- }
1207
- else
1208
- {
1209
- _readHeaderLength = 8; // Need to read a 64-bit payload length.
1210
- }
1211
- if(masked)
1212
- {
1213
- _readHeaderLength += 4; // Need to read a 32-bit mask.
1214
- }
1215
-
1216
- _readState = ReadStateHeader;
1217
- }
1218
-
1219
- if(_readState == ReadStateHeader)
1220
- {
1221
- //
1222
- // Is there enough data available to read the header?
1223
- //
1224
- if(_readHeaderLength > 0 && !readBuffered(_readHeaderLength))
1225
- {
1226
- return true;
1227
- }
1228
-
1229
- if(_readPayloadLength == 126)
1230
- {
1231
- _readPayloadLength = static_cast<size_t>(ntohs(*reinterpret_cast<uint16_t*>(_readI)));
1232
- _readI += 2;
1233
- }
1234
- else if(_readPayloadLength == 127)
1235
- {
1236
- assert(_readPayloadLength == 127);
1237
- Long l = ice_nlltoh(_readI);
1238
- _readI += 8;
1239
- if(l < 0 || l > INT_MAX)
1240
- {
1241
- ostringstream ostr;
1242
- ostr << "invalid WebSocket payload length: " << l;
1243
- throw ProtocolException(__FILE__, __LINE__, ostr.str());
1244
- }
1245
- _readPayloadLength = static_cast<size_t>(l);
1246
- }
1247
-
1248
- //
1249
- // Read the mask if this is an incoming connection.
1250
- //
1251
- if(_incoming)
1252
- {
1253
- assert(_readBuffer.i - _readI >= 4); // We must have needed to read the mask.
1254
- memcpy(_readMask, _readI, 4); // Copy the mask.
1255
- _readI += 4;
1256
- }
1257
-
1258
- switch(_readOpCode)
1259
- {
1260
- case OP_TEXT: // Text frame
1261
- {
1262
- throw ProtocolException(__FILE__, __LINE__, "text frames not supported");
1263
- }
1264
- case OP_DATA: // Data frame
1265
- case OP_CONT: // Continuation frame
1266
- {
1267
- if(_instance->traceLevel() >= 2)
1268
- {
1269
- Trace out(_instance->logger(), _instance->traceCategory());
1270
- out << "received " << protocol() << (_readOpCode == OP_DATA ? " data" : " continuation");
1271
- out << " frame with payload length of " << _readPayloadLength;
1272
- out << " bytes\n" << toString();
1273
- }
1274
-
1275
- if(_readPayloadLength <= 0)
1276
- {
1277
- throw ProtocolException(__FILE__, __LINE__, "payload length is 0");
1278
- }
1279
- _readState = ReadStatePayload;
1280
- assert(buf.i != buf.b.end());
1281
- _readFrameStart = buf.i;
1282
- break;
1283
- }
1284
- case OP_CLOSE: // Connection close
1285
- {
1286
- if(_instance->traceLevel() >= 2)
1287
- {
1288
- Trace out(_instance->logger(), _instance->traceCategory());
1289
- out << "received " << protocol() << " connection close frame\n" << toString();
1290
- }
1291
-
1292
- State s = _nextState == StateOpened ? _state : _nextState;
1293
- if(s == StateClosingRequestPending)
1294
- {
1295
- //
1296
- // If we receive a close frame while we were actually
1297
- // waiting to send one, change the role and send a
1298
- // close frame response.
1299
- //
1300
- if(!_closingInitiator)
1301
- {
1302
- _closingInitiator = true;
1303
- }
1304
- if(_state == StateClosingRequestPending)
1305
- {
1306
- _state = StateClosingResponsePending;
1307
- }
1308
- else
1309
- {
1310
- _nextState = StateClosingResponsePending;
1311
- }
1312
- return false; // No longer interested in reading
1313
- }
1314
- else
1315
- {
1316
- throw ConnectionLostException(__FILE__, __LINE__, 0);
1317
- }
1318
- }
1319
- case OP_PING:
1320
- {
1321
- if(_instance->traceLevel() >= 2)
1322
- {
1323
- Trace out(_instance->logger(), _instance->traceCategory());
1324
- out << "received " << protocol() << " connection ping frame\n" << toString();
1325
- }
1326
- _readState = ReadStateControlFrame;
1327
- break;
1328
- }
1329
- case OP_PONG: // Pong
1330
- {
1331
- if(_instance->traceLevel() >= 2)
1332
- {
1333
- Trace out(_instance->logger(), _instance->traceCategory());
1334
- out << "received " << protocol() << " connection pong frame\n" << toString();
1335
- }
1336
- _readState = ReadStateControlFrame;
1337
- break;
1338
- }
1339
- default:
1340
- {
1341
- ostringstream ostr;
1342
- ostr << "unsupported opcode: " << _readOpCode;
1343
- throw ProtocolException(__FILE__, __LINE__, ostr.str());
1344
- }
1345
- }
1346
- }
1347
-
1348
- if(_readState == ReadStateControlFrame)
1349
- {
1350
- if(_readPayloadLength > 0 && !readBuffered(_readPayloadLength))
1351
- {
1352
- return true;
1353
- }
1354
-
1355
- if(_readPayloadLength > 0 && _readOpCode == OP_PING)
1356
- {
1357
- _pingPayload.clear();
1358
- _pingPayload.resize(_readPayloadLength);
1359
- memcpy(&_pingPayload[0], _readI, _pingPayload.size());
1360
- }
1361
-
1362
- _readI += _readPayloadLength;
1363
- _readPayloadLength = 0;
1364
-
1365
- if(_readOpCode == OP_PING)
1366
- {
1367
- if(_state == StateOpened)
1368
- {
1369
- _state = StatePongPending; // Send pong frame now
1370
- }
1371
- else if(_nextState < StatePongPending)
1372
- {
1373
- _nextState = StatePongPending; // Send pong frame next
1374
- }
1375
- }
1376
-
1377
- //
1378
- // We've read the payload of the PING/PONG frame, we're ready
1379
- // to read a new frame.
1380
- //
1381
- _readState = ReadStateOpcode;
1382
- }
1383
-
1384
- if(_readState == ReadStatePayload)
1385
- {
1386
- //
1387
- // This must be assigned before the check for the buffer. If the buffer is empty
1388
- // or already read, postRead will return false.
1389
- //
1390
- _readStart = buf.i;
1391
-
1392
- if(buf.b.empty() || buf.i == buf.b.end())
1393
- {
1394
- return false;
1395
- }
1396
-
1397
- size_t n = min(static_cast<size_t>(_readBuffer.i - _readI), static_cast<size_t>(buf.b.end() - buf.i));
1398
-
1399
- if(n > _readPayloadLength)
1400
- {
1401
- n = _readPayloadLength;
1402
- }
1403
- if(n > 0)
1404
- {
1405
- memcpy(buf.i, _readI, n);
1406
- buf.i += n;
1407
- _readI += n;
1408
- }
1409
- //
1410
- // Continue reading if we didn't read the full message, otherwise give back
1411
- // the control to the connection
1412
- //
1413
- return buf.i < buf.b.end() && n < _readPayloadLength;
1414
- }
1415
- }
1416
- }
1417
-
1418
- bool
1419
- IceInternal::WSTransceiver::postRead(Buffer& buf)
1420
- {
1421
- if(_readState != ReadStatePayload)
1422
- {
1423
- return _readStart < _readBuffer.i; // Returns true if data was read.
1424
- }
1425
-
1426
- if(_readStart == buf.i)
1427
- {
1428
- return false; // Nothing was read or nothing to read.
1429
- }
1430
- assert(_readStart < buf.i);
1431
-
1432
- if(_incoming)
1433
- {
1434
- //
1435
- // Unmask the data we just read.
1436
- //
1437
- IceInternal::Buffer::Container::iterator p = _readStart;
1438
- for(size_t n = static_cast<size_t>(_readStart - _readFrameStart); p < buf.i; ++p, ++n)
1439
- {
1440
- *p ^= _readMask[n % 4];
1441
- }
1442
- }
1443
-
1444
- _readPayloadLength -= static_cast<size_t>(buf.i - _readStart);
1445
- _readStart = buf.i;
1446
- if(_readPayloadLength == 0)
1447
- {
1448
- //
1449
- // We've read the complete payload, we're ready to read a new frame.
1450
- //
1451
- _readState = ReadStateOpcode;
1452
- }
1453
- return buf.i != buf.b.end();
1454
- }
1455
-
1456
- bool
1457
- IceInternal::WSTransceiver::preWrite(Buffer& buf)
1458
- {
1459
- if(_writeState == WriteStateHeader)
1460
- {
1461
- if(_state == StateOpened)
1462
- {
1463
- if(buf.b.empty() || buf.i == buf.b.end())
1464
- {
1465
- return false;
1466
- }
1467
-
1468
- assert(buf.i == buf.b.begin());
1469
- prepareWriteHeader(OP_DATA, buf.b.size());
1470
-
1471
- _writeState = WriteStatePayload;
1472
- }
1473
- else if(_state == StatePingPending)
1474
- {
1475
- prepareWriteHeader(OP_PING, 0); // Don't send any payload
1476
-
1477
- _writeBuffer.b.resize(static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin()));
1478
- _writeState = WriteStateControlFrame;
1479
- _writeBuffer.i = _writeBuffer.b.begin();
1480
- }
1481
- else if(_state == StatePongPending)
1482
- {
1483
- prepareWriteHeader(OP_PONG, _pingPayload.size());
1484
- if(_pingPayload.size() > static_cast<size_t>(_writeBuffer.b.end() - _writeBuffer.i))
1485
- {
1486
- size_t pos = static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin());
1487
- _writeBuffer.b.resize(pos + _pingPayload.size());
1488
- _writeBuffer.i = _writeBuffer.b.begin() + pos;
1489
- }
1490
- memcpy(_writeBuffer.i, &_pingPayload[0], _pingPayload.size());
1491
- _writeBuffer.i += _pingPayload.size();
1492
- _pingPayload.clear();
1493
-
1494
- _writeBuffer.b.resize(static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin()));
1495
- _writeState = WriteStateControlFrame;
1496
- _writeBuffer.i = _writeBuffer.b.begin();
1497
- }
1498
- else if((_state == StateClosingRequestPending && !_closingInitiator) ||
1499
- (_state == StateClosingResponsePending && _closingInitiator))
1500
- {
1501
- prepareWriteHeader(OP_CLOSE, 2);
1502
-
1503
- // Write closing reason
1504
- *reinterpret_cast<uint16_t*>(_writeBuffer.i) = htons(static_cast<uint16_t>(_closingReason));
1505
- if(!_incoming)
1506
- {
1507
- *_writeBuffer.i++ ^= _writeMask[0];
1508
- *_writeBuffer.i++ ^= _writeMask[1];
1509
- }
1510
- else
1511
- {
1512
- _writeBuffer.i += 2;
1513
- }
1514
-
1515
- _writeState = WriteStateControlFrame;
1516
- _writeBuffer.b.resize(static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin()));
1517
- _writeBuffer.i = _writeBuffer.b.begin();
1518
- }
1519
- else
1520
- {
1521
- assert(_state != StateClosed);
1522
- return false; // Nothing to write in this state
1523
- }
1524
-
1525
- _writePayloadLength = 0;
1526
- }
1527
-
1528
- if(_writeState == WriteStatePayload)
1529
- {
1530
- //
1531
- // For an outgoing connection, each message must be masked with a random
1532
- // 32-bit value, so we copy the entire message into the internal buffer
1533
- // for writing. For incoming connections, we just copy the start of the
1534
- // message in the internal buffer after the header. If the message is
1535
- // larger, the reminder is sent directly from the message buffer to avoid
1536
- // copying.
1537
- //
1538
-
1539
- if(!_incoming && (_writePayloadLength == 0 || _writeBuffer.i == _writeBuffer.b.end()))
1540
- {
1541
- if(_writeBuffer.i == _writeBuffer.b.end())
1542
- {
1543
- _writeBuffer.i = _writeBuffer.b.begin();
1544
- }
1545
-
1546
- size_t n = static_cast<size_t>(buf.i - buf.b.begin());
1547
- for(; n < buf.b.size() && _writeBuffer.i < _writeBuffer.b.end(); ++_writeBuffer.i, ++n)
1548
- {
1549
- *_writeBuffer.i = buf.b[n] ^ _writeMask[n % 4];
1550
- }
1551
- _writePayloadLength = n;
1552
- if(_writeBuffer.i < _writeBuffer.b.end())
1553
- {
1554
- _writeBuffer.b.resize(static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin()));
1555
- }
1556
- _writeBuffer.i = _writeBuffer.b.begin();
1557
- }
1558
- else if(_writePayloadLength == 0)
1559
- {
1560
- size_t n = min(static_cast<size_t>(_writeBuffer.b.end() - _writeBuffer.i),
1561
- static_cast<size_t>(buf.b.end() - buf.i));
1562
- memcpy(_writeBuffer.i, buf.i, n);
1563
- _writeBuffer.i += n;
1564
- buf.i += n;
1565
- _writePayloadLength = n;
1566
- if(_writeBuffer.i < _writeBuffer.b.end())
1567
- {
1568
- _writeBuffer.b.resize(static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin()));
1569
- }
1570
- _writeBuffer.i = _writeBuffer.b.begin();
1571
- }
1572
- return true;
1573
- }
1574
- else
1575
- {
1576
- return _writeBuffer.i < _writeBuffer.b.end();
1577
- }
1578
- }
1579
-
1580
- bool
1581
- IceInternal::WSTransceiver::postWrite(Buffer& buf)
1582
- {
1583
- if(_state > StateOpened && _writeState == WriteStateControlFrame)
1584
- {
1585
- if(_writeBuffer.i == _writeBuffer.b.end())
1586
- {
1587
- if(_state == StatePingPending)
1588
- {
1589
- if(_instance->traceLevel() >= 2)
1590
- {
1591
- Trace out(_instance->logger(), _instance->traceCategory());
1592
- out << "sent " << protocol() << " connection ping frame\n" << toString();
1593
- }
1594
- }
1595
- else if(_state == StatePongPending)
1596
- {
1597
- if(_instance->traceLevel() >= 2)
1598
- {
1599
- Trace out(_instance->logger(), _instance->traceCategory());
1600
- out << "sent " << protocol() << " connection pong frame\n" << toString();
1601
- }
1602
- }
1603
- else if((_state == StateClosingRequestPending && !_closingInitiator) ||
1604
- (_state == StateClosingResponsePending && _closingInitiator))
1605
- {
1606
- if(_instance->traceLevel() >= 2)
1607
- {
1608
- Trace out(_instance->logger(), _instance->traceCategory());
1609
- out << "sent " << protocol() << " connection close frame\n" << toString();
1610
- }
1611
-
1612
- if(_state == StateClosingRequestPending && !_closingInitiator)
1613
- {
1614
- _writeState = WriteStateHeader;
1615
- _state = StateClosingResponsePending;
1616
- return false;
1617
- }
1618
- else
1619
- {
1620
- throw ConnectionLostException(__FILE__, __LINE__, 0);
1621
- }
1622
- }
1623
- else if(_state == StateClosed)
1624
- {
1625
- return false;
1626
- }
1627
-
1628
- _state = _nextState;
1629
- _nextState = StateOpened;
1630
- _writeState = WriteStateHeader;
1631
- }
1632
- else
1633
- {
1634
- return true;
1635
- }
1636
- }
1637
-
1638
- if((!_incoming || buf.i == buf.b.begin()) && _writePayloadLength > 0)
1639
- {
1640
- if(_writeBuffer.i == _writeBuffer.b.end())
1641
- {
1642
- buf.i = buf.b.begin() + _writePayloadLength;
1643
- }
1644
- }
1645
-
1646
- if(buf.b.empty() || buf.i == buf.b.end())
1647
- {
1648
- _writeState = WriteStateHeader;
1649
- if(_state == StatePingPending ||
1650
- _state == StatePongPending ||
1651
- (_state == StateClosingRequestPending && !_closingInitiator) ||
1652
- (_state == StateClosingResponsePending && _closingInitiator))
1653
- {
1654
- return true;
1655
- }
1656
- }
1657
- else if(_state == StateOpened)
1658
- {
1659
- return true;
1660
- }
1661
- return false;
1662
- }
1663
-
1664
- bool
1665
- IceInternal::WSTransceiver::readBuffered(IceInternal::Buffer::Container::size_type sz)
1666
- {
1667
- if(_readI == _readBuffer.i)
1668
- {
1669
- _readBuffer.b.resize(_readBufferSize);
1670
- _readI = _readBuffer.i = _readBuffer.b.begin();
1671
- }
1672
- else
1673
- {
1674
- size_t available = static_cast<size_t>(_readBuffer.i - _readI);
1675
- if(available < sz)
1676
- {
1677
- if(_readI != &_readBuffer.b[0])
1678
- {
1679
- memmove(&_readBuffer.b[0], _readI, available);
1680
- }
1681
- _readBuffer.b.resize(max(_readBufferSize, sz));
1682
- _readI = _readBuffer.b.begin();
1683
- _readBuffer.i = _readI + available;
1684
- }
1685
- }
1686
-
1687
- _readStart = _readBuffer.i;
1688
- if(_readI + sz > _readBuffer.i)
1689
- {
1690
- return false; // Not enough read.
1691
- }
1692
- assert(_readBuffer.i > _readI);
1693
- return true;
1694
- }
1695
-
1696
- void
1697
- IceInternal::WSTransceiver::prepareWriteHeader(Byte opCode, IceInternal::Buffer::Container::size_type payloadLength)
1698
- {
1699
- //
1700
- // We need to prepare the frame header.
1701
- //
1702
- _writeBuffer.b.resize(_writeBufferSize);
1703
- _writeBuffer.i = _writeBuffer.b.begin();
1704
-
1705
- //
1706
- // Set the opcode - this is the one and only data frame.
1707
- //
1708
- *_writeBuffer.i++ = static_cast<Byte>(opCode | FLAG_FINAL);
1709
-
1710
- //
1711
- // Set the payload length.
1712
- //
1713
- if(payloadLength <= 125)
1714
- {
1715
- *_writeBuffer.i++ = static_cast<Byte>(payloadLength);
1716
- }
1717
- else if(payloadLength > 125 && payloadLength <= USHRT_MAX)
1718
- {
1719
- //
1720
- // Use an extra 16 bits to encode the payload length.
1721
- //
1722
- *_writeBuffer.i++ = static_cast<Byte>(126);
1723
- *reinterpret_cast<uint16_t*>(_writeBuffer.i) = htons(static_cast<uint16_t>(payloadLength));
1724
- _writeBuffer.i += 2;
1725
- }
1726
- else if(payloadLength > USHRT_MAX)
1727
- {
1728
- //
1729
- // Use an extra 64 bits to encode the payload length.
1730
- //
1731
- *_writeBuffer.i++ = static_cast<Byte>(127);
1732
- ice_htonll(static_cast<Long>(payloadLength), _writeBuffer.i);
1733
- _writeBuffer.i += 8;
1734
- }
1735
-
1736
- if(!_incoming)
1737
- {
1738
- //
1739
- // Add a random 32-bit mask to every outgoing frame, copy the payload data,
1740
- // and apply the mask.
1741
- //
1742
- _writeBuffer.b[1] |= FLAG_MASKED;
1743
- IceUtilInternal::generateRandom(reinterpret_cast<char*>(_writeMask), sizeof(_writeMask));
1744
- memcpy(_writeBuffer.i, _writeMask, sizeof(_writeMask));
1745
- _writeBuffer.i += sizeof(_writeMask);
1746
- }
1747
- }