passenger 2.2.9 → 2.2.10

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (435) hide show
  1. data/NEWS +10 -0
  2. data/doc/Architectural overview.html +202 -65
  3. data/doc/Security of user switching support.html +200 -63
  4. data/doc/Users guide Apache.html +266 -129
  5. data/doc/Users guide Nginx.html +234 -97
  6. data/doc/cxxapi/AbstractSpawnManager_8h-source.html +138 -0
  7. data/doc/cxxapi/Account_8h-source.html +202 -0
  8. data/doc/cxxapi/AccountsDatabase_8h-source.html +158 -0
  9. data/doc/cxxapi/AgentsStarter_8h-source.html +79 -0
  10. data/doc/cxxapi/BCrypt_8h-source.html +101 -0
  11. data/doc/cxxapi/BacktracesServer_8h-source.html +87 -0
  12. data/doc/cxxapi/Base64_8h-source.html +85 -0
  13. data/doc/cxxapi/Blowfish_8h-source.html +131 -0
  14. data/doc/cxxapi/Bucket_8h-source.html +1 -1
  15. data/doc/cxxapi/CachedFileStat_8h-source.html +49 -157
  16. data/doc/cxxapi/Configuration_8h-source.html +1 -1
  17. data/doc/cxxapi/Constants_8h-source.html +71 -0
  18. data/doc/cxxapi/ContentHandler_8h-source.html +92 -0
  19. data/doc/cxxapi/DirectoryMapper_8h-source.html +1 -1
  20. data/doc/cxxapi/Exceptions_8h-source.html +332 -236
  21. data/doc/cxxapi/FileChangeChecker_8h-source.html +237 -0
  22. data/doc/cxxapi/FileDescriptor_8h-source.html +206 -0
  23. data/doc/cxxapi/Hooks_8h-source.html +1 -1
  24. data/doc/cxxapi/HttpStatusExtractor_8h-source.html +378 -0
  25. data/doc/cxxapi/LoggingServer_8h-source.html +165 -0
  26. data/doc/cxxapi/Logging_8h-source.html +580 -112
  27. data/doc/cxxapi/MessageChannel_8h-source.html +789 -599
  28. data/doc/cxxapi/MessageClient_8h-source.html +297 -0
  29. data/doc/cxxapi/MessageServer_8h-source.html +607 -0
  30. data/doc/cxxapi/PoolOptions_8h-source.html +471 -278
  31. data/doc/cxxapi/Process_8h-source.html +272 -0
  32. data/doc/cxxapi/RandomGenerator_8h-source.html +156 -0
  33. data/doc/cxxapi/ResourceLocator_8h-source.html +104 -0
  34. data/doc/cxxapi/ScgiRequestParser_8h-source.html +399 -0
  35. data/doc/cxxapi/ServerInstanceDir_8h-source.html +356 -0
  36. data/doc/cxxapi/Session_8h-source.html +483 -0
  37. data/doc/cxxapi/SpawnManager_8h-source.html +590 -546
  38. data/doc/cxxapi/StaticContentHandler_8h-source.html +65 -0
  39. data/doc/cxxapi/StaticString_8h-source.html +214 -0
  40. data/doc/cxxapi/StringListCreator_8h-source.html +111 -0
  41. data/doc/cxxapi/SystemTime_8h-source.html +191 -78
  42. data/doc/cxxapi/Timer_8h-source.html +157 -0
  43. data/doc/cxxapi/Utils_8h-source.html +621 -434
  44. data/doc/cxxapi/Version_8h-source.html +59 -0
  45. data/doc/cxxapi/annotated.html +1 -1
  46. data/doc/cxxapi/apache2_2Configuration_8h-source.html +79 -0
  47. data/doc/cxxapi/classAgentWatcher-members.html +50 -0
  48. data/doc/cxxapi/classAgentWatcher.html +445 -0
  49. data/doc/cxxapi/classClient-members.html +4 -3
  50. data/doc/cxxapi/classClient.html +50 -46
  51. data/doc/cxxapi/classHooks-members.html +1 -1
  52. data/doc/cxxapi/classHooks.html +1 -1
  53. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +37 -0
  54. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +191 -0
  55. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +1 -0
  56. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +1 -0
  57. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
  58. data/doc/cxxapi/{classPassenger_1_1DummySpawnManager-members.html → classPassenger_1_1ArgumentException-members.html} +3 -2
  59. data/doc/cxxapi/classPassenger_1_1ArgumentException.html +52 -0
  60. data/doc/cxxapi/classPassenger_1_1BacktracesServer-members.html +36 -0
  61. data/doc/cxxapi/classPassenger_1_1BacktracesServer.html +107 -0
  62. data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.map +1 -0
  63. data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.md5 +1 -0
  64. data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.png +0 -0
  65. data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +3 -3
  66. data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +18 -34
  67. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +2 -1
  68. data/doc/cxxapi/classPassenger_1_1BusyException.html +3 -2
  69. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +2 -1
  70. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +3 -2
  71. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +1 -1
  72. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +1 -1
  73. data/doc/cxxapi/{classPassenger_1_1FileChecker-members.html → classPassenger_1_1EOFException-members.html} +3 -4
  74. data/doc/cxxapi/classPassenger_1_1EOFException.html +57 -0
  75. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +1 -0
  76. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +1 -0
  77. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
  78. data/doc/cxxapi/classPassenger_1_1EventFd-members.html +33 -0
  79. data/doc/cxxapi/classPassenger_1_1EventFd.html +49 -0
  80. data/doc/cxxapi/classPassenger_1_1FileChangeChecker-members.html +37 -0
  81. data/doc/cxxapi/classPassenger_1_1FileChangeChecker.html +166 -0
  82. data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +37 -0
  83. data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +159 -0
  84. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +2 -1
  85. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +3 -2
  86. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +2 -1
  87. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +3 -2
  88. data/doc/cxxapi/{classPassenger_1_1ApplicationPoolServer-members.html → classPassenger_1_1HttpStatusExtractor-members.html} +6 -5
  89. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +128 -0
  90. data/doc/cxxapi/classPassenger_1_1IOException-members.html +2 -1
  91. data/doc/cxxapi/classPassenger_1_1IOException.html +4 -3
  92. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +2 -1
  93. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -1
  94. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  95. data/doc/cxxapi/classPassenger_1_1MemZeroGuard-members.html +36 -0
  96. data/doc/cxxapi/classPassenger_1_1MemZeroGuard.html +147 -0
  97. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +12 -5
  98. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +267 -34
  99. data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +46 -0
  100. data/doc/cxxapi/classPassenger_1_1MessageServer.html +438 -0
  101. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +33 -0
  102. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +56 -0
  103. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +1 -0
  104. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +1 -0
  105. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
  106. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +38 -0
  107. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +175 -0
  108. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +1 -0
  109. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +1 -0
  110. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
  111. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +36 -0
  112. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +176 -0
  113. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.map +1 -0
  114. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.md5 +1 -0
  115. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.png +0 -0
  116. data/doc/cxxapi/classPassenger_1_1Process-members.html +40 -0
  117. data/doc/cxxapi/classPassenger_1_1Process.html +266 -0
  118. data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +33 -0
  119. data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +51 -0
  120. data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +2 -1
  121. data/doc/cxxapi/classPassenger_1_1RuntimeException.html +3 -2
  122. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +47 -0
  123. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +302 -0
  124. data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +33 -0
  125. data/doc/cxxapi/classPassenger_1_1SecurityException.html +52 -0
  126. data/doc/cxxapi/classPassenger_1_1Session-members.html +50 -0
  127. data/doc/cxxapi/classPassenger_1_1Session.html +577 -0
  128. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +1 -0
  129. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +1 -0
  130. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
  131. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +2 -1
  132. data/doc/cxxapi/classPassenger_1_1SpawnException.html +5 -4
  133. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +8 -5
  134. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +127 -45
  135. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +1 -0
  136. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +1 -0
  137. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
  138. data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +51 -0
  139. data/doc/cxxapi/classPassenger_1_1StandardSession.html +415 -0
  140. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +1 -0
  141. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +1 -0
  142. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
  143. data/doc/cxxapi/classPassenger_1_1StaticString-members.html +33 -0
  144. data/doc/cxxapi/classPassenger_1_1StaticString.html +54 -0
  145. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +2 -1
  146. data/doc/cxxapi/classPassenger_1_1SystemException.html +4 -3
  147. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +1 -0
  148. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +1 -1
  149. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  150. data/doc/cxxapi/classPassenger_1_1SystemTime-members.html +9 -1
  151. data/doc/cxxapi/classPassenger_1_1SystemTime.html +92 -8
  152. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +37 -0
  153. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +57 -0
  154. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +1 -0
  155. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +1 -0
  156. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
  157. data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +33 -0
  158. data/doc/cxxapi/classPassenger_1_1TimeoutException.html +50 -0
  159. data/doc/cxxapi/{classPassenger_1_1Application-members.html → classPassenger_1_1Timer-members.html} +8 -7
  160. data/doc/cxxapi/classPassenger_1_1Timer.html +163 -0
  161. data/doc/cxxapi/classServer-members.html +33 -0
  162. data/doc/cxxapi/classServer.html +46 -0
  163. data/doc/cxxapi/classServerInstanceDirToucher-members.html +33 -0
  164. data/doc/cxxapi/classServerInstanceDirToucher.html +43 -0
  165. data/doc/cxxapi/classes.html +1 -1
  166. data/doc/cxxapi/definitions_8h-source.html +1 -1
  167. data/doc/cxxapi/files.html +1 -1
  168. data/doc/cxxapi/functions.html +1 -1
  169. data/doc/cxxapi/{functions_type.html → functions_enum.html} +7 -5
  170. data/doc/cxxapi/functions_eval.html +55 -0
  171. data/doc/cxxapi/functions_func.html +1 -1
  172. data/doc/cxxapi/functions_vars.html +106 -9
  173. data/doc/cxxapi/graph_legend.html +1 -1
  174. data/doc/cxxapi/group__Configuration.html +1 -1
  175. data/doc/cxxapi/group__Core.html +1 -1
  176. data/doc/cxxapi/group__Exceptions.html +17 -1
  177. data/doc/cxxapi/group__Hooks.html +1 -1
  178. data/doc/cxxapi/group__Support.html +1 -1
  179. data/doc/cxxapi/hierarchy.html +34 -12
  180. data/doc/cxxapi/inherit__graph__0.map +1 -1
  181. data/doc/cxxapi/inherit__graph__0.md5 +1 -1
  182. data/doc/cxxapi/inherit__graph__0.png +0 -0
  183. data/doc/cxxapi/inherit__graph__1.map +1 -1
  184. data/doc/cxxapi/inherit__graph__1.md5 +1 -1
  185. data/doc/cxxapi/inherit__graph__1.png +0 -0
  186. data/doc/cxxapi/inherit__graph__10.map +1 -1
  187. data/doc/cxxapi/inherit__graph__10.md5 +1 -1
  188. data/doc/cxxapi/inherit__graph__10.png +0 -0
  189. data/doc/cxxapi/inherit__graph__11.map +1 -1
  190. data/doc/cxxapi/inherit__graph__11.md5 +1 -1
  191. data/doc/cxxapi/inherit__graph__11.png +0 -0
  192. data/doc/cxxapi/inherit__graph__12.map +1 -1
  193. data/doc/cxxapi/inherit__graph__12.md5 +1 -1
  194. data/doc/cxxapi/inherit__graph__12.png +0 -0
  195. data/doc/cxxapi/inherit__graph__13.map +1 -1
  196. data/doc/cxxapi/inherit__graph__13.md5 +1 -1
  197. data/doc/cxxapi/inherit__graph__13.png +0 -0
  198. data/doc/cxxapi/inherit__graph__14.map +3 -2
  199. data/doc/cxxapi/inherit__graph__14.md5 +1 -1
  200. data/doc/cxxapi/inherit__graph__14.png +0 -0
  201. data/doc/cxxapi/inherit__graph__15.map +1 -1
  202. data/doc/cxxapi/inherit__graph__15.md5 +1 -1
  203. data/doc/cxxapi/inherit__graph__15.png +0 -0
  204. data/doc/cxxapi/inherit__graph__16.map +1 -1
  205. data/doc/cxxapi/inherit__graph__16.md5 +1 -1
  206. data/doc/cxxapi/inherit__graph__16.png +0 -0
  207. data/doc/cxxapi/inherit__graph__17.map +1 -1
  208. data/doc/cxxapi/inherit__graph__17.md5 +1 -1
  209. data/doc/cxxapi/inherit__graph__17.png +0 -0
  210. data/doc/cxxapi/inherit__graph__18.map +2 -1
  211. data/doc/cxxapi/inherit__graph__18.md5 +1 -1
  212. data/doc/cxxapi/inherit__graph__18.png +0 -0
  213. data/doc/cxxapi/inherit__graph__19.map +1 -1
  214. data/doc/cxxapi/inherit__graph__19.md5 +1 -1
  215. data/doc/cxxapi/inherit__graph__19.png +0 -0
  216. data/doc/cxxapi/inherit__graph__2.map +1 -1
  217. data/doc/cxxapi/inherit__graph__2.md5 +1 -1
  218. data/doc/cxxapi/inherit__graph__2.png +0 -0
  219. data/doc/cxxapi/inherit__graph__20.map +1 -2
  220. data/doc/cxxapi/inherit__graph__20.md5 +1 -1
  221. data/doc/cxxapi/inherit__graph__20.png +0 -0
  222. data/doc/cxxapi/inherit__graph__21.map +1 -1
  223. data/doc/cxxapi/inherit__graph__21.md5 +1 -1
  224. data/doc/cxxapi/inherit__graph__21.png +0 -0
  225. data/doc/cxxapi/inherit__graph__22.map +1 -0
  226. data/doc/cxxapi/inherit__graph__22.md5 +1 -0
  227. data/doc/cxxapi/inherit__graph__22.png +0 -0
  228. data/doc/cxxapi/inherit__graph__23.map +1 -0
  229. data/doc/cxxapi/inherit__graph__23.md5 +1 -0
  230. data/doc/cxxapi/inherit__graph__23.png +0 -0
  231. data/doc/cxxapi/inherit__graph__24.map +1 -0
  232. data/doc/cxxapi/inherit__graph__24.md5 +1 -0
  233. data/doc/cxxapi/inherit__graph__24.png +0 -0
  234. data/doc/cxxapi/inherit__graph__25.map +1 -0
  235. data/doc/cxxapi/inherit__graph__25.md5 +1 -0
  236. data/doc/cxxapi/inherit__graph__25.png +0 -0
  237. data/doc/cxxapi/inherit__graph__26.map +1 -0
  238. data/doc/cxxapi/inherit__graph__26.md5 +1 -0
  239. data/doc/cxxapi/inherit__graph__26.png +0 -0
  240. data/doc/cxxapi/inherit__graph__27.map +2 -0
  241. data/doc/cxxapi/inherit__graph__27.md5 +1 -0
  242. data/doc/cxxapi/inherit__graph__27.png +0 -0
  243. data/doc/cxxapi/inherit__graph__28.map +1 -0
  244. data/doc/cxxapi/inherit__graph__28.md5 +1 -0
  245. data/doc/cxxapi/inherit__graph__28.png +0 -0
  246. data/doc/cxxapi/inherit__graph__29.map +1 -0
  247. data/doc/cxxapi/inherit__graph__29.md5 +1 -0
  248. data/doc/cxxapi/inherit__graph__29.png +0 -0
  249. data/doc/cxxapi/inherit__graph__3.map +2 -1
  250. data/doc/cxxapi/inherit__graph__3.md5 +1 -1
  251. data/doc/cxxapi/inherit__graph__3.png +0 -0
  252. data/doc/cxxapi/inherit__graph__30.map +1 -0
  253. data/doc/cxxapi/inherit__graph__30.md5 +1 -0
  254. data/doc/cxxapi/inherit__graph__30.png +0 -0
  255. data/doc/cxxapi/inherit__graph__31.map +3 -0
  256. data/doc/cxxapi/inherit__graph__31.md5 +1 -0
  257. data/doc/cxxapi/inherit__graph__31.png +0 -0
  258. data/doc/cxxapi/inherit__graph__32.map +1 -0
  259. data/doc/cxxapi/inherit__graph__32.md5 +1 -0
  260. data/doc/cxxapi/inherit__graph__32.png +0 -0
  261. data/doc/cxxapi/inherit__graph__33.map +1 -0
  262. data/doc/cxxapi/inherit__graph__33.md5 +1 -0
  263. data/doc/cxxapi/inherit__graph__33.png +0 -0
  264. data/doc/cxxapi/inherit__graph__34.map +1 -0
  265. data/doc/cxxapi/inherit__graph__34.md5 +1 -0
  266. data/doc/cxxapi/inherit__graph__34.png +0 -0
  267. data/doc/cxxapi/inherit__graph__35.map +1 -0
  268. data/doc/cxxapi/inherit__graph__35.md5 +1 -0
  269. data/doc/cxxapi/inherit__graph__35.png +0 -0
  270. data/doc/cxxapi/inherit__graph__36.map +1 -0
  271. data/doc/cxxapi/inherit__graph__36.md5 +1 -0
  272. data/doc/cxxapi/inherit__graph__36.png +0 -0
  273. data/doc/cxxapi/inherit__graph__4.map +1 -1
  274. data/doc/cxxapi/inherit__graph__4.md5 +1 -1
  275. data/doc/cxxapi/inherit__graph__4.png +0 -0
  276. data/doc/cxxapi/inherit__graph__5.map +1 -1
  277. data/doc/cxxapi/inherit__graph__5.md5 +1 -1
  278. data/doc/cxxapi/inherit__graph__5.png +0 -0
  279. data/doc/cxxapi/inherit__graph__6.map +1 -2
  280. data/doc/cxxapi/inherit__graph__6.md5 +1 -1
  281. data/doc/cxxapi/inherit__graph__6.png +0 -0
  282. data/doc/cxxapi/inherit__graph__7.map +1 -1
  283. data/doc/cxxapi/inherit__graph__7.md5 +1 -1
  284. data/doc/cxxapi/inherit__graph__7.png +0 -0
  285. data/doc/cxxapi/inherit__graph__8.map +1 -1
  286. data/doc/cxxapi/inherit__graph__8.md5 +1 -1
  287. data/doc/cxxapi/inherit__graph__8.png +0 -0
  288. data/doc/cxxapi/inherit__graph__9.map +1 -1
  289. data/doc/cxxapi/inherit__graph__9.md5 +1 -1
  290. data/doc/cxxapi/inherit__graph__9.png +0 -0
  291. data/doc/cxxapi/inherits.html +81 -41
  292. data/doc/cxxapi/main.html +1 -1
  293. data/doc/cxxapi/md5_8h-source.html +121 -0
  294. data/doc/cxxapi/modules.html +1 -1
  295. data/doc/cxxapi/namespacePassenger.html +651 -0
  296. data/doc/cxxapi/namespacemembers.html +155 -0
  297. data/doc/cxxapi/namespacemembers_enum.html +46 -0
  298. data/doc/cxxapi/namespacemembers_eval.html +52 -0
  299. data/doc/cxxapi/namespacemembers_func.html +139 -0
  300. data/doc/cxxapi/namespacemembers_type.html +50 -0
  301. data/doc/cxxapi/namespaces.html +34 -0
  302. data/doc/cxxapi/nginx_2Configuration_8h-source.html +114 -0
  303. data/doc/cxxapi/ngx__http__passenger__module_8h-source.html +91 -0
  304. data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +2 -1
  305. data/doc/cxxapi/structPassenger_1_1AnythingToString.html +3 -2
  306. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +2 -1
  307. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +3 -2
  308. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +33 -0
  309. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +49 -0
  310. data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +19 -7
  311. data/doc/cxxapi/structPassenger_1_1PoolOptions.html +323 -53
  312. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +33 -0
  313. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +49 -0
  314. data/ext/common/MessageChannel.h +48 -4
  315. data/ext/common/Version.h +1 -1
  316. data/ext/nginx/HttpStatusExtractor.h +1 -0
  317. data/ext/nginx/ScgiRequestParser.h +1 -0
  318. data/ext/phusion_passenger/native_support.c +5 -1
  319. data/lib/phusion_passenger/constants.rb +1 -1
  320. data/lib/phusion_passenger/message_channel.rb +45 -3
  321. data/lib/phusion_passenger/rack/application_spawner.rb +4 -0
  322. data/lib/phusion_passenger/railz/application_spawner.rb +19 -1
  323. data/lib/phusion_passenger/utils.rb +3 -3
  324. data/lib/phusion_passenger/utils/rewindable_input.rb +5 -0
  325. data/test/MessageChannelTest.cpp +9 -1
  326. data/test/stub/message_channel.rb +1 -1
  327. data/test/stub/message_channel_2.rb +1 -1
  328. data/test/stub/message_channel_3.rb +2 -2
  329. metadata +173 -113
  330. data/doc/cxxapi/ApplicationPoolServer_8h-source.html +0 -833
  331. data/doc/cxxapi/ApplicationPool_8h-source.html +0 -226
  332. data/doc/cxxapi/Application_8h-source.html +0 -553
  333. data/doc/cxxapi/DummySpawnManager_8h-source.html +0 -130
  334. data/doc/cxxapi/FileChecker_8h-source.html +0 -134
  335. data/doc/cxxapi/StandardApplicationPool_8h-source.html +0 -842
  336. data/doc/cxxapi/classPassenger_1_1Application.html +0 -231
  337. data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +0 -41
  338. data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +0 -323
  339. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +0 -227
  340. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map +0 -1
  341. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5 +0 -1
  342. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
  343. data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +0 -44
  344. data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +0 -403
  345. data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +0 -53
  346. data/doc/cxxapi/classPassenger_1_1FileChecker.html +0 -124
  347. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +0 -44
  348. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +0 -342
  349. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map +0 -1
  350. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5 +0 -1
  351. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
  352. data/doc/rdoc/classes/ConditionVariable.html +0 -194
  353. data/doc/rdoc/classes/Exception.html +0 -120
  354. data/doc/rdoc/classes/GC.html +0 -113
  355. data/doc/rdoc/classes/IO.html +0 -169
  356. data/doc/rdoc/classes/PhusionPassenger.html +0 -239
  357. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -153
  358. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -517
  359. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -719
  360. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
  361. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
  362. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
  363. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
  364. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -598
  365. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -140
  366. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +0 -317
  367. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +0 -138
  368. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -154
  369. data/doc/rdoc/classes/PhusionPassenger/Application.html +0 -283
  370. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
  371. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
  372. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -175
  373. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
  374. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
  375. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -489
  376. data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +0 -350
  377. data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
  378. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -188
  379. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -199
  380. data/doc/rdoc/classes/PhusionPassenger/Railz.html +0 -95
  381. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +0 -438
  382. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +0 -98
  383. data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +0 -200
  384. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +0 -436
  385. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +0 -98
  386. data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +0 -155
  387. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -402
  388. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
  389. data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -805
  390. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
  391. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +0 -247
  392. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +0 -120
  393. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
  394. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
  395. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -188
  396. data/doc/rdoc/classes/PlatformInfo.html +0 -866
  397. data/doc/rdoc/classes/RakeExtensions.html +0 -197
  398. data/doc/rdoc/classes/Signal.html +0 -139
  399. data/doc/rdoc/created.rid +0 -1
  400. data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -255
  401. data/doc/rdoc/files/README.html +0 -157
  402. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +0 -92
  403. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -129
  404. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -129
  405. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
  406. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
  407. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +0 -130
  408. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
  409. data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +0 -127
  410. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
  411. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
  412. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -134
  413. data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +0 -122
  414. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
  415. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -126
  416. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
  417. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
  418. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -127
  419. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -133
  420. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
  421. data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +0 -140
  422. data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +0 -126
  423. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +0 -145
  424. data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +0 -125
  425. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
  426. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -159
  427. data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +0 -100
  428. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -174
  429. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -129
  430. data/doc/rdoc/files/misc/rake/extensions_rb.html +0 -130
  431. data/doc/rdoc/fr_class_index.html +0 -93
  432. data/doc/rdoc/fr_file_index.html +0 -77
  433. data/doc/rdoc/fr_method_index.html +0 -212
  434. data/doc/rdoc/index.html +0 -26
  435. data/doc/rdoc/rdoc-style.css +0 -187
@@ -10,6 +10,7 @@
10
10
  <ul>
11
11
  <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
12
  <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
14
  <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
15
  <li><a href="files.html"><span>Files</span></a></li>
15
16
  </ul>
@@ -24,10 +25,10 @@
24
25
  </div>
25
26
  <div class="contents">
26
27
  <h1>Client Member List</h1>This is the complete list of members for <a class="el" href="classClient.html">Client</a>, including all inherited members.<p><table>
27
- <tr class="memlist"><td><a class="el" href="classClient.html#e625bb32c95bde75bfa4bdfdb8ee56db">Client</a>(Server &amp;the_server, int connection)</td><td><a class="el" href="classClient.html">Client</a></td><td><code> [inline]</code></td></tr>
28
- <tr class="memlist"><td><a class="el" href="classClient.html#c0a8dd9e23393c045064b109355a7daf">start</a>(const weak_ptr&lt; Client &gt; self)</td><td><a class="el" href="classClient.html">Client</a></td><td><code> [inline]</code></td></tr>
28
+ <tr class="memlist"><td><a class="el" href="classClient.html#975a3a3d2a4fa5fcf320be38581e99a7">Client</a>(unsigned int number, ApplicationPool::Ptr pool, const string &amp;password, const string &amp;defaultUser, const string &amp;defaultGroup, int serverSocket, const AnalyticsLoggerPtr &amp;logger)</td><td><a class="el" href="classClient.html">Client</a></td><td><code> [inline]</code></td></tr>
29
+ <tr class="memlist"><td><a class="el" href="classClient.html#840e519ca781888cbd54181572ebe3a7">~Client</a>()</td><td><a class="el" href="classClient.html">Client</a></td><td><code> [inline]</code></td></tr>
29
30
  </table></div>
30
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:11 2009 for Passenger by&nbsp;
31
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:46 2010 for Passenger by&nbsp;
31
32
  <a href="http://www.doxygen.org/index.html">
32
33
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
33
34
  </body>
@@ -10,6 +10,7 @@
10
10
  <ul>
11
11
  <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
12
  <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
14
  <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
15
  <li><a href="files.html"><span>Files</span></a></li>
15
16
  </ul>
@@ -23,7 +24,7 @@
23
24
  </div>
24
25
  </div>
25
26
  <div class="contents">
26
- <h1>Client Class Reference</h1><!-- doxytag: class="Client" -->Represents a single ApplicationPool client, connected to this server.
27
+ <h1>Client Class Reference</h1><!-- doxytag: class="Client" -->A representation of a <a class="el" href="classClient.html" title="A representation of a Client from the Server&#39;s point of view.">Client</a> from the Server's point of view.
27
28
  <a href="#_details">More...</a>
28
29
  <p>
29
30
 
@@ -31,88 +32,91 @@
31
32
  <a href="classClient-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
32
33
  <tr><td></td></tr>
33
34
  <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
34
- <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classClient.html#e625bb32c95bde75bfa4bdfdb8ee56db">Client</a> (Server &amp;the_server, int connection)</td></tr>
35
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classClient.html#975a3a3d2a4fa5fcf320be38581e99a7">Client</a> (unsigned int number, ApplicationPool::Ptr pool, const string &amp;password, const string &amp;defaultUser, const string &amp;defaultGroup, int serverSocket, const AnalyticsLoggerPtr &amp;logger)</td></tr>
35
36
 
36
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new <a class="el" href="classClient.html" title="Represents a single ApplicationPool client, connected to this server.">Client</a> object. <a href="#e625bb32c95bde75bfa4bdfdb8ee56db"></a><br></td></tr>
37
- <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classClient.html#c0a8dd9e23393c045064b109355a7daf">start</a> (const weak_ptr&lt; <a class="el" href="classClient.html">Client</a> &gt; self)</td></tr>
37
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs a client handler for the server with the given arguments and runs it in its own thread. <a href="#975a3a3d2a4fa5fcf320be38581e99a7"></a><br></td></tr>
38
+ <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="840e519ca781888cbd54181572ebe3a7"></a><!-- doxytag: member="Client::~Client" ref="840e519ca781888cbd54181572ebe3a7" args="()" -->
39
+ &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classClient.html#840e519ca781888cbd54181572ebe3a7">~Client</a> ()</td></tr>
38
40
 
39
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start the thread for handling the connection with this client. <a href="#c0a8dd9e23393c045064b109355a7daf"></a><br></td></tr>
41
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys this client and its thread. <br></td></tr>
40
42
  </table>
41
43
  <hr><a name="_details"></a><h2>Detailed Description</h2>
42
- Represents a single ApplicationPool client, connected to this server.
44
+ A representation of a <a class="el" href="classClient.html" title="A representation of a Client from the Server&#39;s point of view.">Client</a> from the Server's point of view.
43
45
  <p>
44
- <dl class="invariant" compact><dt><b>Invariant:</b></dt><dd>The life time of a <a class="el" href="classClient.html" title="Represents a single ApplicationPool client, connected to this server.">Client</a> object is guaranteed to be less than that of its associated Server object. </dd></dl>
45
- <hr><h2>Constructor &amp; Destructor Documentation</h2>
46
- <a class="anchor" name="e625bb32c95bde75bfa4bdfdb8ee56db"></a><!-- doxytag: member="Client::Client" ref="e625bb32c95bde75bfa4bdfdb8ee56db" args="(Server &amp;the_server, int connection)" -->
46
+ This class contains the methods used to communicate from a server to a connected client, i.e. it is a client handler. These <a class="el" href="classClient.html" title="A representation of a Client from the Server&#39;s point of view.">Client</a> instances will communicate concurrently with the server through threads. Considering the overhead of these threads, i.e. setup and teardown costs and the volatility of client requests, these client instances will be pooled. It is for this reason that the State design pattern has been applied: this class can be considered as being a skeleton implemention whose state --e.g. the client file descriptor-- needs to be provided in order to function properly. <hr><h2>Constructor &amp; Destructor Documentation</h2>
47
+ <a class="anchor" name="975a3a3d2a4fa5fcf320be38581e99a7"></a><!-- doxytag: member="Client::Client" ref="975a3a3d2a4fa5fcf320be38581e99a7" args="(unsigned int number, ApplicationPool::Ptr pool, const string &amp;password, const string &amp;defaultUser, const string &amp;defaultGroup, int serverSocket, const AnalyticsLoggerPtr &amp;logger)" -->
47
48
  <div class="memitem">
48
49
  <div class="memproto">
49
50
  <table class="memname">
50
51
  <tr>
51
52
  <td class="memname">Client::Client </td>
52
53
  <td>(</td>
53
- <td class="paramtype">Server &amp;&nbsp;</td>
54
- <td class="paramname"> <em>the_server</em>, </td>
54
+ <td class="paramtype">unsigned int&nbsp;</td>
55
+ <td class="paramname"> <em>number</em>, </td>
56
+ </tr>
57
+ <tr>
58
+ <td class="paramkey"></td>
59
+ <td></td>
60
+ <td class="paramtype">ApplicationPool::Ptr&nbsp;</td>
61
+ <td class="paramname"> <em>pool</em>, </td>
62
+ </tr>
63
+ <tr>
64
+ <td class="paramkey"></td>
65
+ <td></td>
66
+ <td class="paramtype">const string &amp;&nbsp;</td>
67
+ <td class="paramname"> <em>password</em>, </td>
68
+ </tr>
69
+ <tr>
70
+ <td class="paramkey"></td>
71
+ <td></td>
72
+ <td class="paramtype">const string &amp;&nbsp;</td>
73
+ <td class="paramname"> <em>defaultUser</em>, </td>
74
+ </tr>
75
+ <tr>
76
+ <td class="paramkey"></td>
77
+ <td></td>
78
+ <td class="paramtype">const string &amp;&nbsp;</td>
79
+ <td class="paramname"> <em>defaultGroup</em>, </td>
55
80
  </tr>
56
81
  <tr>
57
82
  <td class="paramkey"></td>
58
83
  <td></td>
59
84
  <td class="paramtype">int&nbsp;</td>
60
- <td class="paramname"> <em>connection</em></td><td>&nbsp;</td>
85
+ <td class="paramname"> <em>serverSocket</em>, </td>
61
86
  </tr>
62
87
  <tr>
88
+ <td class="paramkey"></td>
63
89
  <td></td>
64
- <td>)</td>
65
- <td></td><td></td><td><code> [inline]</code></td>
90
+ <td class="paramtype">const AnalyticsLoggerPtr &amp;&nbsp;</td>
91
+ <td class="paramname"> <em>logger</em></td><td>&nbsp;</td>
66
92
  </tr>
67
- </table>
68
- </div>
69
- <div class="memdoc">
70
-
71
- <p>
72
- Create a new <a class="el" href="classClient.html" title="Represents a single ApplicationPool client, connected to this server.">Client</a> object.
73
- <p>
74
- <dl compact><dt><b>Parameters:</b></dt><dd>
75
- <table border="0" cellspacing="2" cellpadding="0">
76
- <tr><td valign="top"></td><td valign="top"><em>the_server</em>&nbsp;</td><td>The Server object that this <a class="el" href="classClient.html" title="Represents a single ApplicationPool client, connected to this server.">Client</a> belongs to. </td></tr>
77
- <tr><td valign="top"></td><td valign="top"><em>connection</em>&nbsp;</td><td>The connection to the ApplicationPool client.</td></tr>
78
- </table>
79
- </dl>
80
- <dl class="note" compact><dt><b>Note:</b></dt><dd><code>connection</code> will be closed upon destruction </dd></dl>
81
-
82
- </div>
83
- </div><p>
84
- <hr><h2>Member Function Documentation</h2>
85
- <a class="anchor" name="c0a8dd9e23393c045064b109355a7daf"></a><!-- doxytag: member="Client::start" ref="c0a8dd9e23393c045064b109355a7daf" args="(const weak_ptr&lt; Client &gt; self)" -->
86
- <div class="memitem">
87
- <div class="memproto">
88
- <table class="memname">
89
93
  <tr>
90
- <td class="memname">void Client::start </td>
91
- <td>(</td>
92
- <td class="paramtype">const weak_ptr&lt; <a class="el" href="classClient.html">Client</a> &gt;&nbsp;</td>
93
- <td class="paramname"> <em>self</em> </td>
94
- <td>&nbsp;)&nbsp;</td>
95
- <td><code> [inline]</code></td>
94
+ <td></td>
95
+ <td>)</td>
96
+ <td></td><td></td><td><code> [inline]</code></td>
96
97
  </tr>
97
98
  </table>
98
99
  </div>
99
100
  <div class="memdoc">
100
101
 
101
102
  <p>
102
- Start the thread for handling the connection with this client.
103
+ Constructs a client handler for the server with the given arguments and runs it in its own thread.
103
104
  <p>
104
105
  <dl compact><dt><b>Parameters:</b></dt><dd>
105
106
  <table border="0" cellspacing="2" cellpadding="0">
106
- <tr><td valign="top"></td><td valign="top"><em>self</em>&nbsp;</td><td>The iterator of this <a class="el" href="classClient.html" title="Represents a single ApplicationPool client, connected to this server.">Client</a> object inside the server's <code>clients</code> set. This is used to remove itself from the <code>clients</code> set once the client has closed the connection. </td></tr>
107
+ <tr><td valign="top"></td><td valign="top"><em>number</em>&nbsp;</td><td>The id assigned by the server to identify this client by. </td></tr>
108
+ <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The application pool where this client belongs to. </td></tr>
109
+ <tr><td valign="top"></td><td valign="top"><em>password</em>&nbsp;</td><td>The password that is required to connect to this client handler. This value is determined and assigned by the server. </td></tr>
110
+ <tr><td valign="top"></td><td valign="top"><em>serverSocket</em>&nbsp;</td><td>The server socket to accept this clients connection from. </td></tr>
107
111
  </table>
108
112
  </dl>
109
113
 
110
114
  </div>
111
115
  </div><p>
112
116
  <hr>The documentation for this class was generated from the following file:<ul>
113
- <li>ApplicationPoolServerExecutable.cpp</ul>
117
+ <li>nginx/HelperAgent.cpp</ul>
114
118
  </div>
115
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:11 2009 for Passenger by&nbsp;
119
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:46 2010 for Passenger by&nbsp;
116
120
  <a href="http://www.doxygen.org/index.html">
117
121
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
118
122
  </body>
@@ -28,7 +28,7 @@
28
28
  <tr class="memlist"><td><a class="el" href="classHooks.html#d6cca64be8a9075b4b92efdb4d9020a5">startBlockingModAutoIndex</a>(request_rec *r)</td><td><a class="el" href="classHooks.html">Hooks</a></td><td><code> [inline]</code></td></tr>
29
29
  <tr class="memlist"><td><a class="el" href="classHooks.html#e3091c57c95b2f8269f566099802f0ec">startBlockingModDir</a>(request_rec *r)</td><td><a class="el" href="classHooks.html">Hooks</a></td><td><code> [inline]</code></td></tr>
30
30
  </table></div>
31
- <hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 8 11:42:57 2010 for Passenger by&nbsp;
31
+ <hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 22 13:50:37 2010 for Passenger by&nbsp;
32
32
  <a href="http://www.doxygen.org/index.html">
33
33
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
34
34
  </body>
@@ -148,7 +148,7 @@ So in <a class="el" href="classHooks.html#e3091c57c95b2f8269f566099802f0ec" titl
148
148
  <hr>The documentation for this class was generated from the following file:<ul>
149
149
  <li>Hooks.cpp</ul>
150
150
  </div>
151
- <hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 8 11:42:57 2010 for Passenger by&nbsp;
151
+ <hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 22 13:50:37 2010 for Passenger by&nbsp;
152
152
  <a href="http://www.doxygen.org/index.html">
153
153
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
154
154
  </body>
@@ -0,0 +1,37 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
+ <title>Passenger: Member List</title>
4
+ <link href="tabs.css" rel="stylesheet" type="text/css">
5
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
6
+ </head><body>
7
+ <!-- Generated by Doxygen 1.5.8 -->
8
+ <div class="navigation" id="top">
9
+ <div class="tabs">
10
+ <ul>
11
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
+ <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
14
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
15
+ <li><a href="files.html"><span>Files</span></a></li>
16
+ </ul>
17
+ </div>
18
+ <div class="tabs">
19
+ <ul>
20
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
21
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
22
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
23
+ </ul>
24
+ </div>
25
+ </div>
26
+ <div class="contents">
27
+ <h1>Passenger::AbstractSpawnManager Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1AbstractSpawnManager.html">Passenger::AbstractSpawnManager</a>, including all inherited members.<p><table>
28
+ <tr class="memlist"><td><a class="el" href="classPassenger_1_1AbstractSpawnManager.html#a630e8c364f391b54c0bfb723326836a">getServerPid</a>() const =0</td><td><a class="el" href="classPassenger_1_1AbstractSpawnManager.html">Passenger::AbstractSpawnManager</a></td><td><code> [pure virtual]</code></td></tr>
29
+ <tr class="memlist"><td><a class="el" href="classPassenger_1_1AbstractSpawnManager.html#225574ef363847058554fde9d5704950">killSpawnServer</a>() const =0</td><td><a class="el" href="classPassenger_1_1AbstractSpawnManager.html">Passenger::AbstractSpawnManager</a></td><td><code> [pure virtual]</code></td></tr>
30
+ <tr class="memlist"><td><a class="el" href="classPassenger_1_1AbstractSpawnManager.html#5043681dbfb9b77fa0679c510ede853c">reload</a>(const string &amp;appRoot)=0</td><td><a class="el" href="classPassenger_1_1AbstractSpawnManager.html">Passenger::AbstractSpawnManager</a></td><td><code> [pure virtual]</code></td></tr>
31
+ <tr class="memlist"><td><a class="el" href="classPassenger_1_1AbstractSpawnManager.html#6ca7efc68595bf962f5cce5e6407f176">spawn</a>(const PoolOptions &amp;options)=0</td><td><a class="el" href="classPassenger_1_1AbstractSpawnManager.html">Passenger::AbstractSpawnManager</a></td><td><code> [pure virtual]</code></td></tr>
32
+ </table></div>
33
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by&nbsp;
34
+ <a href="http://www.doxygen.org/index.html">
35
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
36
+ </body>
37
+ </html>
@@ -0,0 +1,191 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
+ <title>Passenger: Passenger::AbstractSpawnManager Class Reference</title>
4
+ <link href="tabs.css" rel="stylesheet" type="text/css">
5
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
6
+ </head><body>
7
+ <!-- Generated by Doxygen 1.5.8 -->
8
+ <div class="navigation" id="top">
9
+ <div class="tabs">
10
+ <ul>
11
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
+ <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
14
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
15
+ <li><a href="files.html"><span>Files</span></a></li>
16
+ </ul>
17
+ </div>
18
+ <div class="tabs">
19
+ <ul>
20
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
21
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
22
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
23
+ </ul>
24
+ </div>
25
+ <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1AbstractSpawnManager.html">AbstractSpawnManager</a>
26
+ </div>
27
+ </div>
28
+ <div class="contents">
29
+ <h1>Passenger::AbstractSpawnManager Class Reference<br>
30
+ <small>
31
+ [<a class="el" href="group__Support.html">Apache-independent support classes and function</a>]</small>
32
+ </h1><!-- doxytag: class="Passenger::AbstractSpawnManager" -->Spawning of application processes.
33
+ <a href="#_details">More...</a>
34
+ <p>
35
+ <code>#include &lt;<a class="el" href="AbstractSpawnManager_8h-source.html">AbstractSpawnManager.h</a>&gt;</code>
36
+ <p>
37
+ <div class="dynheader">
38
+ Inheritance diagram for Passenger::AbstractSpawnManager:</div>
39
+ <div class="dynsection">
40
+ <p><center><img src="classPassenger_1_1AbstractSpawnManager__inherit__graph.png" border="0" usemap="#Passenger_1_1AbstractSpawnManager__inherit__map" alt="Inheritance graph"></center>
41
+ <map name="Passenger_1_1AbstractSpawnManager__inherit__map">
42
+ <area shape="rect" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation." alt="" coords="31,80,220,107"></map>
43
+ <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
44
+
45
+ <p>
46
+ <a href="classPassenger_1_1AbstractSpawnManager-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
47
+ <tr><td></td></tr>
48
+ <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
49
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespacePassenger.html#ced1f248465136b313c6dec5fe6ca492">ProcessPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1AbstractSpawnManager.html#6ca7efc68595bf962f5cce5e6407f176">spawn</a> (const <a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a> &amp;options)=0</td></tr>
50
+
51
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawn a new application process. <a href="#6ca7efc68595bf962f5cce5e6407f176"></a><br></td></tr>
52
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1AbstractSpawnManager.html#5043681dbfb9b77fa0679c510ede853c">reload</a> (const string &amp;appRoot)=0</td></tr>
53
+
54
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shutdown the ApplicationSpawner server that's running at the given application root. <a href="#5043681dbfb9b77fa0679c510ede853c"></a><br></td></tr>
55
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1AbstractSpawnManager.html#225574ef363847058554fde9d5704950">killSpawnServer</a> () const =0</td></tr>
56
+
57
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forcefully kill the spawn server. <a href="#225574ef363847058554fde9d5704950"></a><br></td></tr>
58
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual pid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1AbstractSpawnManager.html#a630e8c364f391b54c0bfb723326836a">getServerPid</a> () const =0</td></tr>
59
+
60
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the spawn server's PID. <a href="#a630e8c364f391b54c0bfb723326836a"></a><br></td></tr>
61
+ </table>
62
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
63
+ Spawning of application processes.
64
+ <p>
65
+ An <a class="el" href="classPassenger_1_1AbstractSpawnManager.html" title="Spawning of application processes.">AbstractSpawnManager</a> is responsible for spawning new application processes. Use the <a class="el" href="classPassenger_1_1AbstractSpawnManager.html#6ca7efc68595bf962f5cce5e6407f176" title="Spawn a new application process.">spawn()</a> method to do so. <a class="el" href="classPassenger_1_1AbstractSpawnManager.html" title="Spawning of application processes.">AbstractSpawnManager</a> is guaranteed to be thread-safe.<p>
66
+ <a class="el" href="classPassenger_1_1AbstractSpawnManager.html" title="Spawning of application processes.">AbstractSpawnManager</a> is just an interface. There are two concrete implementations, namely <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> and StubSpawnManager. The former is the one that's usually used, while the latter exists for unit testing purposes. <hr><h2>Member Function Documentation</h2>
67
+ <a class="anchor" name="a630e8c364f391b54c0bfb723326836a"></a><!-- doxytag: member="Passenger::AbstractSpawnManager::getServerPid" ref="a630e8c364f391b54c0bfb723326836a" args="() const =0" -->
68
+ <div class="memitem">
69
+ <div class="memproto">
70
+ <table class="memname">
71
+ <tr>
72
+ <td class="memname">virtual pid_t Passenger::AbstractSpawnManager::getServerPid </td>
73
+ <td>(</td>
74
+ <td class="paramname"> </td>
75
+ <td>&nbsp;)&nbsp;</td>
76
+ <td> const<code> [pure virtual]</code></td>
77
+ </tr>
78
+ </table>
79
+ </div>
80
+ <div class="memdoc">
81
+
82
+ <p>
83
+ Returns the spawn server's PID.
84
+ <p>
85
+ Used within unit tests.
86
+ <p>Implemented in <a class="el" href="classPassenger_1_1SpawnManager.html#f34df8cfccfc64507999f1b48bc5a126">Passenger::SpawnManager</a>.</p>
87
+
88
+ </div>
89
+ </div><p>
90
+ <a class="anchor" name="225574ef363847058554fde9d5704950"></a><!-- doxytag: member="Passenger::AbstractSpawnManager::killSpawnServer" ref="225574ef363847058554fde9d5704950" args="() const =0" -->
91
+ <div class="memitem">
92
+ <div class="memproto">
93
+ <table class="memname">
94
+ <tr>
95
+ <td class="memname">virtual void Passenger::AbstractSpawnManager::killSpawnServer </td>
96
+ <td>(</td>
97
+ <td class="paramname"> </td>
98
+ <td>&nbsp;)&nbsp;</td>
99
+ <td> const<code> [pure virtual]</code></td>
100
+ </tr>
101
+ </table>
102
+ </div>
103
+ <div class="memdoc">
104
+
105
+ <p>
106
+ Forcefully kill the spawn server.
107
+ <p>
108
+ This AbstractSpawnManager's state will not be modified, so that it won't know that the spawn server is killed until next time it sends a command to it.<p>
109
+ Used within unit tests.
110
+ <p>Implemented in <a class="el" href="classPassenger_1_1SpawnManager.html#9210212c23c5a8ee5ee4dd5c9dcdf57d">Passenger::SpawnManager</a>.</p>
111
+
112
+ </div>
113
+ </div><p>
114
+ <a class="anchor" name="5043681dbfb9b77fa0679c510ede853c"></a><!-- doxytag: member="Passenger::AbstractSpawnManager::reload" ref="5043681dbfb9b77fa0679c510ede853c" args="(const string &amp;appRoot)=0" -->
115
+ <div class="memitem">
116
+ <div class="memproto">
117
+ <table class="memname">
118
+ <tr>
119
+ <td class="memname">virtual void Passenger::AbstractSpawnManager::reload </td>
120
+ <td>(</td>
121
+ <td class="paramtype">const string &amp;&nbsp;</td>
122
+ <td class="paramname"> <em>appRoot</em> </td>
123
+ <td>&nbsp;)&nbsp;</td>
124
+ <td><code> [pure virtual]</code></td>
125
+ </tr>
126
+ </table>
127
+ </div>
128
+ <div class="memdoc">
129
+
130
+ <p>
131
+ Shutdown the ApplicationSpawner server that's running at the given application root.
132
+ <p>
133
+ This method should be called when it's time to reload an application.<p>
134
+ <dl compact><dt><b>Exceptions:</b></dt><dd>
135
+ <table border="0" cellspacing="2" cellpadding="0">
136
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a></em>&nbsp;</td><td>Unable to communicate with the spawn server, even after a restart. </td></tr>
137
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance...">SpawnException</a></em>&nbsp;</td><td>The spawn server died unexpectedly, and a restart was attempted, but it failed. </td></tr>
138
+ </table>
139
+ </dl>
140
+
141
+ <p>Implemented in <a class="el" href="classPassenger_1_1SpawnManager.html#ad71b2ea9431f3286f23a6e6f80e0981">Passenger::SpawnManager</a>.</p>
142
+
143
+ </div>
144
+ </div><p>
145
+ <a class="anchor" name="6ca7efc68595bf962f5cce5e6407f176"></a><!-- doxytag: member="Passenger::AbstractSpawnManager::spawn" ref="6ca7efc68595bf962f5cce5e6407f176" args="(const PoolOptions &amp;options)=0" -->
146
+ <div class="memitem">
147
+ <div class="memproto">
148
+ <table class="memname">
149
+ <tr>
150
+ <td class="memname">virtual <a class="el" href="namespacePassenger.html#ced1f248465136b313c6dec5fe6ca492">ProcessPtr</a> Passenger::AbstractSpawnManager::spawn </td>
151
+ <td>(</td>
152
+ <td class="paramtype">const <a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a> &amp;&nbsp;</td>
153
+ <td class="paramname"> <em>options</em> </td>
154
+ <td>&nbsp;)&nbsp;</td>
155
+ <td><code> [pure virtual]</code></td>
156
+ </tr>
157
+ </table>
158
+ </div>
159
+ <div class="memdoc">
160
+
161
+ <p>
162
+ Spawn a new application process.
163
+ <p>
164
+ Spawning details are to be passed via the <code>options</code> argument.<p>
165
+ If the spawn server died during the spawning process, then the server will be automatically restarted, and another spawn attempt will be made. If restarting the server fails, or if the second spawn attempt fails, then an exception will be thrown.<p>
166
+ <dl compact><dt><b>Parameters:</b></dt><dd>
167
+ <table border="0" cellspacing="2" cellpadding="0">
168
+ <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>An object containing the details for this spawn operation, such as which application to spawn. See <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> for details. </td></tr>
169
+ </table>
170
+ </dl>
171
+ <dl class="return" compact><dt><b>Returns:</b></dt><dd>A smart pointer to a <a class="el" href="classPassenger_1_1Process.html" title="Represents a single application process, as spawned by SpawnManager or by ApplicationPool::Interface...">Process</a> object, which represents the application process that has been spawned. Use this object to communicate with the spawned process. </dd></dl>
172
+ <dl compact><dt><b>Exceptions:</b></dt><dd>
173
+ <table border="0" cellspacing="2" cellpadding="0">
174
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance...">SpawnException</a></em>&nbsp;</td><td>Something went wrong. </td></tr>
175
+ <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
176
+ <tr><td valign="top"></td><td valign="top"><em>Anything</em>&nbsp;</td><td>thrown by options.environmentVariables-&gt;getItems(). </td></tr>
177
+ </table>
178
+ </dl>
179
+
180
+ <p>Implemented in <a class="el" href="classPassenger_1_1SpawnManager.html#88a94ba4d41dab492cb1dc8a0f998973">Passenger::SpawnManager</a>.</p>
181
+
182
+ </div>
183
+ </div><p>
184
+ <hr>The documentation for this class was generated from the following file:<ul>
185
+ <li><a class="el" href="AbstractSpawnManager_8h-source.html">AbstractSpawnManager.h</a></ul>
186
+ </div>
187
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by&nbsp;
188
+ <a href="http://www.doxygen.org/index.html">
189
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
190
+ </body>
191
+ </html>
@@ -0,0 +1 @@
1
+ <area shape="rect" href="$classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation." alt="" coords="31,80,220,107">
@@ -0,0 +1 @@
1
+ d398ac04a3a5aa30d625ae120a526d5b
@@ -10,6 +10,7 @@
10
10
  <ul>
11
11
  <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
12
  <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
14
  <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
15
  <li><a href="files.html"><span>Files</span></a></li>
15
16
  </ul>
@@ -23,9 +24,9 @@
23
24
  </div>
24
25
  </div>
25
26
  <div class="contents">
26
- <h1>Passenger::DummySpawnManager Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1DummySpawnManager.html">Passenger::DummySpawnManager</a>, including all inherited members.<p><table>
27
+ <h1>Passenger::ArgumentException Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1ArgumentException.html">Passenger::ArgumentException</a>, including all inherited members.<p><table>
27
28
  </table></div>
28
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
29
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by&nbsp;
29
30
  <a href="http://www.doxygen.org/index.html">
30
31
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
31
32
  </body>