zeroc-ice 3.7.11 → 3.8.1

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