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.
- checksums.yaml +4 -4
- data/CHANGELOG +18 -0
- data/Rakefile +20 -17
- data/bin/passenger-install-apache2-module +14 -11
- data/build/agent.rb +45 -18
- data/build/apache2.rb +32 -16
- data/build/basics.rb +29 -40
- data/build/common_library.rb +70 -54
- data/build/cxx_tests.rb +34 -43
- data/build/integration_tests.rb +10 -10
- data/build/misc.rb +6 -6
- data/build/node_tests.rb +1 -2
- data/build/oxt_tests.rb +7 -5
- data/build/packaging.rb +11 -441
- data/build/ruby_extension.rb +1 -1
- data/build/ruby_tests.rb +1 -2
- data/build/support/cplusplus.rb +6 -5
- data/build/support/cxx_dependency_map.rb +357 -833
- data/build/support/general.rb +23 -1
- data/build/test_basics.rb +3 -28
- data/dev/ci/tests/rpm/Jenkinsfile +68 -0
- data/dev/ci/tests/rpm/run +63 -0
- data/dev/ci/tests/source-packaging/run +1 -1
- data/dev/ci/tests/source-packaging/setup +1 -1
- data/doc/{Packaging.txt.md → Packaging.md} +0 -0
- data/resources/templates/apache2/deployment_example.txt.erb +2 -2
- data/resources/templates/apache2/multiple_apache_installations_detected.txt.erb +2 -2
- data/resources/templates/nginx/deployment_example.txt.erb +1 -1
- data/resources/templates/standalone/mass_deployment_default_server.erb +2 -2
- data/resources/templates/standalone/server.erb +2 -2
- data/src/agent/AgentMain.cpp +0 -4
- data/src/agent/Core/CoreMain.cpp +88 -5
- data/src/agent/Core/SpawningKit/Spawner.h +2 -1
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +1109 -0
- data/src/agent/Shared/Fundamentals/AbortHandler.h +63 -0
- data/src/agent/Shared/Fundamentals/Implementation.cpp +7 -0
- data/src/agent/Shared/Fundamentals/Initialization.cpp +614 -0
- data/src/agent/Shared/{Base.h → Fundamentals/Initialization.h} +23 -14
- data/src/agent/Shared/Fundamentals/Utils.cpp +127 -0
- data/src/agent/Shared/Fundamentals/Utils.h +46 -0
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
- data/src/agent/Watchdog/CoreWatcher.cpp +3 -1
- data/src/agent/Watchdog/InstanceDirToucher.cpp +90 -53
- data/src/agent/Watchdog/WatchdogMain.cpp +13 -29
- data/src/apache2_module/Hooks.cpp +4 -1
- data/src/cxx_supportlib/ConfigKit/Store.h +32 -5
- data/src/cxx_supportlib/Constants.h +1 -2
- data/src/cxx_supportlib/Crypto.cpp +2 -1
- data/src/cxx_supportlib/Hooks.h +16 -37
- data/src/cxx_supportlib/LoggingKit/Context.h +22 -0
- data/src/cxx_supportlib/LoggingKit/Forward.h +1 -0
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +106 -22
- data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +106 -0
- data/src/{agent/UstRouter/FileSink.h → cxx_supportlib/ProcessManagement/Ruby.h} +23 -47
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +199 -0
- data/src/cxx_supportlib/ProcessManagement/Spawn.h +150 -0
- data/src/cxx_supportlib/ProcessManagement/Utils.cpp +459 -0
- data/src/cxx_supportlib/ProcessManagement/Utils.h +107 -0
- data/src/cxx_supportlib/Utils.cpp +41 -561
- data/src/cxx_supportlib/Utils.h +0 -68
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +187 -0
- data/src/cxx_supportlib/Utils/ProcessMetricsCollector.h +14 -2
- data/src/cxx_supportlib/WatchdogLauncher.h +2 -12
- data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +4 -0
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +16 -1
- data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +12 -9
- data/src/cxx_supportlib/vendor-modified/libev/ev++.h +4 -4
- data/src/cxx_supportlib/vendor-modified/libev/ev.h +3 -3
- data/src/nginx_module/CacheLocationConfig.c +0 -75
- data/src/nginx_module/CacheLocationConfig.c.cxxcodebuilder +1 -0
- data/src/nginx_module/Configuration.c +0 -1
- data/src/nginx_module/Configuration.h +0 -1
- data/src/nginx_module/ConfigurationCommands.c +1 -1
- data/src/nginx_module/ContentHandler.c +0 -1
- data/src/nginx_module/ContentHandler.h +0 -1
- data/src/nginx_module/CreateLocationConfig.c +0 -5
- data/src/nginx_module/CreateLocationConfig.c.cxxcodebuilder +1 -0
- data/src/nginx_module/LocationConfig.h +0 -4
- data/src/nginx_module/LocationConfig.h.cxxcodebuilder +2 -1
- data/src/nginx_module/MergeLocationConfig.c +0 -12
- data/src/nginx_module/MergeLocationConfig.c.cxxcodebuilder +1 -0
- data/src/nginx_module/ngx_http_passenger_module.h +0 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +20 -11
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +0 -1
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +10 -3
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/constants.rb +0 -1
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +32 -6
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +0 -1
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +2 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +101 -20
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +21 -9
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +34 -31
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +2 -14
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +40 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +15 -14
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +8 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +19 -18
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +6 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +17 -1
- metadata +19 -97
- data/build/documentation.rb +0 -70
- data/doc/CloudLicensingConfiguration.html +0 -172
- data/doc/CloudLicensingConfiguration.txt.md +0 -3
- data/doc/Packaging.html +0 -488
- data/doc/Security of user switching support.idmap.txt +0 -34
- data/doc/Security of user switching support.txt +0 -197
- data/doc/ServerOptimizationGuide.html +0 -172
- data/doc/ServerOptimizationGuide.txt.md +0 -3
- data/doc/images/by_sa.png +0 -0
- data/doc/images/cloud_licensing_batch_job.png +0 -0
- data/doc/images/code_walkthrough.jpg +0 -0
- data/doc/images/direct_spawning.png +0 -0
- data/doc/images/direct_spawning.svg +0 -251
- data/doc/images/glyphicons-halflings-white.png +0 -0
- data/doc/images/glyphicons-halflings.png +0 -0
- data/doc/images/icons/README +0 -5
- data/doc/images/icons/callouts/1.png +0 -0
- data/doc/images/icons/callouts/10.png +0 -0
- data/doc/images/icons/callouts/11.png +0 -0
- data/doc/images/icons/callouts/12.png +0 -0
- data/doc/images/icons/callouts/13.png +0 -0
- data/doc/images/icons/callouts/14.png +0 -0
- data/doc/images/icons/callouts/15.png +0 -0
- data/doc/images/icons/callouts/2.png +0 -0
- data/doc/images/icons/callouts/3.png +0 -0
- data/doc/images/icons/callouts/4.png +0 -0
- data/doc/images/icons/callouts/5.png +0 -0
- data/doc/images/icons/callouts/6.png +0 -0
- data/doc/images/icons/callouts/7.png +0 -0
- data/doc/images/icons/callouts/8.png +0 -0
- data/doc/images/icons/callouts/9.png +0 -0
- data/doc/images/icons/caution.png +0 -0
- data/doc/images/icons/example.png +0 -0
- data/doc/images/icons/home.png +0 -0
- data/doc/images/icons/important.png +0 -0
- data/doc/images/icons/next.png +0 -0
- data/doc/images/icons/note.png +0 -0
- data/doc/images/icons/prev.png +0 -0
- data/doc/images/icons/tip.png +0 -0
- data/doc/images/icons/up.png +0 -0
- data/doc/images/icons/warning.png +0 -0
- data/doc/images/many_web_framework_protocols.png +0 -0
- data/doc/images/passenger_architecture.png +0 -0
- data/doc/images/passenger_architecture.svg +0 -385
- data/doc/images/passenger_architecture_overview.png +0 -0
- data/doc/images/passenger_core_architecture.png +0 -0
- data/doc/images/passenger_nodejs_architecture.svg +0 -558
- data/doc/images/phusion_banner.png +0 -0
- data/doc/images/rack.png +0 -0
- data/doc/images/smart_spawning.png +0 -0
- data/doc/images/smart_spawning.svg +0 -323
- data/doc/images/spawn_server_architecture.png +0 -0
- data/doc/images/spawn_server_architecture.svg +0 -655
- data/doc/images/spawning_preparation_work.png +0 -0
- data/doc/images/startup_sequence.png +0 -0
- data/doc/images/typical_isolated_web_application.png +0 -0
- data/doc/images/typical_isolated_web_application.svg +0 -213
- data/doc/users_guide_snippets/alternative_for_flying_passenger.txt +0 -1
- data/doc/users_guide_snippets/analysis_and_system_maintenance.txt +0 -61
- data/doc/users_guide_snippets/appendix_a_about.txt +0 -13
- data/doc/users_guide_snippets/appendix_b_terminology.txt +0 -71
- data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +0 -36
- data/doc/users_guide_snippets/deployment_basics.txt +0 -37
- data/doc/users_guide_snippets/enterprise_only.txt +0 -1
- data/doc/users_guide_snippets/environment_variables.txt +0 -44
- data/doc/users_guide_snippets/global_queueing_explained.txt +0 -74
- data/doc/users_guide_snippets/installation.txt +0 -228
- data/doc/users_guide_snippets/installation/run_installer.txt +0 -58
- data/doc/users_guide_snippets/installation/verify_running_epilogue.txt +0 -6
- data/doc/users_guide_snippets/passenger_spawn_method.txt +0 -37
- data/doc/users_guide_snippets/rackup_specifications.txt +0 -1
- data/doc/users_guide_snippets/rvm_helper_tool.txt +0 -44
- data/doc/users_guide_snippets/since_version.txt +0 -1
- data/doc/users_guide_snippets/support_information.txt +0 -8
- data/doc/users_guide_snippets/tips.txt +0 -302
- data/doc/users_guide_snippets/troubleshooting/default.txt +0 -48
- data/doc/users_guide_snippets/troubleshooting/rails.txt +0 -59
- data/doc/users_guide_snippets/under_the_hood/page_caching_support.txt +0 -24
- data/doc/users_guide_snippets/under_the_hood/relationship_with_ruby.txt +0 -10
- data/doc/users_guide_snippets/where_to_get_support.txt +0 -9
- data/src/agent/Shared/Base.cpp +0 -1678
- data/src/agent/UstRouter/ApiServer.h +0 -292
- data/src/agent/UstRouter/Client.h +0 -112
- data/src/agent/UstRouter/Controller.h +0 -1309
- data/src/agent/UstRouter/LogSink.h +0 -145
- data/src/agent/UstRouter/OptionParser.h +0 -180
- data/src/agent/UstRouter/RemoteSender.h +0 -853
- data/src/agent/UstRouter/RemoteSink.h +0 -145
- data/src/agent/UstRouter/Transaction.h +0 -278
- data/src/agent/UstRouter/UstRouterMain.cpp +0 -681
- data/src/agent/Watchdog/UstRouterWatcher.cpp +0 -80
- data/src/ruby_supportlib/phusion_passenger/platform_info/macos.rb +0 -45
Binary file
|
data/doc/images/rack.png
DELETED
Binary file
|
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>
|
Binary file
|
@@ -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>
|