passenger 5.1.10 → 5.1.11

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 (200) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +18 -0
  3. data/Rakefile +20 -17
  4. data/bin/passenger-install-apache2-module +14 -11
  5. data/build/agent.rb +45 -18
  6. data/build/apache2.rb +32 -16
  7. data/build/basics.rb +29 -40
  8. data/build/common_library.rb +70 -54
  9. data/build/cxx_tests.rb +34 -43
  10. data/build/integration_tests.rb +10 -10
  11. data/build/misc.rb +6 -6
  12. data/build/node_tests.rb +1 -2
  13. data/build/oxt_tests.rb +7 -5
  14. data/build/packaging.rb +11 -441
  15. data/build/ruby_extension.rb +1 -1
  16. data/build/ruby_tests.rb +1 -2
  17. data/build/support/cplusplus.rb +6 -5
  18. data/build/support/cxx_dependency_map.rb +357 -833
  19. data/build/support/general.rb +23 -1
  20. data/build/test_basics.rb +3 -28
  21. data/dev/ci/tests/rpm/Jenkinsfile +68 -0
  22. data/dev/ci/tests/rpm/run +63 -0
  23. data/dev/ci/tests/source-packaging/run +1 -1
  24. data/dev/ci/tests/source-packaging/setup +1 -1
  25. data/doc/{Packaging.txt.md → Packaging.md} +0 -0
  26. data/resources/templates/apache2/deployment_example.txt.erb +2 -2
  27. data/resources/templates/apache2/multiple_apache_installations_detected.txt.erb +2 -2
  28. data/resources/templates/nginx/deployment_example.txt.erb +1 -1
  29. data/resources/templates/standalone/mass_deployment_default_server.erb +2 -2
  30. data/resources/templates/standalone/server.erb +2 -2
  31. data/src/agent/AgentMain.cpp +0 -4
  32. data/src/agent/Core/CoreMain.cpp +88 -5
  33. data/src/agent/Core/SpawningKit/Spawner.h +2 -1
  34. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +1109 -0
  35. data/src/agent/Shared/Fundamentals/AbortHandler.h +63 -0
  36. data/src/agent/Shared/Fundamentals/Implementation.cpp +7 -0
  37. data/src/agent/Shared/Fundamentals/Initialization.cpp +614 -0
  38. data/src/agent/Shared/{Base.h → Fundamentals/Initialization.h} +23 -14
  39. data/src/agent/Shared/Fundamentals/Utils.cpp +127 -0
  40. data/src/agent/Shared/Fundamentals/Utils.h +46 -0
  41. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
  42. data/src/agent/Watchdog/CoreWatcher.cpp +3 -1
  43. data/src/agent/Watchdog/InstanceDirToucher.cpp +90 -53
  44. data/src/agent/Watchdog/WatchdogMain.cpp +13 -29
  45. data/src/apache2_module/Hooks.cpp +4 -1
  46. data/src/cxx_supportlib/ConfigKit/Store.h +32 -5
  47. data/src/cxx_supportlib/Constants.h +1 -2
  48. data/src/cxx_supportlib/Crypto.cpp +2 -1
  49. data/src/cxx_supportlib/Hooks.h +16 -37
  50. data/src/cxx_supportlib/LoggingKit/Context.h +22 -0
  51. data/src/cxx_supportlib/LoggingKit/Forward.h +1 -0
  52. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +106 -22
  53. data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +106 -0
  54. data/src/{agent/UstRouter/FileSink.h → cxx_supportlib/ProcessManagement/Ruby.h} +23 -47
  55. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +199 -0
  56. data/src/cxx_supportlib/ProcessManagement/Spawn.h +150 -0
  57. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +459 -0
  58. data/src/cxx_supportlib/ProcessManagement/Utils.h +107 -0
  59. data/src/cxx_supportlib/Utils.cpp +41 -561
  60. data/src/cxx_supportlib/Utils.h +0 -68
  61. data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +187 -0
  62. data/src/cxx_supportlib/Utils/ProcessMetricsCollector.h +14 -2
  63. data/src/cxx_supportlib/WatchdogLauncher.h +2 -12
  64. data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +2 -2
  65. data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +4 -0
  66. data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +16 -1
  67. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +12 -9
  68. data/src/cxx_supportlib/vendor-modified/libev/ev++.h +4 -4
  69. data/src/cxx_supportlib/vendor-modified/libev/ev.h +3 -3
  70. data/src/nginx_module/CacheLocationConfig.c +0 -75
  71. data/src/nginx_module/CacheLocationConfig.c.cxxcodebuilder +1 -0
  72. data/src/nginx_module/Configuration.c +0 -1
  73. data/src/nginx_module/Configuration.h +0 -1
  74. data/src/nginx_module/ConfigurationCommands.c +1 -1
  75. data/src/nginx_module/ContentHandler.c +0 -1
  76. data/src/nginx_module/ContentHandler.h +0 -1
  77. data/src/nginx_module/CreateLocationConfig.c +0 -5
  78. data/src/nginx_module/CreateLocationConfig.c.cxxcodebuilder +1 -0
  79. data/src/nginx_module/LocationConfig.h +0 -4
  80. data/src/nginx_module/LocationConfig.h.cxxcodebuilder +2 -1
  81. data/src/nginx_module/MergeLocationConfig.c +0 -12
  82. data/src/nginx_module/MergeLocationConfig.c.cxxcodebuilder +1 -0
  83. data/src/nginx_module/ngx_http_passenger_module.h +0 -1
  84. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  85. data/src/ruby_supportlib/phusion_passenger/common_library.rb +20 -11
  86. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
  87. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +0 -1
  88. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +10 -3
  89. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -1
  90. data/src/ruby_supportlib/phusion_passenger/constants.rb +0 -1
  91. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +1 -1
  92. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +32 -6
  93. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +0 -1
  94. data/src/ruby_supportlib/phusion_passenger/packaging.rb +2 -4
  95. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +101 -20
  96. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +21 -9
  97. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +34 -31
  98. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -1
  99. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +2 -14
  100. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +40 -3
  101. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +15 -14
  102. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +1 -1
  103. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +1 -1
  104. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +8 -3
  105. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +19 -18
  106. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +6 -1
  107. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +17 -1
  108. metadata +19 -97
  109. data/build/documentation.rb +0 -70
  110. data/doc/CloudLicensingConfiguration.html +0 -172
  111. data/doc/CloudLicensingConfiguration.txt.md +0 -3
  112. data/doc/Packaging.html +0 -488
  113. data/doc/Security of user switching support.idmap.txt +0 -34
  114. data/doc/Security of user switching support.txt +0 -197
  115. data/doc/ServerOptimizationGuide.html +0 -172
  116. data/doc/ServerOptimizationGuide.txt.md +0 -3
  117. data/doc/images/by_sa.png +0 -0
  118. data/doc/images/cloud_licensing_batch_job.png +0 -0
  119. data/doc/images/code_walkthrough.jpg +0 -0
  120. data/doc/images/direct_spawning.png +0 -0
  121. data/doc/images/direct_spawning.svg +0 -251
  122. data/doc/images/glyphicons-halflings-white.png +0 -0
  123. data/doc/images/glyphicons-halflings.png +0 -0
  124. data/doc/images/icons/README +0 -5
  125. data/doc/images/icons/callouts/1.png +0 -0
  126. data/doc/images/icons/callouts/10.png +0 -0
  127. data/doc/images/icons/callouts/11.png +0 -0
  128. data/doc/images/icons/callouts/12.png +0 -0
  129. data/doc/images/icons/callouts/13.png +0 -0
  130. data/doc/images/icons/callouts/14.png +0 -0
  131. data/doc/images/icons/callouts/15.png +0 -0
  132. data/doc/images/icons/callouts/2.png +0 -0
  133. data/doc/images/icons/callouts/3.png +0 -0
  134. data/doc/images/icons/callouts/4.png +0 -0
  135. data/doc/images/icons/callouts/5.png +0 -0
  136. data/doc/images/icons/callouts/6.png +0 -0
  137. data/doc/images/icons/callouts/7.png +0 -0
  138. data/doc/images/icons/callouts/8.png +0 -0
  139. data/doc/images/icons/callouts/9.png +0 -0
  140. data/doc/images/icons/caution.png +0 -0
  141. data/doc/images/icons/example.png +0 -0
  142. data/doc/images/icons/home.png +0 -0
  143. data/doc/images/icons/important.png +0 -0
  144. data/doc/images/icons/next.png +0 -0
  145. data/doc/images/icons/note.png +0 -0
  146. data/doc/images/icons/prev.png +0 -0
  147. data/doc/images/icons/tip.png +0 -0
  148. data/doc/images/icons/up.png +0 -0
  149. data/doc/images/icons/warning.png +0 -0
  150. data/doc/images/many_web_framework_protocols.png +0 -0
  151. data/doc/images/passenger_architecture.png +0 -0
  152. data/doc/images/passenger_architecture.svg +0 -385
  153. data/doc/images/passenger_architecture_overview.png +0 -0
  154. data/doc/images/passenger_core_architecture.png +0 -0
  155. data/doc/images/passenger_nodejs_architecture.svg +0 -558
  156. data/doc/images/phusion_banner.png +0 -0
  157. data/doc/images/rack.png +0 -0
  158. data/doc/images/smart_spawning.png +0 -0
  159. data/doc/images/smart_spawning.svg +0 -323
  160. data/doc/images/spawn_server_architecture.png +0 -0
  161. data/doc/images/spawn_server_architecture.svg +0 -655
  162. data/doc/images/spawning_preparation_work.png +0 -0
  163. data/doc/images/startup_sequence.png +0 -0
  164. data/doc/images/typical_isolated_web_application.png +0 -0
  165. data/doc/images/typical_isolated_web_application.svg +0 -213
  166. data/doc/users_guide_snippets/alternative_for_flying_passenger.txt +0 -1
  167. data/doc/users_guide_snippets/analysis_and_system_maintenance.txt +0 -61
  168. data/doc/users_guide_snippets/appendix_a_about.txt +0 -13
  169. data/doc/users_guide_snippets/appendix_b_terminology.txt +0 -71
  170. data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +0 -36
  171. data/doc/users_guide_snippets/deployment_basics.txt +0 -37
  172. data/doc/users_guide_snippets/enterprise_only.txt +0 -1
  173. data/doc/users_guide_snippets/environment_variables.txt +0 -44
  174. data/doc/users_guide_snippets/global_queueing_explained.txt +0 -74
  175. data/doc/users_guide_snippets/installation.txt +0 -228
  176. data/doc/users_guide_snippets/installation/run_installer.txt +0 -58
  177. data/doc/users_guide_snippets/installation/verify_running_epilogue.txt +0 -6
  178. data/doc/users_guide_snippets/passenger_spawn_method.txt +0 -37
  179. data/doc/users_guide_snippets/rackup_specifications.txt +0 -1
  180. data/doc/users_guide_snippets/rvm_helper_tool.txt +0 -44
  181. data/doc/users_guide_snippets/since_version.txt +0 -1
  182. data/doc/users_guide_snippets/support_information.txt +0 -8
  183. data/doc/users_guide_snippets/tips.txt +0 -302
  184. data/doc/users_guide_snippets/troubleshooting/default.txt +0 -48
  185. data/doc/users_guide_snippets/troubleshooting/rails.txt +0 -59
  186. data/doc/users_guide_snippets/under_the_hood/page_caching_support.txt +0 -24
  187. data/doc/users_guide_snippets/under_the_hood/relationship_with_ruby.txt +0 -10
  188. data/doc/users_guide_snippets/where_to_get_support.txt +0 -9
  189. data/src/agent/Shared/Base.cpp +0 -1678
  190. data/src/agent/UstRouter/ApiServer.h +0 -292
  191. data/src/agent/UstRouter/Client.h +0 -112
  192. data/src/agent/UstRouter/Controller.h +0 -1309
  193. data/src/agent/UstRouter/LogSink.h +0 -145
  194. data/src/agent/UstRouter/OptionParser.h +0 -180
  195. data/src/agent/UstRouter/RemoteSender.h +0 -853
  196. data/src/agent/UstRouter/RemoteSink.h +0 -145
  197. data/src/agent/UstRouter/Transaction.h +0 -278
  198. data/src/agent/UstRouter/UstRouterMain.cpp +0 -681
  199. data/src/agent/Watchdog/UstRouterWatcher.cpp +0 -80
  200. data/src/ruby_supportlib/phusion_passenger/platform_info/macos.rb +0 -45
Binary file
@@ -1,323 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- xmlns:dc="http://purl.org/dc/elements/1.1/"
6
- xmlns:cc="http://creativecommons.org/ns#"
7
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
- xmlns:svg="http://www.w3.org/2000/svg"
9
- xmlns="http://www.w3.org/2000/svg"
10
- xmlns:xlink="http://www.w3.org/1999/xlink"
11
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
- width="570"
14
- height="420"
15
- id="svg3235"
16
- sodipodi:version="0.32"
17
- inkscape:version="0.48.2 r9819"
18
- sodipodi:docname="smart_spawning.svg"
19
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
20
- version="1.0"
21
- inkscape:export-filename="/Users/hongli/Projects/passenger/doc/images/smart_spawning.png"
22
- inkscape:export-xdpi="78.947365"
23
- inkscape:export-ydpi="78.947365">
24
- <defs
25
- id="defs3237">
26
- <marker
27
- inkscape:stockid="Arrow1Mend"
28
- orient="auto"
29
- refY="0"
30
- refX="0"
31
- id="Arrow1Mend"
32
- style="overflow:visible">
33
- <path
34
- id="path3877"
35
- d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
36
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
37
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
38
- </marker>
39
- <linearGradient
40
- id="linearGradient3177">
41
- <stop
42
- style="stop-color:#d0e3ff;stop-opacity:1;"
43
- offset="0"
44
- id="stop3179" />
45
- <stop
46
- style="stop-color:#3586ff;stop-opacity:1;"
47
- offset="1"
48
- id="stop3181" />
49
- </linearGradient>
50
- <inkscape:perspective
51
- sodipodi:type="inkscape:persp3d"
52
- inkscape:vp_x="0 : 526.18109 : 1"
53
- inkscape:vp_y="0 : 1000 : 0"
54
- inkscape:vp_z="744.09448 : 526.18109 : 1"
55
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
56
- id="perspective3243" />
57
- <linearGradient
58
- inkscape:collect="always"
59
- xlink:href="#linearGradient3177"
60
- id="linearGradient3851"
61
- gradientUnits="userSpaceOnUse"
62
- gradientTransform="matrix(0.3645117,0,0,0.9754098,-8.3060528,168.12366)"
63
- x1="400"
64
- y1="25.362183"
65
- x2="399"
66
- y2="147.36218" />
67
- <linearGradient
68
- inkscape:collect="always"
69
- xlink:href="#linearGradient3177"
70
- id="linearGradient3853"
71
- gradientUnits="userSpaceOnUse"
72
- gradientTransform="matrix(0.3425034,0,0,0.9754098,228.67469,247.12366)"
73
- x1="400"
74
- y1="25.362183"
75
- x2="399"
76
- y2="147.36218" />
77
- <linearGradient
78
- inkscape:collect="always"
79
- xlink:href="#linearGradient3177"
80
- id="linearGradient3855"
81
- gradientUnits="userSpaceOnUse"
82
- gradientTransform="matrix(0.3425034,0,0,0.9754098,227.67469,92.623656)"
83
- x1="400"
84
- y1="25.362183"
85
- x2="399"
86
- y2="147.36218" />
87
- <linearGradient
88
- inkscape:collect="always"
89
- xlink:href="#linearGradient3177"
90
- id="linearGradient4651"
91
- gradientUnits="userSpaceOnUse"
92
- gradientTransform="matrix(0.6588721,0,0,0.5983607,-6.798482,145.68645)"
93
- x1="400"
94
- y1="25.362183"
95
- x2="399"
96
- y2="147.36218" />
97
- </defs>
98
- <sodipodi:namedview
99
- id="base"
100
- pagecolor="#ffffff"
101
- bordercolor="#666666"
102
- borderopacity="1.0"
103
- gridtolerance="10000"
104
- guidetolerance="10"
105
- objecttolerance="10"
106
- inkscape:pageopacity="1"
107
- inkscape:pageshadow="2"
108
- inkscape:zoom="1"
109
- inkscape:cx="406.58261"
110
- inkscape:cy="159.47704"
111
- inkscape:document-units="px"
112
- inkscape:current-layer="layer1"
113
- showgrid="false"
114
- inkscape:window-width="1280"
115
- inkscape:window-height="703"
116
- inkscape:window-x="0"
117
- inkscape:window-y="72"
118
- inkscape:window-maximized="0" />
119
- <metadata
120
- id="metadata3240">
121
- <rdf:RDF>
122
- <cc:Work
123
- rdf:about="">
124
- <dc:format>image/svg+xml</dc:format>
125
- <dc:type
126
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
127
- <dc:title></dc:title>
128
- </cc:Work>
129
- </rdf:RDF>
130
- </metadata>
131
- <g
132
- inkscape:label="Layer 1"
133
- inkscape:groupmode="layer"
134
- id="layer1">
135
- <rect
136
- ry="10"
137
- rx="10"
138
- y="160.86218"
139
- x="52.5"
140
- height="73"
141
- width="479"
142
- id="rect4649"
143
- style="fill:url(#linearGradient4651);fill-opacity:1;stroke:none" />
144
- <g
145
- id="g3791"
146
- transform="translate(14.07821,6.654763)">
147
- <rect
148
- y="165.45535"
149
- x="48.593178"
150
- height="51.813644"
151
- width="200.81364"
152
- id="rect2383"
153
- style="fill:#0000cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.18635821px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
154
- <text
155
- id="text2385"
156
- y="199.62164"
157
- x="61.700211"
158
- style="font-size:23.59850502px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
159
- xml:space="preserve"><tspan
160
- style="font-weight:normal;-inkscape-font-specification:Arial"
161
- y="199.62164"
162
- x="61.700211"
163
- id="tspan2387"
164
- sodipodi:role="line">Application code</tspan></text>
165
- <rect
166
- y="165.36218"
167
- x="249.5"
168
- height="52"
169
- width="257"
170
- id="rect3159"
171
- style="fill:#7c00c5;fill-opacity:1;stroke:none" />
172
- <text
173
- id="text3165"
174
- y="200.48074"
175
- x="265.81216"
176
- style="font-size:23.59850502px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
177
- xml:space="preserve"><tspan
178
- style="font-weight:normal;-inkscape-font-specification:Arial"
179
- y="200.48074"
180
- x="265.81216"
181
- id="tspan3167"
182
- sodipodi:role="line">Rails framework code</tspan></text>
183
- </g>
184
- <g
185
- id="g3827"
186
- transform="translate(-237.26407,168.03301)">
187
- <rect
188
- ry="15"
189
- rx="15"
190
- y="117.36218"
191
- x="258.5"
192
- height="119"
193
- width="249"
194
- id="rect3175"
195
- style="fill:url(#linearGradient3855);fill-opacity:1;stroke:none" />
196
- <rect
197
- y="166.36218"
198
- x="282.5"
199
- height="52"
200
- width="201"
201
- id="rect3173"
202
- style="fill:#0ea500;fill-opacity:1;stroke:none" />
203
- <text
204
- id="text3169"
205
- y="200.31409"
206
- x="305.53094"
207
- style="font-size:23.59850502px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
208
- xml:space="preserve"><tspan
209
- style="font-weight:normal;-inkscape-font-specification:Arial"
210
- y="200.31409"
211
- x="305.53094"
212
- id="tspan3171"
213
- sodipodi:role="line">Other memory</tspan></text>
214
- <text
215
- id="text3185"
216
- y="150.08478"
217
- x="305.36664"
218
- style="font-size:66.72337341px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
219
- xml:space="preserve"><tspan
220
- style="font-size:23.35318184px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
221
- y="150.08478"
222
- x="305.36664"
223
- id="tspan3187"
224
- sodipodi:role="line">App process 1</tspan></text>
225
- </g>
226
- <g
227
- id="g3835"
228
- transform="translate(39.34019,15.091883)">
229
- <rect
230
- ry="15"
231
- rx="15"
232
- y="271.86218"
233
- x="259.5"
234
- height="119"
235
- width="249"
236
- id="rect3799"
237
- style="fill:url(#linearGradient3853);fill-opacity:1;stroke:none" />
238
- <rect
239
- y="320.86218"
240
- x="283.5"
241
- height="52"
242
- width="201"
243
- id="rect3801"
244
- style="fill:#0ea500;fill-opacity:1;stroke:none" />
245
- <text
246
- id="text3803"
247
- y="354.81409"
248
- x="306.53094"
249
- style="font-size:23.59850502px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
250
- xml:space="preserve"><tspan
251
- style="font-weight:normal;-inkscape-font-specification:Arial"
252
- y="354.81409"
253
- x="306.53094"
254
- id="tspan3805"
255
- sodipodi:role="line">Other memory</tspan></text>
256
- <text
257
- id="text3807"
258
- y="302.58478"
259
- x="303.36664"
260
- style="font-size:66.72337341px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
261
- xml:space="preserve"><tspan
262
- style="font-size:23.35318184px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
263
- y="302.58478"
264
- x="303.36664"
265
- id="tspan3809"
266
- sodipodi:role="line">App process 2</tspan></text>
267
- </g>
268
- <g
269
- id="g3843"
270
- transform="translate(130.8873,-174.84062)">
271
- <rect
272
- ry="15"
273
- rx="15.963856"
274
- y="192.86218"
275
- x="24.5"
276
- height="119"
277
- width="265"
278
- id="rect3813"
279
- style="fill:url(#linearGradient3851);fill-opacity:1;stroke:none" />
280
- <rect
281
- y="242.86218"
282
- x="54.5"
283
- height="52"
284
- width="201"
285
- id="rect3815"
286
- style="fill:#0ea500;fill-opacity:1;stroke:none" />
287
- <text
288
- id="text3817"
289
- y="276.81409"
290
- x="77.530945"
291
- style="font-size:23.59850502px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
292
- xml:space="preserve"><tspan
293
- style="font-weight:normal;-inkscape-font-specification:Arial"
294
- y="276.81409"
295
- x="77.530945"
296
- id="tspan3819"
297
- sodipodi:role="line">Other memory</tspan></text>
298
- <text
299
- id="text3821"
300
- y="225.58478"
301
- x="99.366638"
302
- style="font-size:66.72337341px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
303
- xml:space="preserve"><tspan
304
- style="font-size:23.35318184px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
305
- y="225.58478"
306
- x="99.366638"
307
- id="tspan3823"
308
- sodipodi:role="line">Preloader</tspan></text>
309
- </g>
310
- <path
311
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
312
- d="M 288.93817,136.4787 L 288.93817,174.66247"
313
- id="path3861" />
314
- <path
315
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
316
- d="M 148.22392,285.67824 L 148.22392,263.05082 L 423.99556,263.05082 L 423.99556,287.79956"
317
- id="path4643" />
318
- <path
319
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
320
- d="M 288.93816,261.72239 L 288.93816,223.53862"
321
- id="path4645" />
322
- </g>
323
- </svg>
@@ -1,655 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
- <svg
4
- xmlns:dc="http://purl.org/dc/elements/1.1/"
5
- xmlns:cc="http://web.resource.org/cc/"
6
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7
- xmlns:svg="http://www.w3.org/2000/svg"
8
- xmlns="http://www.w3.org/2000/svg"
9
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
10
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11
- width="710"
12
- height="620"
13
- id="svg2221"
14
- sodipodi:version="0.32"
15
- inkscape:version="0.45.1"
16
- sodipodi:docbase="/home/hongli/Projects/mod_rails/doc/images"
17
- sodipodi:docname="spawn_server_architecture.svg"
18
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
19
- version="1.0"
20
- inkscape:export-filename="/home/hongli/Projects/mod_rails/doc/images/spawn_server_architecture.png"
21
- inkscape:export-xdpi="75"
22
- inkscape:export-ydpi="75">
23
- <defs
24
- id="defs2223">
25
- <marker
26
- inkscape:stockid="Arrow1Mend"
27
- orient="auto"
28
- refY="0"
29
- refX="0"
30
- id="Arrow1Mend"
31
- style="overflow:visible">
32
- <path
33
- id="path3383"
34
- d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
35
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
36
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
37
- </marker>
38
- <filter
39
- inkscape:collect="always"
40
- x="-0.082779072"
41
- width="1.1655581"
42
- y="-0.26366666"
43
- height="1.5273333"
44
- id="filter3525">
45
- <feGaussianBlur
46
- inkscape:collect="always"
47
- stdDeviation="6.6568168"
48
- id="feGaussianBlur3527" />
49
- </filter>
50
- <filter
51
- inkscape:collect="always"
52
- x="-0.092173912"
53
- width="1.1843477"
54
- y="-0.32896551"
55
- height="1.657931"
56
- id="filter3712">
57
- <feGaussianBlur
58
- inkscape:collect="always"
59
- stdDeviation="7.95"
60
- id="feGaussianBlur3714" />
61
- </filter>
62
- <filter
63
- inkscape:collect="always"
64
- x="-0.09589655"
65
- width="1.1917931"
66
- y="-0.18365094"
67
- height="1.3673019"
68
- id="filter3736">
69
- <feGaussianBlur
70
- inkscape:collect="always"
71
- stdDeviation="8.11125"
72
- id="feGaussianBlur3738" />
73
- </filter>
74
- <filter
75
- inkscape:collect="always"
76
- x="-0.10273296"
77
- width="1.2054659"
78
- y="-0.16289188"
79
- height="1.3257838"
80
- id="filter3914">
81
- <feGaussianBlur
82
- inkscape:collect="always"
83
- stdDeviation="7.5337496"
84
- id="feGaussianBlur3916" />
85
- </filter>
86
- </defs>
87
- <sodipodi:namedview
88
- id="base"
89
- pagecolor="#ffffff"
90
- bordercolor="#666666"
91
- borderopacity="1.0"
92
- gridtolerance="10000"
93
- guidetolerance="10"
94
- objecttolerance="10"
95
- inkscape:pageopacity="1"
96
- inkscape:pageshadow="2"
97
- inkscape:zoom="0.5"
98
- inkscape:cx="479.58579"
99
- inkscape:cy="360.50411"
100
- inkscape:document-units="px"
101
- inkscape:current-layer="layer1"
102
- inkscape:window-width="1280"
103
- inkscape:window-height="702"
104
- inkscape:window-x="0"
105
- inkscape:window-y="72"
106
- width="710px"
107
- height="620px" />
108
- <metadata
109
- id="metadata2226">
110
- <rdf:RDF>
111
- <cc:Work
112
- rdf:about="">
113
- <dc:format>image/svg+xml</dc:format>
114
- <dc:type
115
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
116
- </cc:Work>
117
- </rdf:RDF>
118
- </metadata>
119
- <g
120
- inkscape:label="Layer 1"
121
- inkscape:groupmode="layer"
122
- id="layer1"
123
- transform="translate(-21,-18.065673)">
124
- <rect
125
- ry="20"
126
- rx="20"
127
- y="170.96146"
128
- x="83.119843"
129
- height="111"
130
- width="175.99998"
131
- id="rect3920"
132
- style="opacity:0.69499972;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3914)"
133
- transform="matrix(1.0472346,0,0,1.0472346,362.21935,-21.403918)" />
134
- <rect
135
- ry="20"
136
- rx="20"
137
- y="170.96146"
138
- x="83.119843"
139
- height="111"
140
- width="175.99998"
141
- id="rect3918"
142
- style="opacity:0.69499972;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3914)"
143
- transform="matrix(1.0472346,0,0,1.0472346,171.30052,-24.232345)" />
144
- <rect
145
- ry="20"
146
- rx="20"
147
- y="170.96146"
148
- x="83.119843"
149
- height="111"
150
- width="175.99998"
151
- id="rect3786"
152
- style="opacity:0.69499972;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3914)"
153
- transform="matrix(1.0472346,0,0,1.0472346,-21.825625,-23.025037)" />
154
- <path
155
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
156
- d="M 347,92.36218 L 347,155.36218"
157
- id="path3361" />
158
- <path
159
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
160
- d="M 153,157.36218 L 153,122.36218 L 542,122.36218 L 542,163.36218"
161
- id="path3363" />
162
- <g
163
- id="g3529"
164
- transform="translate(-97.7222,-78.29651)">
165
- <rect
166
- transform="matrix(0.9504893,0,0,0.9504893,23.279218,5.1572528)"
167
- style="opacity:0.76999996;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3525)"
168
- id="rect3523"
169
- width="193"
170
- height="60.593021"
171
- x="349"
172
- y="124.36218"
173
- rx="22.44186"
174
- ry="22.44186" />
175
- <g
176
- transform="translate(41,31)"
177
- id="g3516">
178
- <rect
179
- style="opacity:1;fill:#baf94d;fill-opacity:1;stroke:#8adf27;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
180
- id="rect3514"
181
- width="172"
182
- height="54"
183
- x="317"
184
- y="87.362183"
185
- rx="20"
186
- ry="20" />
187
- <text
188
- xml:space="preserve"
189
- style="font-size:19.99363899px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
190
- x="335.47308"
191
- y="121.29496"
192
- id="text2170"><tspan
193
- sodipodi:role="line"
194
- id="tspan2172"
195
- x="335.47308"
196
- y="121.29496">Spawn server</tspan></text>
197
- </g>
198
- </g>
199
- <g
200
- id="g3231"
201
- transform="translate(-30,-20)">
202
- <rect
203
- ry="20"
204
- rx="20"
205
- y="172.36218"
206
- x="92.999977"
207
- height="111"
208
- width="175.99998"
209
- id="rect2237"
210
- style="opacity:1;fill:#a8e6ff;fill-opacity:1;stroke:#16a0e2;stroke-width:3.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
211
- <text
212
- sodipodi:linespacing="110%"
213
- id="text3208"
214
- y="197.96495"
215
- x="182.53461"
216
- style="font-size:16.74194145px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
217
- xml:space="preserve"><tspan
218
- y="197.96495"
219
- x="182.53461"
220
- id="tspan3210"
221
- sodipodi:role="line">Frame<tspan
222
- id="tspan3216"
223
- style="font-size:16.74194145px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans">work</tspan></tspan><tspan
224
- style="font-size:16.74194145px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans"
225
- id="tspan3212"
226
- y="216.38109"
227
- x="182.53461"
228
- sodipodi:role="line">spawner server</tspan></text>
229
- <g
230
- transform="translate(-30,11)"
231
- id="g3226">
232
- <rect
233
- style="opacity:1;fill:#d8f4ff;fill-opacity:1;stroke:#5fbfe9;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
234
- id="rect3224"
235
- width="118"
236
- height="39"
237
- x="151"
238
- y="218.36218"
239
- rx="20"
240
- ry="20" />
241
- <text
242
- xml:space="preserve"
243
- style="font-size:16.16865349px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
244
- x="169.59087"
245
- y="243.52939"
246
- id="text3220"><tspan
247
- sodipodi:role="line"
248
- id="tspan3222"
249
- x="169.59087"
250
- y="243.52939">Rails 1.2.1</tspan></text>
251
- </g>
252
- </g>
253
- <g
254
- id="g3242"
255
- transform="translate(164.00003,-20.5)">
256
- <rect
257
- ry="20"
258
- rx="20"
259
- y="172.36218"
260
- x="92.999977"
261
- height="111"
262
- width="175.99998"
263
- id="rect3244"
264
- style="opacity:1;fill:#a8e6ff;fill-opacity:1;stroke:#16a0e2;stroke-width:3.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
265
- <text
266
- sodipodi:linespacing="110%"
267
- id="text3246"
268
- y="197.96495"
269
- x="182.53461"
270
- style="font-size:16.74194145px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
271
- xml:space="preserve"><tspan
272
- y="197.96495"
273
- x="182.53461"
274
- id="tspan3248"
275
- sodipodi:role="line">Frame<tspan
276
- id="tspan3250"
277
- style="font-size:16.74194145px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans">work</tspan></tspan><tspan
278
- style="font-size:16.74194145px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans"
279
- id="tspan3252"
280
- y="216.38109"
281
- x="182.53461"
282
- sodipodi:role="line">spawner server</tspan></text>
283
- <g
284
- transform="translate(-30,11)"
285
- id="g3254">
286
- <rect
287
- style="opacity:1;fill:#d8f4ff;fill-opacity:1;stroke:#5fbfe9;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
288
- id="rect3256"
289
- width="118"
290
- height="39"
291
- x="151"
292
- y="218.36218"
293
- rx="20"
294
- ry="20" />
295
- <text
296
- xml:space="preserve"
297
- style="font-size:16.16865349px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
298
- x="167.59087"
299
- y="243.52939"
300
- id="text3258"><tspan
301
- sodipodi:role="line"
302
- id="tspan3260"
303
- x="167.59087"
304
- y="243.52939">Rails 1.2.6</tspan></text>
305
- </g>
306
- </g>
307
- <g
308
- id="g3262"
309
- transform="translate(357.00003,-19.5)">
310
- <rect
311
- ry="20"
312
- rx="20"
313
- y="172.36218"
314
- x="92.999977"
315
- height="111"
316
- width="175.99998"
317
- id="rect3264"
318
- style="opacity:1;fill:#a8e6ff;fill-opacity:1;stroke:#16a0e2;stroke-width:3.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
319
- <text
320
- sodipodi:linespacing="110%"
321
- id="text3266"
322
- y="197.96495"
323
- x="182.53461"
324
- style="font-size:16.74194145px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
325
- xml:space="preserve"><tspan
326
- y="197.96495"
327
- x="182.53461"
328
- id="tspan3268"
329
- sodipodi:role="line">Frame<tspan
330
- id="tspan3270"
331
- style="font-size:16.74194145px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans">work</tspan></tspan><tspan
332
- style="font-size:16.74194145px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans"
333
- id="tspan3272"
334
- y="216.38109"
335
- x="182.53461"
336
- sodipodi:role="line">spawner server</tspan></text>
337
- <g
338
- transform="translate(-30,11)"
339
- id="g3274">
340
- <rect
341
- style="opacity:1;fill:#d8f4ff;fill-opacity:1;stroke:#5fbfe9;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
342
- id="rect3276"
343
- width="118"
344
- height="39"
345
- x="151"
346
- y="218.36218"
347
- rx="20"
348
- ry="20" />
349
- <text
350
- xml:space="preserve"
351
- style="font-size:16.16865349px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
352
- x="168.59087"
353
- y="243.52939"
354
- id="text3278"><tspan
355
- sodipodi:role="line"
356
- id="tspan3280"
357
- x="168.59087"
358
- y="243.52939">Rails 2.0.0</tspan></text>
359
- </g>
360
- </g>
361
- <g
362
- id="g3744"
363
- transform="translate(-8,-10)">
364
- <rect
365
- transform="matrix(1.0308114,0,0,1.0308114,-1.8024677,-5.7811198)"
366
- ry="20"
367
- rx="20"
368
- y="382.36218"
369
- x="58.5"
370
- height="106"
371
- width="203"
372
- id="rect3724"
373
- style="opacity:0.7;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3736)" />
374
- <g
375
- id="g3726">
376
- <rect
377
- style="fill:#f3a8ff;fill-opacity:1;stroke:#c75cf1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
378
- id="rect3282"
379
- width="203"
380
- height="106"
381
- x="55"
382
- y="381.36218"
383
- rx="20"
384
- ry="20" />
385
- <text
386
- xml:space="preserve"
387
- style="font-size:17.20755196px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
388
- x="155.86142"
389
- y="408.3187"
390
- id="text3284"
391
- sodipodi:linespacing="110%"><tspan
392
- sodipodi:role="line"
393
- id="tspan3286"
394
- x="155.86142"
395
- y="408.3187">Applicatio<tspan
396
- style="font-size:17.20755196px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans"
397
- id="tspan3290">n</tspan></tspan><tspan
398
- sodipodi:role="line"
399
- x="155.86142"
400
- y="427.247"
401
- id="tspan3288"
402
- style="font-size:17.20755196px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans">spawner server</tspan></text>
403
- <rect
404
- style="fill:#f9cdff;fill-opacity:1;stroke:#da7cfc;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
405
- id="rect3296"
406
- width="144"
407
- height="37"
408
- x="85"
409
- y="438.36218"
410
- rx="20"
411
- ry="20" />
412
- <text
413
- xml:space="preserve"
414
- style="font-size:14.84923458px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
415
- x="105"
416
- y="460.52695"
417
- id="text3292"><tspan
418
- sodipodi:role="line"
419
- id="tspan3294"
420
- x="105"
421
- y="460.52695">/webapps/foo</tspan></text>
422
- </g>
423
- </g>
424
- <g
425
- id="g3756"
426
- transform="translate(-8,-10)">
427
- <rect
428
- transform="matrix(1.0308114,0,0,1.0308114,221.07018,-6.414118)"
429
- ry="20"
430
- rx="20"
431
- y="382.36218"
432
- x="58.5"
433
- height="106"
434
- width="203"
435
- id="rect3740"
436
- style="opacity:0.7;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3736)" />
437
- <g
438
- transform="translate(194.5,68)"
439
- id="g3308">
440
- <rect
441
- style="opacity:1;fill:#f3a8ff;fill-opacity:1;stroke:#c75cf1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
442
- id="rect3310"
443
- width="203"
444
- height="106"
445
- x="85"
446
- y="314.36218"
447
- rx="20"
448
- ry="20" />
449
- <text
450
- xml:space="preserve"
451
- style="font-size:17.20755196px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
452
- x="185.86142"
453
- y="341.3187"
454
- id="text3312"
455
- sodipodi:linespacing="110%"><tspan
456
- sodipodi:role="line"
457
- id="tspan3314"
458
- x="185.86142"
459
- y="341.3187">Applicatio<tspan
460
- style="font-size:17.20755196px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans"
461
- id="tspan3316">n</tspan></tspan><tspan
462
- sodipodi:role="line"
463
- x="185.86142"
464
- y="360.247"
465
- id="tspan3318"
466
- style="font-size:17.20755196px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans">spawner server</tspan></text>
467
- <rect
468
- style="opacity:1;fill:#f9cdff;fill-opacity:1;stroke:#da7cfc;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
469
- id="rect3320"
470
- width="144"
471
- height="37"
472
- x="116"
473
- y="371.36218"
474
- rx="20"
475
- ry="20" />
476
- <text
477
- xml:space="preserve"
478
- style="font-size:14.84923458px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
479
- x="138"
480
- y="394.52695"
481
- id="text3322"><tspan
482
- sodipodi:role="line"
483
- id="tspan3324"
484
- x="138"
485
- y="394.52695">/webapps/bar</tspan></text>
486
- </g>
487
- </g>
488
- <g
489
- id="g3768"
490
- transform="translate(-8,-10)">
491
- <rect
492
- transform="matrix(1.0308114,0,0,1.0308114,445.07018,-6.414118)"
493
- ry="20"
494
- rx="20"
495
- y="382.36218"
496
- x="58.5"
497
- height="106"
498
- width="203"
499
- id="rect3742"
500
- style="opacity:0.7;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3736)" />
501
- <g
502
- transform="translate(419.5,67)"
503
- id="g3326">
504
- <rect
505
- style="opacity:1;fill:#f3a8ff;fill-opacity:1;stroke:#c75cf1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
506
- id="rect3328"
507
- width="203"
508
- height="106"
509
- x="85"
510
- y="314.36218"
511
- rx="20"
512
- ry="20" />
513
- <text
514
- xml:space="preserve"
515
- style="font-size:17.20755196px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
516
- x="185.86142"
517
- y="341.3187"
518
- id="text3330"
519
- sodipodi:linespacing="110%"><tspan
520
- sodipodi:role="line"
521
- id="tspan3332"
522
- x="185.86142"
523
- y="341.3187">Applicatio<tspan
524
- style="font-size:17.20755196px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans"
525
- id="tspan3334">n</tspan></tspan><tspan
526
- sodipodi:role="line"
527
- x="185.86142"
528
- y="360.247"
529
- id="tspan3336"
530
- style="font-size:17.20755196px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans">spawner server</tspan></text>
531
- <rect
532
- style="opacity:1;fill:#f9cdff;fill-opacity:1;stroke:#da7cfc;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
533
- id="rect3338"
534
- width="144"
535
- height="37"
536
- x="117"
537
- y="371.36218"
538
- rx="20"
539
- ry="20" />
540
- <text
541
- xml:space="preserve"
542
- style="font-size:14.84923458px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
543
- x="130"
544
- y="394.52695"
545
- id="text3340"><tspan
546
- sodipodi:role="line"
547
- id="tspan3342"
548
- x="130"
549
- y="394.52695">/webapps/blaat</tspan></text>
550
- </g>
551
- </g>
552
- <path
553
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
554
- d="M 150,264.99884 L 150,369.95207"
555
- id="path3365" />
556
- <path
557
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
558
- d="M 150.76777,340.39339 L 609.76777,340.39339 L 609.76777,369.49878"
559
- id="path3367" />
560
- <path
561
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
562
- d="M 377.60661,340.9446 L 377.60661,370.95575"
563
- id="path3369" />
564
- <path
565
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
566
- d="M 347,264.97852 L 347,291.49585"
567
- id="path3569" />
568
- <path
569
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
570
- d="M 543,265.97852 L 543,292.49585"
571
- id="path3571" />
572
- <text
573
- xml:space="preserve"
574
- style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
575
- x="334.5"
576
- y="305.86218"
577
- id="text3573"><tspan
578
- sodipodi:role="line"
579
- id="tspan3575"
580
- x="334.5"
581
- y="305.86218"
582
- style="font-size:22px;font-weight:bold">...</tspan></text>
583
- <text
584
- xml:space="preserve"
585
- style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
586
- x="530.44238"
587
- y="306.4408"
588
- id="text3577"><tspan
589
- sodipodi:role="line"
590
- id="tspan3579"
591
- x="530.44238"
592
- y="306.4408"
593
- style="font-size:22px;font-weight:bold">...</tspan></text>
594
- <g
595
- id="g3613"
596
- transform="translate(-17.474874,7.32233)">
597
- <g
598
- id="g3716">
599
- <rect
600
- transform="matrix(1.0241546,0,0,1.0241546,-5.910628,-15.269618)"
601
- ry="20"
602
- rx="20"
603
- y="549.36218"
604
- x="120.5"
605
- height="58"
606
- width="207"
607
- id="rect3626"
608
- style="opacity:0.725;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3712)" />
609
- <g
610
- transform="translate(-8,-18)"
611
- id="g3620">
612
- <rect
613
- ry="20"
614
- rx="20"
615
- y="559.36218"
616
- x="123"
617
- height="58"
618
- width="207"
619
- id="rect3607"
620
- style="opacity:1;fill:#dfff78;fill-opacity:1;stroke:#a0f100;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
621
- <text
622
- id="text3609"
623
- y="583.99884"
624
- x="226.97289"
625
- style="font-size:15.47034645px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
626
- xml:space="preserve"><tspan
627
- y="583.99884"
628
- x="226.97289"
629
- id="tspan3611"
630
- sodipodi:role="line"
631
- style="text-align:center;text-anchor:middle">Application instance</tspan><tspan
632
- y="603.33677"
633
- x="226.97288"
634
- sodipodi:role="line"
635
- id="tspan3618"
636
- style="text-align:center;text-anchor:middle">(/webapps/foo)</tspan></text>
637
- </g>
638
- </g>
639
- </g>
640
- <path
641
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
642
- d="M 187,479.30153 L 187,543.25102"
643
- id="path3780" />
644
- <text
645
- xml:space="preserve"
646
- style="font-size:14.74678135px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
647
- x="201.85112"
648
- y="517.90051"
649
- id="text3782"><tspan
650
- sodipodi:role="line"
651
- id="tspan3784"
652
- x="201.85112"
653
- y="517.90051">spawns</tspan></text>
654
- </g>
655
- </svg>