passenger 3.0.7 → 3.0.8

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 (439) hide show
  1. data/NEWS +27 -0
  2. data/README +1 -1
  3. data/bin/passenger-install-nginx-module +3 -1
  4. data/build/config.rb +2 -1
  5. data/build/cxx_tests.rb +7 -3
  6. data/build/documentation.rb +5 -40
  7. data/build/nginx.rb +0 -1
  8. data/build/packaging.rb +0 -6
  9. data/build/rake_extensions.rb +5 -0
  10. data/doc/Architectural overview.html +344 -77
  11. data/doc/Security of user switching support.html +338 -71
  12. data/doc/Users guide Apache with comments.html +4830 -0
  13. data/doc/Users guide Apache.html +695 -428
  14. data/doc/Users guide Apache.idmap.txt +80 -0
  15. data/doc/Users guide Apache.txt +5 -5
  16. data/doc/Users guide Nginx.html +591 -313
  17. data/doc/Users guide Nginx.txt +9 -3
  18. data/doc/Users guide Standalone.html +344 -77
  19. data/ext/boost/src/pthread/thread.cpp +1 -1
  20. data/ext/common/AccountsDatabase.h +1 -1
  21. data/ext/common/Constants.h +2 -2
  22. data/ext/common/Logging.h +2 -1
  23. data/ext/common/LoggingAgent/FilterSupport.h +107 -3
  24. data/ext/common/Session.h +1 -1
  25. data/ext/common/Utils.cpp +2 -0
  26. data/ext/common/Utils/Dechunker.h +232 -0
  27. data/ext/common/Utils/HttpHeaderBufferer.h +165 -0
  28. data/ext/common/Utils/StrIntUtils.cpp +51 -15
  29. data/ext/common/Utils/StrIntUtils.h +3 -0
  30. data/ext/common/Utils/StreamBoyerMooreHorspool.h +506 -0
  31. data/ext/nginx/Configuration.c +36 -282
  32. data/ext/nginx/ContentHandler.c +17 -0
  33. data/ext/nginx/HelperAgent.cpp +397 -39
  34. data/ext/oxt/tracable_exception.cpp +3 -1
  35. data/ext/ruby/extconf.rb +1 -0
  36. data/ext/ruby/passenger_native_support.c +3 -0
  37. data/helper-scripts/prespawn +113 -31
  38. data/lib/phusion_passenger.rb +2 -2
  39. data/lib/phusion_passenger/standalone/runtime_installer.rb +3 -2
  40. data/lib/phusion_passenger/standalone/start_command.rb +12 -12
  41. data/test/cxx/DechunkerTest.cpp +216 -0
  42. data/test/cxx/FilterSupportTest.cpp +31 -4
  43. data/test/cxx/HttpHeaderBuffererTest.cpp +203 -0
  44. data/test/cxx/UtilsTest.cpp +46 -3
  45. data/test/integration_tests/hello_world_rack_spec.rb +7 -0
  46. data/test/stub/rack/config.ru +6 -1
  47. data/test/stub/rails_apps/1.2/empty/public/dispatch.cgi +1 -1
  48. data/test/stub/rails_apps/1.2/empty/public/dispatch.fcgi +1 -1
  49. data/test/stub/rails_apps/1.2/empty/public/dispatch.rb +1 -1
  50. data/test/stub/rails_apps/2.0/empty/public/dispatch.cgi +1 -1
  51. data/test/stub/rails_apps/2.0/empty/public/dispatch.fcgi +1 -1
  52. data/test/stub/rails_apps/2.0/empty/public/dispatch.rb +1 -1
  53. data/test/stub/rails_apps/2.2/empty/public/dispatch.cgi +1 -1
  54. data/test/stub/rails_apps/2.2/empty/public/dispatch.fcgi +1 -1
  55. data/test/stub/rails_apps/2.2/empty/public/dispatch.rb +1 -1
  56. metadata +20 -403
  57. data/doc/Doxyfile +0 -241
  58. data/doc/cxxapi/AbstractSpawnManager_8h_source.html +0 -141
  59. data/doc/cxxapi/Account_8h_source.html +0 -206
  60. data/doc/cxxapi/AccountsDatabase_8h_source.html +0 -161
  61. data/doc/cxxapi/AgentBase_8h_source.html +0 -70
  62. data/doc/cxxapi/AgentsStarter_8h_source.html +0 -112
  63. data/doc/cxxapi/BCrypt_8h_source.html +0 -104
  64. data/doc/cxxapi/Blowfish_8h_source.html +0 -134
  65. data/doc/cxxapi/Bucket_8h_source.html +0 -118
  66. data/doc/cxxapi/Constants_8h_source.html +0 -79
  67. data/doc/cxxapi/ContentHandler_8h_source.html +0 -95
  68. data/doc/cxxapi/DirectoryMapper_8h_source.html +0 -311
  69. data/doc/cxxapi/EventedClient_8h_source.html +0 -733
  70. data/doc/cxxapi/EventedMessageServer_8h_source.html +0 -358
  71. data/doc/cxxapi/EventedServer_8h_source.html +0 -326
  72. data/doc/cxxapi/Exceptions_8h_source.html +0 -393
  73. data/doc/cxxapi/FileDescriptor_8h_source.html +0 -324
  74. data/doc/cxxapi/Hooks_8h_source.html +0 -76
  75. data/doc/cxxapi/HttpStatusExtractor_8h_source.html +0 -382
  76. data/doc/cxxapi/IniFile_8h_source.html +0 -527
  77. data/doc/cxxapi/Logging_8h_source.html +0 -796
  78. data/doc/cxxapi/MessageChannel_8h_source.html +0 -776
  79. data/doc/cxxapi/MessageClient_8h_source.html +0 -328
  80. data/doc/cxxapi/MessageReadersWriters_8h_source.html +0 -539
  81. data/doc/cxxapi/MessageServer_8h_source.html +0 -612
  82. data/doc/cxxapi/PoolOptions_8h_source.html +0 -549
  83. data/doc/cxxapi/Process_8h_source.html +0 -286
  84. data/doc/cxxapi/RandomGenerator_8h_source.html +0 -191
  85. data/doc/cxxapi/ResourceLocator_8h_source.html +0 -166
  86. data/doc/cxxapi/SafeLibev_8h_source.html +0 -180
  87. data/doc/cxxapi/ScgiRequestParser_8h_source.html +0 -406
  88. data/doc/cxxapi/ServerInstanceDir_8h_source.html +0 -378
  89. data/doc/cxxapi/Session_8h_source.html +0 -501
  90. data/doc/cxxapi/SpawnManager_8h_source.html +0 -647
  91. data/doc/cxxapi/StaticContentHandler_8h_source.html +0 -69
  92. data/doc/cxxapi/StaticString_8h_source.html +0 -329
  93. data/doc/cxxapi/StringListCreator_8h_source.html +0 -114
  94. data/doc/cxxapi/Utils_8h_source.html +0 -469
  95. data/doc/cxxapi/annotated.html +0 -87
  96. data/doc/cxxapi/apache2_2Configuration_8h_source.html +0 -82
  97. data/doc/cxxapi/classAgentWatcher-members.html +0 -54
  98. data/doc/cxxapi/classAgentWatcher.html +0 -419
  99. data/doc/cxxapi/classClient-members.html +0 -38
  100. data/doc/cxxapi/classClient.html +0 -123
  101. data/doc/cxxapi/classHooks-members.html +0 -40
  102. data/doc/cxxapi/classHooks.html +0 -153
  103. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +0 -40
  104. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +0 -187
  105. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +0 -3
  106. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +0 -1
  107. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
  108. data/doc/cxxapi/classPassenger_1_1ArgumentException-members.html +0 -36
  109. data/doc/cxxapi/classPassenger_1_1ArgumentException.html +0 -56
  110. data/doc/cxxapi/classPassenger_1_1ArrayMessage-members.html +0 -37
  111. data/doc/cxxapi/classPassenger_1_1ArrayMessage.html +0 -113
  112. data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +0 -38
  113. data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +0 -112
  114. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +0 -36
  115. data/doc/cxxapi/classPassenger_1_1BusyException.html +0 -54
  116. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +0 -36
  117. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +0 -51
  118. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -41
  119. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -223
  120. data/doc/cxxapi/classPassenger_1_1EOFException-members.html +0 -36
  121. data/doc/cxxapi/classPassenger_1_1EOFException.html +0 -61
  122. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +0 -3
  123. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +0 -1
  124. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
  125. data/doc/cxxapi/classPassenger_1_1EventFd-members.html +0 -36
  126. data/doc/cxxapi/classPassenger_1_1EventFd.html +0 -52
  127. data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +0 -59
  128. data/doc/cxxapi/classPassenger_1_1EventedClient.html +0 -531
  129. data/doc/cxxapi/classPassenger_1_1EventedMessageServer-members.html +0 -37
  130. data/doc/cxxapi/classPassenger_1_1EventedMessageServer.html +0 -59
  131. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.map +0 -3
  132. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.md5 +0 -1
  133. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.png +0 -0
  134. data/doc/cxxapi/classPassenger_1_1EventedServer-members.html +0 -37
  135. data/doc/cxxapi/classPassenger_1_1EventedServer.html +0 -93
  136. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.map +0 -3
  137. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.md5 +0 -1
  138. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.png +0 -0
  139. data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +0 -41
  140. data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +0 -178
  141. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +0 -36
  142. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +0 -52
  143. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +0 -36
  144. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +0 -58
  145. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +0 -3
  146. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +0 -1
  147. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
  148. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +0 -41
  149. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +0 -66
  150. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +0 -3
  151. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +0 -1
  152. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
  153. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor-members.html +0 -39
  154. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +0 -128
  155. data/doc/cxxapi/classPassenger_1_1IOException-members.html +0 -36
  156. data/doc/cxxapi/classPassenger_1_1IOException.html +0 -61
  157. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +0 -4
  158. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +0 -1
  159. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  160. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -57
  161. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -839
  162. data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +0 -49
  163. data/doc/cxxapi/classPassenger_1_1MessageServer.html +0 -407
  164. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +0 -36
  165. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +0 -58
  166. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +0 -3
  167. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +0 -1
  168. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
  169. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +0 -41
  170. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +0 -165
  171. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +0 -3
  172. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +0 -1
  173. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
  174. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +0 -39
  175. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +0 -173
  176. data/doc/cxxapi/classPassenger_1_1Process-members.html +0 -44
  177. data/doc/cxxapi/classPassenger_1_1Process.html +0 -290
  178. data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +0 -37
  179. data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +0 -79
  180. data/doc/cxxapi/classPassenger_1_1ResourceLocator-members.html +0 -36
  181. data/doc/cxxapi/classPassenger_1_1ResourceLocator.html +0 -51
  182. data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +0 -36
  183. data/doc/cxxapi/classPassenger_1_1RuntimeException.html +0 -54
  184. data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +0 -36
  185. data/doc/cxxapi/classPassenger_1_1SafeLibev.html +0 -51
  186. data/doc/cxxapi/classPassenger_1_1ScalarMessage-members.html +0 -37
  187. data/doc/cxxapi/classPassenger_1_1ScalarMessage.html +0 -76
  188. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +0 -50
  189. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +0 -285
  190. data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +0 -36
  191. data/doc/cxxapi/classPassenger_1_1SecurityException.html +0 -56
  192. data/doc/cxxapi/classPassenger_1_1Session-members.html +0 -53
  193. data/doc/cxxapi/classPassenger_1_1Session.html +0 -556
  194. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +0 -3
  195. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +0 -1
  196. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
  197. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +0 -39
  198. data/doc/cxxapi/classPassenger_1_1SpawnException.html +0 -101
  199. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +0 -42
  200. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +0 -292
  201. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +0 -3
  202. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +0 -1
  203. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
  204. data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +0 -54
  205. data/doc/cxxapi/classPassenger_1_1StandardSession.html +0 -394
  206. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +0 -3
  207. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +0 -1
  208. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
  209. data/doc/cxxapi/classPassenger_1_1StaticString-members.html +0 -36
  210. data/doc/cxxapi/classPassenger_1_1StaticString.html +0 -56
  211. data/doc/cxxapi/classPassenger_1_1SyntaxError-members.html +0 -36
  212. data/doc/cxxapi/classPassenger_1_1SyntaxError.html +0 -54
  213. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +0 -40
  214. data/doc/cxxapi/classPassenger_1_1SystemException.html +0 -155
  215. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +0 -4
  216. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +0 -1
  217. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  218. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +0 -40
  219. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +0 -61
  220. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +0 -3
  221. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +0 -1
  222. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
  223. data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +0 -36
  224. data/doc/cxxapi/classPassenger_1_1TimeoutException.html +0 -54
  225. data/doc/cxxapi/classPassenger_1_1Uint16Message-members.html +0 -36
  226. data/doc/cxxapi/classPassenger_1_1Uint16Message.html +0 -51
  227. data/doc/cxxapi/classPassenger_1_1Uint32Message-members.html +0 -36
  228. data/doc/cxxapi/classPassenger_1_1Uint32Message.html +0 -51
  229. data/doc/cxxapi/classServer-members.html +0 -36
  230. data/doc/cxxapi/classServer.html +0 -49
  231. data/doc/cxxapi/classServerInstanceDirToucher-members.html +0 -36
  232. data/doc/cxxapi/classServerInstanceDirToucher.html +0 -47
  233. data/doc/cxxapi/classes.html +0 -52
  234. data/doc/cxxapi/definitions_8h_source.html +0 -36
  235. data/doc/cxxapi/doxygen.css +0 -532
  236. data/doc/cxxapi/doxygen.png +0 -0
  237. data/doc/cxxapi/files.html +0 -76
  238. data/doc/cxxapi/ftv2blank.png +0 -0
  239. data/doc/cxxapi/ftv2doc.png +0 -0
  240. data/doc/cxxapi/ftv2folderclosed.png +0 -0
  241. data/doc/cxxapi/ftv2folderopen.png +0 -0
  242. data/doc/cxxapi/ftv2lastnode.png +0 -0
  243. data/doc/cxxapi/ftv2link.png +0 -0
  244. data/doc/cxxapi/ftv2mlastnode.png +0 -0
  245. data/doc/cxxapi/ftv2mnode.png +0 -0
  246. data/doc/cxxapi/ftv2node.png +0 -0
  247. data/doc/cxxapi/ftv2plastnode.png +0 -0
  248. data/doc/cxxapi/ftv2pnode.png +0 -0
  249. data/doc/cxxapi/ftv2vertline.png +0 -0
  250. data/doc/cxxapi/functions.html +0 -103
  251. data/doc/cxxapi/functions_0x62.html +0 -82
  252. data/doc/cxxapi/functions_0x63.html +0 -102
  253. data/doc/cxxapi/functions_0x64.html +0 -102
  254. data/doc/cxxapi/functions_0x65.html +0 -88
  255. data/doc/cxxapi/functions_0x66.html +0 -100
  256. data/doc/cxxapi/functions_0x67.html +0 -167
  257. data/doc/cxxapi/functions_0x68.html +0 -88
  258. data/doc/cxxapi/functions_0x69.html +0 -96
  259. data/doc/cxxapi/functions_0x6b.html +0 -80
  260. data/doc/cxxapi/functions_0x6c.html +0 -88
  261. data/doc/cxxapi/functions_0x6d.html +0 -88
  262. data/doc/cxxapi/functions_0x6e.html +0 -86
  263. data/doc/cxxapi/functions_0x6f.html +0 -94
  264. data/doc/cxxapi/functions_0x70.html +0 -94
  265. data/doc/cxxapi/functions_0x72.html +0 -110
  266. data/doc/cxxapi/functions_0x73.html +0 -171
  267. data/doc/cxxapi/functions_0x74.html +0 -85
  268. data/doc/cxxapi/functions_0x75.html +0 -85
  269. data/doc/cxxapi/functions_0x77.html +0 -92
  270. data/doc/cxxapi/functions_0x7e.html +0 -79
  271. data/doc/cxxapi/functions_enum.html +0 -49
  272. data/doc/cxxapi/functions_eval.html +0 -67
  273. data/doc/cxxapi/functions_func.html +0 -531
  274. data/doc/cxxapi/functions_vars.html +0 -278
  275. data/doc/cxxapi/graph_legend.dot +0 -22
  276. data/doc/cxxapi/graph_legend.html +0 -92
  277. data/doc/cxxapi/graph_legend.png +0 -0
  278. data/doc/cxxapi/group__Core.html +0 -46
  279. data/doc/cxxapi/group__Core.map +0 -3
  280. data/doc/cxxapi/group__Core.png +0 -0
  281. data/doc/cxxapi/group__Exceptions.html +0 -53
  282. data/doc/cxxapi/group__Hooks.html +0 -42
  283. data/doc/cxxapi/group__Hooks.map +0 -3
  284. data/doc/cxxapi/group__Hooks.png +0 -0
  285. data/doc/cxxapi/group__Support.html +0 -538
  286. data/doc/cxxapi/hierarchy.html +0 -101
  287. data/doc/cxxapi/index.html +0 -16
  288. data/doc/cxxapi/inherit__graph__0.map +0 -3
  289. data/doc/cxxapi/inherit__graph__0.md5 +0 -1
  290. data/doc/cxxapi/inherit__graph__0.png +0 -0
  291. data/doc/cxxapi/inherit__graph__1.map +0 -3
  292. data/doc/cxxapi/inherit__graph__1.md5 +0 -1
  293. data/doc/cxxapi/inherit__graph__1.png +0 -0
  294. data/doc/cxxapi/inherit__graph__10.map +0 -3
  295. data/doc/cxxapi/inherit__graph__10.md5 +0 -1
  296. data/doc/cxxapi/inherit__graph__10.png +0 -0
  297. data/doc/cxxapi/inherit__graph__11.map +0 -4
  298. data/doc/cxxapi/inherit__graph__11.md5 +0 -1
  299. data/doc/cxxapi/inherit__graph__11.png +0 -0
  300. data/doc/cxxapi/inherit__graph__12.map +0 -3
  301. data/doc/cxxapi/inherit__graph__12.md5 +0 -1
  302. data/doc/cxxapi/inherit__graph__12.png +0 -0
  303. data/doc/cxxapi/inherit__graph__13.map +0 -3
  304. data/doc/cxxapi/inherit__graph__13.md5 +0 -1
  305. data/doc/cxxapi/inherit__graph__13.png +0 -0
  306. data/doc/cxxapi/inherit__graph__14.map +0 -3
  307. data/doc/cxxapi/inherit__graph__14.md5 +0 -1
  308. data/doc/cxxapi/inherit__graph__14.png +0 -0
  309. data/doc/cxxapi/inherit__graph__15.map +0 -3
  310. data/doc/cxxapi/inherit__graph__15.md5 +0 -1
  311. data/doc/cxxapi/inherit__graph__15.png +0 -0
  312. data/doc/cxxapi/inherit__graph__16.map +0 -5
  313. data/doc/cxxapi/inherit__graph__16.md5 +0 -1
  314. data/doc/cxxapi/inherit__graph__16.png +0 -0
  315. data/doc/cxxapi/inherit__graph__17.map +0 -3
  316. data/doc/cxxapi/inherit__graph__17.md5 +0 -1
  317. data/doc/cxxapi/inherit__graph__17.png +0 -0
  318. data/doc/cxxapi/inherit__graph__18.map +0 -3
  319. data/doc/cxxapi/inherit__graph__18.md5 +0 -1
  320. data/doc/cxxapi/inherit__graph__18.png +0 -0
  321. data/doc/cxxapi/inherit__graph__19.map +0 -4
  322. data/doc/cxxapi/inherit__graph__19.md5 +0 -1
  323. data/doc/cxxapi/inherit__graph__19.png +0 -0
  324. data/doc/cxxapi/inherit__graph__2.map +0 -3
  325. data/doc/cxxapi/inherit__graph__2.md5 +0 -1
  326. data/doc/cxxapi/inherit__graph__2.png +0 -0
  327. data/doc/cxxapi/inherit__graph__20.map +0 -3
  328. data/doc/cxxapi/inherit__graph__20.md5 +0 -1
  329. data/doc/cxxapi/inherit__graph__20.png +0 -0
  330. data/doc/cxxapi/inherit__graph__21.map +0 -3
  331. data/doc/cxxapi/inherit__graph__21.md5 +0 -1
  332. data/doc/cxxapi/inherit__graph__21.png +0 -0
  333. data/doc/cxxapi/inherit__graph__22.map +0 -3
  334. data/doc/cxxapi/inherit__graph__22.md5 +0 -1
  335. data/doc/cxxapi/inherit__graph__22.png +0 -0
  336. data/doc/cxxapi/inherit__graph__23.map +0 -3
  337. data/doc/cxxapi/inherit__graph__23.md5 +0 -1
  338. data/doc/cxxapi/inherit__graph__23.png +0 -0
  339. data/doc/cxxapi/inherit__graph__24.map +0 -3
  340. data/doc/cxxapi/inherit__graph__24.md5 +0 -1
  341. data/doc/cxxapi/inherit__graph__24.png +0 -0
  342. data/doc/cxxapi/inherit__graph__25.map +0 -3
  343. data/doc/cxxapi/inherit__graph__25.md5 +0 -1
  344. data/doc/cxxapi/inherit__graph__25.png +0 -0
  345. data/doc/cxxapi/inherit__graph__26.map +0 -3
  346. data/doc/cxxapi/inherit__graph__26.md5 +0 -1
  347. data/doc/cxxapi/inherit__graph__26.png +0 -0
  348. data/doc/cxxapi/inherit__graph__27.map +0 -3
  349. data/doc/cxxapi/inherit__graph__27.md5 +0 -1
  350. data/doc/cxxapi/inherit__graph__27.png +0 -0
  351. data/doc/cxxapi/inherit__graph__28.map +0 -3
  352. data/doc/cxxapi/inherit__graph__28.md5 +0 -1
  353. data/doc/cxxapi/inherit__graph__28.png +0 -0
  354. data/doc/cxxapi/inherit__graph__29.map +0 -3
  355. data/doc/cxxapi/inherit__graph__29.md5 +0 -1
  356. data/doc/cxxapi/inherit__graph__29.png +0 -0
  357. data/doc/cxxapi/inherit__graph__3.map +0 -4
  358. data/doc/cxxapi/inherit__graph__3.md5 +0 -1
  359. data/doc/cxxapi/inherit__graph__3.png +0 -0
  360. data/doc/cxxapi/inherit__graph__30.map +0 -3
  361. data/doc/cxxapi/inherit__graph__30.md5 +0 -1
  362. data/doc/cxxapi/inherit__graph__30.png +0 -0
  363. data/doc/cxxapi/inherit__graph__31.map +0 -4
  364. data/doc/cxxapi/inherit__graph__31.md5 +0 -1
  365. data/doc/cxxapi/inherit__graph__31.png +0 -0
  366. data/doc/cxxapi/inherit__graph__32.map +0 -3
  367. data/doc/cxxapi/inherit__graph__32.md5 +0 -1
  368. data/doc/cxxapi/inherit__graph__32.png +0 -0
  369. data/doc/cxxapi/inherit__graph__33.map +0 -3
  370. data/doc/cxxapi/inherit__graph__33.md5 +0 -1
  371. data/doc/cxxapi/inherit__graph__33.png +0 -0
  372. data/doc/cxxapi/inherit__graph__34.map +0 -3
  373. data/doc/cxxapi/inherit__graph__34.md5 +0 -1
  374. data/doc/cxxapi/inherit__graph__34.png +0 -0
  375. data/doc/cxxapi/inherit__graph__35.map +0 -3
  376. data/doc/cxxapi/inherit__graph__35.md5 +0 -1
  377. data/doc/cxxapi/inherit__graph__35.png +0 -0
  378. data/doc/cxxapi/inherit__graph__36.map +0 -5
  379. data/doc/cxxapi/inherit__graph__36.md5 +0 -1
  380. data/doc/cxxapi/inherit__graph__36.png +0 -0
  381. data/doc/cxxapi/inherit__graph__37.map +0 -3
  382. data/doc/cxxapi/inherit__graph__37.md5 +0 -1
  383. data/doc/cxxapi/inherit__graph__37.png +0 -0
  384. data/doc/cxxapi/inherit__graph__38.map +0 -3
  385. data/doc/cxxapi/inherit__graph__38.md5 +0 -1
  386. data/doc/cxxapi/inherit__graph__38.png +0 -0
  387. data/doc/cxxapi/inherit__graph__39.map +0 -3
  388. data/doc/cxxapi/inherit__graph__39.md5 +0 -1
  389. data/doc/cxxapi/inherit__graph__39.png +0 -0
  390. data/doc/cxxapi/inherit__graph__4.map +0 -3
  391. data/doc/cxxapi/inherit__graph__4.md5 +0 -1
  392. data/doc/cxxapi/inherit__graph__4.png +0 -0
  393. data/doc/cxxapi/inherit__graph__40.map +0 -3
  394. data/doc/cxxapi/inherit__graph__40.md5 +0 -1
  395. data/doc/cxxapi/inherit__graph__40.png +0 -0
  396. data/doc/cxxapi/inherit__graph__41.map +0 -3
  397. data/doc/cxxapi/inherit__graph__41.md5 +0 -1
  398. data/doc/cxxapi/inherit__graph__41.png +0 -0
  399. data/doc/cxxapi/inherit__graph__5.map +0 -3
  400. data/doc/cxxapi/inherit__graph__5.md5 +0 -1
  401. data/doc/cxxapi/inherit__graph__5.png +0 -0
  402. data/doc/cxxapi/inherit__graph__6.map +0 -3
  403. data/doc/cxxapi/inherit__graph__6.md5 +0 -1
  404. data/doc/cxxapi/inherit__graph__6.png +0 -0
  405. data/doc/cxxapi/inherit__graph__7.map +0 -3
  406. data/doc/cxxapi/inherit__graph__7.md5 +0 -1
  407. data/doc/cxxapi/inherit__graph__7.png +0 -0
  408. data/doc/cxxapi/inherit__graph__8.map +0 -3
  409. data/doc/cxxapi/inherit__graph__8.md5 +0 -1
  410. data/doc/cxxapi/inherit__graph__8.png +0 -0
  411. data/doc/cxxapi/inherit__graph__9.map +0 -3
  412. data/doc/cxxapi/inherit__graph__9.md5 +0 -1
  413. data/doc/cxxapi/inherit__graph__9.png +0 -0
  414. data/doc/cxxapi/inherits.html +0 -165
  415. data/doc/cxxapi/main.html +0 -28
  416. data/doc/cxxapi/modules.html +0 -36
  417. data/doc/cxxapi/namespacePassenger.html +0 -585
  418. data/doc/cxxapi/namespacemembers.html +0 -190
  419. data/doc/cxxapi/namespacemembers_enum.html +0 -48
  420. data/doc/cxxapi/namespacemembers_eval.html +0 -57
  421. data/doc/cxxapi/namespacemembers_func.html +0 -114
  422. data/doc/cxxapi/namespacemembers_type.html +0 -54
  423. data/doc/cxxapi/namespaces.html +0 -37
  424. data/doc/cxxapi/nginx_2Configuration_8h_source.html +0 -126
  425. data/doc/cxxapi/ngx__http__passenger__module_8h_source.html +0 -95
  426. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +0 -36
  427. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +0 -51
  428. data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +0 -67
  429. data/doc/cxxapi/structPassenger_1_1PoolOptions.html +0 -647
  430. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +0 -36
  431. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +0 -51
  432. data/doc/cxxapi/tab_b.gif +0 -0
  433. data/doc/cxxapi/tab_l.gif +0 -0
  434. data/doc/cxxapi/tab_r.gif +0 -0
  435. data/doc/cxxapi/tabs.css +0 -105
  436. data/doc/cxxapi/tree.html +0 -249
  437. data/doc/template/horo.rb +0 -613
  438. data/ext/libev/config.h +0 -122
  439. data/ext/nginx/HttpStatusExtractor.h +0 -351
@@ -1,3 +0,0 @@
1
- <map id="G" name="G">
2
- <area shape="rect" id="node2" href="$classPassenger_1_1AbstractSpawnManager.html" title="Spawning of application processes." alt="" coords="5,5,253,35"/>
3
- </map>
@@ -1 +0,0 @@
1
- 9998e622834d84aef6d85c4672a6723e
@@ -1,54 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Member List</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- </div>
29
- <div class="contents">
30
- <h1>Passenger::StandardSession Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a>, including all inherited members.<table>
31
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#af5cdfa78db1fca6303ccd43ac5126b6b">closeStream</a>()</td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
32
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#a3666d401df82696fe945fcbb66804785">discardStream</a>()</td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
33
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#a51d4e04acc68526a450b1fce2142dea9">fd</a></td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [protected]</code></td></tr>
34
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Session.html#aeaf4f7097f7b3430dc88e8070cad5899">getConnectPassword</a>() const </td><td><a class="el" href="classPassenger_1_1Session.html">Passenger::Session</a></td><td><code> [inline]</code></td></tr>
35
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#a496bbb49ac5f8d86ac6c37e979e7e3e8">getPid</a>() const </td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
36
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#a720e98b8dd246eeca004c8e625c0d4d3">getSocketName</a>() const </td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
37
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#a3a59997280d5f7fcaa901716cd8451a2">getSocketType</a>() const </td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
38
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#aa3491d2151ba3b94c1b19a4f18bade6a">getStream</a>() const </td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
39
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#ac283db6faf2fcd1827baf3ebac276677">initiate</a>()</td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
40
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#a40cdaad38dfbb7995955f11bb27bba61">initiated</a>() const </td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
41
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Session.html#a2203d81e25fe5066aed351608deecf7b">sendBodyBlock</a>(const char *block, unsigned int size)</td><td><a class="el" href="classPassenger_1_1Session.html">Passenger::Session</a></td><td><code> [inline, virtual]</code></td></tr>
42
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Session.html#a8f8a39f78dd2672b00f1ff01e4d6d671">sendHeaders</a>(const char *headers, unsigned int size)</td><td><a class="el" href="classPassenger_1_1Session.html">Passenger::Session</a></td><td><code> [inline, virtual]</code></td></tr>
43
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Session.html#a8253d81e64adc0dc72b1dc65a5117aba">sendHeaders</a>(const StaticString &amp;headers)</td><td><a class="el" href="classPassenger_1_1Session.html">Passenger::Session</a></td><td><code> [inline, virtual]</code></td></tr>
44
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#a960346d8c27ff1ae9017d753e41a159a">setReaderTimeout</a>(unsigned int msec)</td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
45
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#abb51c323ac0e24011191862f6dec7a75">setWriterTimeout</a>(unsigned int msec)</td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
46
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#ac92d4d081d6145ba8d441c8cf88fae74">shutdownReader</a>()</td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
47
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardSession.html#a045a8f7f849c34086b0832fdba7a2915">shutdownWriter</a>()</td><td><a class="el" href="classPassenger_1_1StandardSession.html">Passenger::StandardSession</a></td><td><code> [inline, virtual]</code></td></tr>
48
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Session.html#ac982015e84f64dbec70daef8fdbd31d9">~Session</a>()</td><td><a class="el" href="classPassenger_1_1Session.html">Passenger::Session</a></td><td><code> [inline, virtual]</code></td></tr>
49
- </table></div>
50
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
51
- <a href="http://www.doxygen.org/index.html">
52
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
53
- </body>
54
- </html>
@@ -1,394 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Passenger::StandardSession Class Reference</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1StandardSession.html">StandardSession</a>
29
- </div>
30
- </div>
31
- <div class="contents">
32
- <h1>Passenger::StandardSession Class Reference</h1><!-- doxytag: class="Passenger::StandardSession" --><!-- doxytag: inherits="Passenger::Session" -->
33
- <p>A "standard" implementation of <a class="el" href="classPassenger_1_1Session.html" title="Represents a single request/response pair of an application process.">Session</a>.
34
- <a href="#_details">More...</a></p>
35
-
36
- <p><code>#include &lt;<a class="el" href="Session_8h_source.html">Session.h</a>&gt;</code></p>
37
- <div class="dynheader">
38
- Inheritance diagram for Passenger::StandardSession:</div>
39
- <div class="dynsection">
40
- <div class="center"><img src="classPassenger_1_1StandardSession__inherit__graph.png" border="0" usemap="#Passenger_1_1StandardSession_inherit__map" alt="Inheritance graph"/></div>
41
- <map name="Passenger_1_1StandardSession_inherit__map" id="Passenger_1_1StandardSession_inherit__map">
42
- <area shape="rect" id="node2" href="classPassenger_1_1Session.html" title="Represents a single request/response pair of an application process." alt="" coords="35,5,181,35"/></map>
43
- <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
44
-
45
- <p><a href="classPassenger_1_1StandardSession-members.html">List of all members.</a></p>
46
- <table border="0" cellpadding="0" cellspacing="0">
47
- <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
48
- <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#ac283db6faf2fcd1827baf3ebac276677">initiate</a> ()</td></tr>
49
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initiate the session by connecting to the associated process. <a href="#ac283db6faf2fcd1827baf3ebac276677"></a><br/></td></tr>
50
- <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40cdaad38dfbb7995955f11bb27bba61"></a><!-- doxytag: member="Passenger::StandardSession::initiated" ref="a40cdaad38dfbb7995955f11bb27bba61" args="() const " -->
51
- virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#a40cdaad38dfbb7995955f11bb27bba61">initiated</a> () const </td></tr>
52
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether this session has been initiated (that is, whether <a class="el" href="classPassenger_1_1StandardSession.html#ac283db6faf2fcd1827baf3ebac276677" title="Initiate the session by connecting to the associated process.">initiate()</a> had been called in the past). <br/></td></tr>
53
- <tr><td class="memItemLeft" align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#a3a59997280d5f7fcaa901716cd8451a2">getSocketType</a> () const </td></tr>
54
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of the socket that this session is served from, e.g. <a href="#a3a59997280d5f7fcaa901716cd8451a2"></a><br/></td></tr>
55
- <tr><td class="memItemLeft" align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#a720e98b8dd246eeca004c8e625c0d4d3">getSocketName</a> () const </td></tr>
56
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the address of the socket that this session is served from. <a href="#a720e98b8dd246eeca004c8e625c0d4d3"></a><br/></td></tr>
57
- <tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#aa3491d2151ba3b94c1b19a4f18bade6a">getStream</a> () const </td></tr>
58
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns this session's channel's file descriptor. <a href="#aa3491d2151ba3b94c1b19a4f18bade6a"></a><br/></td></tr>
59
- <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#a960346d8c27ff1ae9017d753e41a159a">setReaderTimeout</a> (unsigned int msec)</td></tr>
60
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the timeout value for reading data from the I/O channel. <a href="#a960346d8c27ff1ae9017d753e41a159a"></a><br/></td></tr>
61
- <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#abb51c323ac0e24011191862f6dec7a75">setWriterTimeout</a> (unsigned int msec)</td></tr>
62
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the timeout value for writing data from the I/O channel. <a href="#abb51c323ac0e24011191862f6dec7a75"></a><br/></td></tr>
63
- <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#ac92d4d081d6145ba8d441c8cf88fae74">shutdownReader</a> ()</td></tr>
64
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate that we don't want to read data anymore from the I/O channel. <a href="#ac92d4d081d6145ba8d441c8cf88fae74"></a><br/></td></tr>
65
- <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#a045a8f7f849c34086b0832fdba7a2915">shutdownWriter</a> ()</td></tr>
66
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate that we don't want to write data anymore to the I/O channel. <a href="#a045a8f7f849c34086b0832fdba7a2915"></a><br/></td></tr>
67
- <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#af5cdfa78db1fca6303ccd43ac5126b6b">closeStream</a> ()</td></tr>
68
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the I/O stream. <a href="#af5cdfa78db1fca6303ccd43ac5126b6b"></a><br/></td></tr>
69
- <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#a3666d401df82696fe945fcbb66804785">discardStream</a> ()</td></tr>
70
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Discard the I/O channel's file descriptor, so that the destructor won't automatically close it. <a href="#a3666d401df82696fe945fcbb66804785"></a><br/></td></tr>
71
- <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a496bbb49ac5f8d86ac6c37e979e7e3e8"></a><!-- doxytag: member="Passenger::StandardSession::getPid" ref="a496bbb49ac5f8d86ac6c37e979e7e3e8" args="() const " -->
72
- virtual pid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#a496bbb49ac5f8d86ac6c37e979e7e3e8">getPid</a> () const </td></tr>
73
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the process ID of the application process that this session belongs to. <br/></td></tr>
74
- <tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
75
- <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html#a51d4e04acc68526a450b1fce2142dea9">fd</a></td></tr>
76
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The session connection file descriptor. <a href="#a51d4e04acc68526a450b1fce2142dea9"></a><br/></td></tr>
77
- </table>
78
- <hr/><a name="_details"></a><h2>Detailed Description</h2>
79
- <p>A "standard" implementation of <a class="el" href="classPassenger_1_1Session.html" title="Represents a single request/response pair of an application process.">Session</a>. </p>
80
- <hr/><h2>Member Function Documentation</h2>
81
- <a class="anchor" id="af5cdfa78db1fca6303ccd43ac5126b6b"></a><!-- doxytag: member="Passenger::StandardSession::closeStream" ref="af5cdfa78db1fca6303ccd43ac5126b6b" args="()" -->
82
- <div class="memitem">
83
- <div class="memproto">
84
- <table class="memname">
85
- <tr>
86
- <td class="memname">virtual void Passenger::StandardSession::closeStream </td>
87
- <td>(</td>
88
- <td class="paramname"></td>
89
- <td>&nbsp;)&nbsp;</td>
90
- <td><code> [inline, virtual]</code></td>
91
- </tr>
92
- </table>
93
- </div>
94
- <div class="memdoc">
95
-
96
- <p>Close the I/O stream. </p>
97
- <dl><dt><b>Exceptions:</b></dt><dd>
98
- <table border="0" cellspacing="2" cellpadding="0">
99
- <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>Something went wrong. </td></tr>
100
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
101
- </table>
102
- </dd>
103
- </dl>
104
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1StandardSession.html#a40cdaad38dfbb7995955f11bb27bba61" title="Returns whether this session has been initiated (that is, whether initiate() had...">initiated()</a> </dd></dl>
105
- <dl class="post"><dt><b>Postcondition:</b></dt><dd><a class="el" href="classPassenger_1_1StandardSession.html#aa3491d2151ba3b94c1b19a4f18bade6a" title="Returns this session&#39;s channel&#39;s file descriptor.">getStream()</a> == -1 </dd></dl>
106
-
107
- <p>Implements <a class="el" href="classPassenger_1_1Session.html#a7ab85388f15388cb8e65873d1ad310a5">Passenger::Session</a>.</p>
108
-
109
- </div>
110
- </div>
111
- <a class="anchor" id="a3666d401df82696fe945fcbb66804785"></a><!-- doxytag: member="Passenger::StandardSession::discardStream" ref="a3666d401df82696fe945fcbb66804785" args="()" -->
112
- <div class="memitem">
113
- <div class="memproto">
114
- <table class="memname">
115
- <tr>
116
- <td class="memname">virtual void Passenger::StandardSession::discardStream </td>
117
- <td>(</td>
118
- <td class="paramname"></td>
119
- <td>&nbsp;)&nbsp;</td>
120
- <td><code> [inline, virtual]</code></td>
121
- </tr>
122
- </table>
123
- </div>
124
- <div class="memdoc">
125
-
126
- <p>Discard the I/O channel's file descriptor, so that the destructor won't automatically close it. </p>
127
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1StandardSession.html#a40cdaad38dfbb7995955f11bb27bba61" title="Returns whether this session has been initiated (that is, whether initiate() had...">initiated()</a> </dd></dl>
128
- <dl class="post"><dt><b>Postcondition:</b></dt><dd><a class="el" href="classPassenger_1_1StandardSession.html#aa3491d2151ba3b94c1b19a4f18bade6a" title="Returns this session&#39;s channel&#39;s file descriptor.">getStream()</a> == -1 </dd></dl>
129
-
130
- <p>Implements <a class="el" href="classPassenger_1_1Session.html#a75344fdfb3c693323877e32884efaa31">Passenger::Session</a>.</p>
131
-
132
- </div>
133
- </div>
134
- <a class="anchor" id="a720e98b8dd246eeca004c8e625c0d4d3"></a><!-- doxytag: member="Passenger::StandardSession::getSocketName" ref="a720e98b8dd246eeca004c8e625c0d4d3" args="() const " -->
135
- <div class="memitem">
136
- <div class="memproto">
137
- <table class="memname">
138
- <tr>
139
- <td class="memname">virtual string Passenger::StandardSession::getSocketName </td>
140
- <td>(</td>
141
- <td class="paramname"></td>
142
- <td>&nbsp;)&nbsp;</td>
143
- <td> const<code> [inline, virtual]</code></td>
144
- </tr>
145
- </table>
146
- </div>
147
- <div class="memdoc">
148
-
149
- <p>Returns the address of the socket that this session is served from. </p>
150
- <p>This can be a Unix socket filename or a TCP host:port string like "127.0.0.1:1234".</p>
151
- <dl class="post"><dt><b>Postcondition:</b></dt><dd>!result.empty() </dd></dl>
152
-
153
- <p>Implements <a class="el" href="classPassenger_1_1Session.html#a7b8a632ebde11544a8ab98fde89954bb">Passenger::Session</a>.</p>
154
-
155
- </div>
156
- </div>
157
- <a class="anchor" id="a3a59997280d5f7fcaa901716cd8451a2"></a><!-- doxytag: member="Passenger::StandardSession::getSocketType" ref="a3a59997280d5f7fcaa901716cd8451a2" args="() const " -->
158
- <div class="memitem">
159
- <div class="memproto">
160
- <table class="memname">
161
- <tr>
162
- <td class="memname">virtual string Passenger::StandardSession::getSocketType </td>
163
- <td>(</td>
164
- <td class="paramname"></td>
165
- <td>&nbsp;)&nbsp;</td>
166
- <td> const<code> [inline, virtual]</code></td>
167
- </tr>
168
- </table>
169
- </div>
170
- <div class="memdoc">
171
-
172
- <p>Returns the type of the socket that this session is served from, e.g. </p>
173
- <p>"unix" indicating a Unix socket.</p>
174
- <dl class="post"><dt><b>Postcondition:</b></dt><dd>!result.empty() </dd></dl>
175
-
176
- <p>Implements <a class="el" href="classPassenger_1_1Session.html#ab8f084ab143d44f1a9ef8e8ccc841485">Passenger::Session</a>.</p>
177
-
178
- </div>
179
- </div>
180
- <a class="anchor" id="aa3491d2151ba3b94c1b19a4f18bade6a"></a><!-- doxytag: member="Passenger::StandardSession::getStream" ref="aa3491d2151ba3b94c1b19a4f18bade6a" args="() const " -->
181
- <div class="memitem">
182
- <div class="memproto">
183
- <table class="memname">
184
- <tr>
185
- <td class="memname">virtual int Passenger::StandardSession::getStream </td>
186
- <td>(</td>
187
- <td class="paramname"></td>
188
- <td>&nbsp;)&nbsp;</td>
189
- <td> const<code> [inline, virtual]</code></td>
190
- </tr>
191
- </table>
192
- </div>
193
- <div class="memdoc">
194
-
195
- <p>Returns this session's channel's file descriptor. </p>
196
- <p>This stream is full-duplex, and will be automatically closed upon Session's destruction, unless <a class="el" href="classPassenger_1_1StandardSession.html#a3666d401df82696fe945fcbb66804785" title="Discard the I/O channel&#39;s file descriptor, so that the destructor won&#39;t automatically...">discardStream()</a> is called.</p>
197
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1StandardSession.html#a40cdaad38dfbb7995955f11bb27bba61" title="Returns whether this session has been initiated (that is, whether initiate() had...">initiated()</a> </dd></dl>
198
- <dl class="return"><dt><b>Returns:</b></dt><dd>The file descriptor, or -1 if the I/O channel has already been closed or discarded. </dd></dl>
199
-
200
- <p>Implements <a class="el" href="classPassenger_1_1Session.html#a949c7a46f4bb0c628730ded2041d2489">Passenger::Session</a>.</p>
201
-
202
- </div>
203
- </div>
204
- <a class="anchor" id="ac283db6faf2fcd1827baf3ebac276677"></a><!-- doxytag: member="Passenger::StandardSession::initiate" ref="ac283db6faf2fcd1827baf3ebac276677" args="()" -->
205
- <div class="memitem">
206
- <div class="memproto">
207
- <table class="memname">
208
- <tr>
209
- <td class="memname">virtual void Passenger::StandardSession::initiate </td>
210
- <td>(</td>
211
- <td class="paramname"></td>
212
- <td>&nbsp;)&nbsp;</td>
213
- <td><code> [inline, virtual]</code></td>
214
- </tr>
215
- </table>
216
- </div>
217
- <div class="memdoc">
218
-
219
- <p>Initiate the session by connecting to the associated process. </p>
220
- <p>A <a class="el" href="classPassenger_1_1Session.html" title="Represents a single request/response pair of an application process.">Session</a> is not usable until it's initiated.</p>
221
- <dl><dt><b>Exceptions:</b></dt><dd>
222
- <table border="0" cellspacing="2" cellpadding="0">
223
- <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>Something went wrong. </td></tr>
224
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a></em>&nbsp;</td><td>Something went wrong. </td></tr>
225
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
226
- </table>
227
- </dd>
228
- </dl>
229
-
230
- <p>Implements <a class="el" href="classPassenger_1_1Session.html#abbcfa3eb48d38dead20c0d32cab4850b">Passenger::Session</a>.</p>
231
-
232
- </div>
233
- </div>
234
- <a class="anchor" id="a960346d8c27ff1ae9017d753e41a159a"></a><!-- doxytag: member="Passenger::StandardSession::setReaderTimeout" ref="a960346d8c27ff1ae9017d753e41a159a" args="(unsigned int msec)" -->
235
- <div class="memitem">
236
- <div class="memproto">
237
- <table class="memname">
238
- <tr>
239
- <td class="memname">virtual void Passenger::StandardSession::setReaderTimeout </td>
240
- <td>(</td>
241
- <td class="paramtype">unsigned int&nbsp;</td>
242
- <td class="paramname"> <em>msec</em></td>
243
- <td>&nbsp;)&nbsp;</td>
244
- <td><code> [inline, virtual]</code></td>
245
- </tr>
246
- </table>
247
- </div>
248
- <div class="memdoc">
249
-
250
- <p>Set the timeout value for reading data from the I/O channel. </p>
251
- <p>If no data can be read within the timeout period, then the read call will fail with error EAGAIN or EWOULDBLOCK.</p>
252
- <dl class="pre"><dt><b>Precondition:</b></dt><dd>The I/O channel hasn't been closed or discarded. </dd>
253
- <dd>
254
- <a class="el" href="classPassenger_1_1StandardSession.html#a40cdaad38dfbb7995955f11bb27bba61" title="Returns whether this session has been initiated (that is, whether initiate() had...">initiated()</a> </dd></dl>
255
- <dl><dt><b>Parameters:</b></dt><dd>
256
- <table border="0" cellspacing="2" cellpadding="0">
257
- <tr><td valign="top"></td><td valign="top"><em>msec</em>&nbsp;</td><td>The timeout, in milliseconds. If 0 is given, there will be no timeout. </td></tr>
258
- </table>
259
- </dd>
260
- </dl>
261
- <dl><dt><b>Exceptions:</b></dt><dd>
262
- <table border="0" cellspacing="2" cellpadding="0">
263
- <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>Cannot set the timeout. </td></tr>
264
- </table>
265
- </dd>
266
- </dl>
267
-
268
- <p>Implements <a class="el" href="classPassenger_1_1Session.html#a5accbd8f7cce66d0ef6695481fdaa39c">Passenger::Session</a>.</p>
269
-
270
- </div>
271
- </div>
272
- <a class="anchor" id="abb51c323ac0e24011191862f6dec7a75"></a><!-- doxytag: member="Passenger::StandardSession::setWriterTimeout" ref="abb51c323ac0e24011191862f6dec7a75" args="(unsigned int msec)" -->
273
- <div class="memitem">
274
- <div class="memproto">
275
- <table class="memname">
276
- <tr>
277
- <td class="memname">virtual void Passenger::StandardSession::setWriterTimeout </td>
278
- <td>(</td>
279
- <td class="paramtype">unsigned int&nbsp;</td>
280
- <td class="paramname"> <em>msec</em></td>
281
- <td>&nbsp;)&nbsp;</td>
282
- <td><code> [inline, virtual]</code></td>
283
- </tr>
284
- </table>
285
- </div>
286
- <div class="memdoc">
287
-
288
- <p>Set the timeout value for writing data from the I/O channel. </p>
289
- <p>If no data can be written within the timeout period, then the write call will fail with error EAGAIN or EWOULDBLOCK.</p>
290
- <dl class="pre"><dt><b>Precondition:</b></dt><dd>The I/O channel hasn't been closed or discarded. </dd>
291
- <dd>
292
- <a class="el" href="classPassenger_1_1StandardSession.html#a40cdaad38dfbb7995955f11bb27bba61" title="Returns whether this session has been initiated (that is, whether initiate() had...">initiated()</a> </dd></dl>
293
- <dl><dt><b>Parameters:</b></dt><dd>
294
- <table border="0" cellspacing="2" cellpadding="0">
295
- <tr><td valign="top"></td><td valign="top"><em>msec</em>&nbsp;</td><td>The timeout, in milliseconds. If 0 is given, there will be no timeout. </td></tr>
296
- </table>
297
- </dd>
298
- </dl>
299
- <dl><dt><b>Exceptions:</b></dt><dd>
300
- <table border="0" cellspacing="2" cellpadding="0">
301
- <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>Cannot set the timeout. </td></tr>
302
- </table>
303
- </dd>
304
- </dl>
305
-
306
- <p>Implements <a class="el" href="classPassenger_1_1Session.html#a21dd749c0c8d22f65c6a914ec2f97c94">Passenger::Session</a>.</p>
307
-
308
- </div>
309
- </div>
310
- <a class="anchor" id="ac92d4d081d6145ba8d441c8cf88fae74"></a><!-- doxytag: member="Passenger::StandardSession::shutdownReader" ref="ac92d4d081d6145ba8d441c8cf88fae74" args="()" -->
311
- <div class="memitem">
312
- <div class="memproto">
313
- <table class="memname">
314
- <tr>
315
- <td class="memname">virtual void Passenger::StandardSession::shutdownReader </td>
316
- <td>(</td>
317
- <td class="paramname"></td>
318
- <td>&nbsp;)&nbsp;</td>
319
- <td><code> [inline, virtual]</code></td>
320
- </tr>
321
- </table>
322
- </div>
323
- <div class="memdoc">
324
-
325
- <p>Indicate that we don't want to read data anymore from the I/O channel. </p>
326
- <p>Calling this method after <a class="el" href="classPassenger_1_1StandardSession.html#af5cdfa78db1fca6303ccd43ac5126b6b" title="Close the I/O stream.">closeStream()</a>/discardStream() is called will have no effect.</p>
327
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1StandardSession.html#a40cdaad38dfbb7995955f11bb27bba61" title="Returns whether this session has been initiated (that is, whether initiate() had...">initiated()</a> </dd></dl>
328
- <dl><dt><b>Exceptions:</b></dt><dd>
329
- <table border="0" cellspacing="2" cellpadding="0">
330
- <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>Something went wrong. </td></tr>
331
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
332
- </table>
333
- </dd>
334
- </dl>
335
-
336
- <p>Implements <a class="el" href="classPassenger_1_1Session.html#ac579d233ddc82542c336b2af1f40c4dd">Passenger::Session</a>.</p>
337
-
338
- </div>
339
- </div>
340
- <a class="anchor" id="a045a8f7f849c34086b0832fdba7a2915"></a><!-- doxytag: member="Passenger::StandardSession::shutdownWriter" ref="a045a8f7f849c34086b0832fdba7a2915" args="()" -->
341
- <div class="memitem">
342
- <div class="memproto">
343
- <table class="memname">
344
- <tr>
345
- <td class="memname">virtual void Passenger::StandardSession::shutdownWriter </td>
346
- <td>(</td>
347
- <td class="paramname"></td>
348
- <td>&nbsp;)&nbsp;</td>
349
- <td><code> [inline, virtual]</code></td>
350
- </tr>
351
- </table>
352
- </div>
353
- <div class="memdoc">
354
-
355
- <p>Indicate that we don't want to write data anymore to the I/O channel. </p>
356
- <p>Calling this method after <a class="el" href="classPassenger_1_1StandardSession.html#af5cdfa78db1fca6303ccd43ac5126b6b" title="Close the I/O stream.">closeStream()</a>/discardStream() is called will have no effect.</p>
357
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1StandardSession.html#a40cdaad38dfbb7995955f11bb27bba61" title="Returns whether this session has been initiated (that is, whether initiate() had...">initiated()</a> </dd></dl>
358
- <dl><dt><b>Exceptions:</b></dt><dd>
359
- <table border="0" cellspacing="2" cellpadding="0">
360
- <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>Something went wrong. </td></tr>
361
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
362
- </table>
363
- </dd>
364
- </dl>
365
-
366
- <p>Implements <a class="el" href="classPassenger_1_1Session.html#a8263c568a8ac4567b33728d820cbd920">Passenger::Session</a>.</p>
367
-
368
- </div>
369
- </div>
370
- <hr/><h2>Member Data Documentation</h2>
371
- <a class="anchor" id="a51d4e04acc68526a450b1fce2142dea9"></a><!-- doxytag: member="Passenger::StandardSession::fd" ref="a51d4e04acc68526a450b1fce2142dea9" args="" -->
372
- <div class="memitem">
373
- <div class="memproto">
374
- <table class="memname">
375
- <tr>
376
- <td class="memname">int <a class="el" href="classPassenger_1_1StandardSession.html#a51d4e04acc68526a450b1fce2142dea9">Passenger::StandardSession::fd</a><code> [protected]</code></td>
377
- </tr>
378
- </table>
379
- </div>
380
- <div class="memdoc">
381
-
382
- <p>The session connection file descriptor. </p>
383
-
384
- </div>
385
- </div>
386
- <hr/>The documentation for this class was generated from the following file:<ul>
387
- <li><a class="el" href="Session_8h_source.html">Session.h</a></li>
388
- </ul>
389
- </div>
390
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
391
- <a href="http://www.doxygen.org/index.html">
392
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
393
- </body>
394
- </html>