neptune 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +39 -0
- data/README +50 -0
- data/bin/neptune +16 -0
- data/doc/AppControllerClient.html +468 -0
- data/doc/CommonFunctions.html +368 -0
- data/doc/LICENSE.html +131 -0
- data/doc/Object.html +431 -0
- data/doc/README.html +135 -0
- data/doc/bin/neptune.html +58 -0
- data/doc/created.rid +7 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +90 -0
- data/doc/js/darkfish.js +116 -0
- data/doc/js/jquery.js +32 -0
- data/doc/js/quicksearch.js +114 -0
- data/doc/js/thickbox-compressed.js +10 -0
- data/doc/lib/app_controller_client_rb.html +60 -0
- data/doc/lib/common_functions_rb.html +68 -0
- data/doc/lib/job_rb.html +55 -0
- data/doc/scripts/appscale/add_appserver_rb.html +52 -0
- data/doc/scripts/appscale/add_database_rb.html +52 -0
- data/doc/scripts/appscale/add_loadbalancer_rb.html +52 -0
- data/doc/scripts/appscale/add_slave_rb.html +52 -0
- data/doc/scripts/cewssa/cewssa-output.html +104 -0
- data/doc/scripts/cewssa/get_cewssa_output_rb.html +52 -0
- data/doc/scripts/cewssa/run_cewssa_rb.html +52 -0
- data/doc/scripts/cewssa/test_dfsp_rb.html +52 -0
- data/doc/scripts/dfsp/get_dfsp_output_rb.html +52 -0
- data/doc/scripts/dfsp/make_output_public_rb.html +52 -0
- data/doc/scripts/dfsp/run_dfsp_rb.html +52 -0
- data/doc/scripts/dfsp/see_acl_rb.html +52 -0
- data/doc/scripts/dfsp/test_dfsp_rb.html +52 -0
- data/doc/scripts/mapreduce/get_mapreduce_output_rb.html +52 -0
- data/doc/scripts/mapreduce/input-10.html +114 -0
- data/doc/scripts/mapreduce/input-30.html +114 -0
- data/doc/scripts/mapreduce/input-7.html +104 -0
- data/doc/scripts/mapreduce/map_rb.html +56 -0
- data/doc/scripts/mapreduce/reduce_rb.html +56 -0
- data/doc/scripts/mapreduce/run_java_mr_rb.html +52 -0
- data/doc/scripts/mapreduce/run_mapreduce_rb.html +52 -0
- data/doc/scripts/mpi/Makefile.html +125 -0
- data/doc/scripts/mpi/get_mpi_output_rb.html +52 -0
- data/doc/scripts/mpi/hw2_c.html +52 -0
- data/doc/scripts/mpi/hw2harness_c.html +52 -0
- data/doc/scripts/mpi/hw2harness_h.html +52 -0
- data/doc/scripts/mpi/run_mpi_cpi_rb.html +52 -0
- data/doc/scripts/mpi/run_mpi_powermethod_rb.html +52 -0
- data/doc/scripts/mpi/test_rb.html +52 -0
- data/doc/scripts/x10/Makefile.html +106 -0
- data/doc/scripts/x10/get_x10_output_rb.html +52 -0
- data/doc/scripts/x10/run_x10_kmeans_rb.html +52 -0
- data/doc/scripts/x10/run_x10_montypi_rb.html +52 -0
- data/doc/scripts/x10/run_x10_nqueens_rb.html +52 -0
- data/doc/scripts/x10/run_x10_powermethod_rb.html +52 -0
- data/doc/scripts/x10/run_x10_qsort_rb.html +52 -0
- data/doc/scripts/x10/test_rb.html +52 -0
- data/lib/app_controller_client.rb +135 -0
- data/lib/common_functions.rb +107 -0
- data/lib/job.rb +161 -0
- metadata +145 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
5
|
+
<head>
|
|
6
|
+
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
|
7
|
+
|
|
8
|
+
<title>Module: CommonFunctions</title>
|
|
9
|
+
|
|
10
|
+
<link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
|
|
11
|
+
|
|
12
|
+
<script src="./js/jquery.js" type="text/javascript"
|
|
13
|
+
charset="utf-8"></script>
|
|
14
|
+
<script src="./js/thickbox-compressed.js" type="text/javascript"
|
|
15
|
+
charset="utf-8"></script>
|
|
16
|
+
<script src="./js/quicksearch.js" type="text/javascript"
|
|
17
|
+
charset="utf-8"></script>
|
|
18
|
+
<script src="./js/darkfish.js" type="text/javascript"
|
|
19
|
+
charset="utf-8"></script>
|
|
20
|
+
|
|
21
|
+
</head>
|
|
22
|
+
<body class="module">
|
|
23
|
+
|
|
24
|
+
<div id="metadata">
|
|
25
|
+
<div id="home-metadata">
|
|
26
|
+
<div id="home-section" class="section">
|
|
27
|
+
<h3 class="section-header">
|
|
28
|
+
<a href="./index.html">Home</a>
|
|
29
|
+
<a href="./index.html#classes">Classes</a>
|
|
30
|
+
<a href="./index.html#methods">Methods</a>
|
|
31
|
+
</h3>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div id="file-metadata">
|
|
36
|
+
<div id="file-list-section" class="section">
|
|
37
|
+
<h3 class="section-header">In Files</h3>
|
|
38
|
+
<div class="section-body">
|
|
39
|
+
<ul>
|
|
40
|
+
|
|
41
|
+
<li><a href="./lib/common_functions_rb.html?TB_iframe=true&height=550&width=785"
|
|
42
|
+
class="thickbox" title="lib/common_functions.rb">lib/common_functions.rb</a></li>
|
|
43
|
+
|
|
44
|
+
</ul>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<div id="class-metadata">
|
|
52
|
+
|
|
53
|
+
<!-- Parent Class -->
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
<!-- Namespace Contents -->
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
<!-- Method Quickref -->
|
|
60
|
+
|
|
61
|
+
<div id="method-list-section" class="section">
|
|
62
|
+
<h3 class="section-header">Methods</h3>
|
|
63
|
+
<ul class="link-list">
|
|
64
|
+
|
|
65
|
+
<li><a href="#method-c-get_from_yaml">::get_from_yaml</a></li>
|
|
66
|
+
|
|
67
|
+
<li><a href="#method-c-get_secret_key">::get_secret_key</a></li>
|
|
68
|
+
|
|
69
|
+
<li><a href="#method-c-scp_file">::scp_file</a></li>
|
|
70
|
+
|
|
71
|
+
<li><a href="#method-c-scp_to_shadow">::scp_to_shadow</a></li>
|
|
72
|
+
|
|
73
|
+
</ul>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
<!-- Included Modules -->
|
|
78
|
+
|
|
79
|
+
</div>
|
|
80
|
+
|
|
81
|
+
<div id="project-metadata">
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
<div id="fileindex-section" class="section project-section">
|
|
85
|
+
<h3 class="section-header">Files</h3>
|
|
86
|
+
<ul>
|
|
87
|
+
|
|
88
|
+
<li class="file"><a href="./LICENSE.html">LICENSE</a></li>
|
|
89
|
+
|
|
90
|
+
<li class="file"><a href="./README.html">README</a></li>
|
|
91
|
+
|
|
92
|
+
</ul>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
<div id="classindex-section" class="section project-section">
|
|
97
|
+
<h3 class="section-header">Class/Module Index
|
|
98
|
+
<span class="search-toggle"><img src="./images/find.png"
|
|
99
|
+
height="16" width="16" alt="[+]"
|
|
100
|
+
title="show/hide quicksearch" /></span></h3>
|
|
101
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
|
102
|
+
<fieldset>
|
|
103
|
+
<legend>Quicksearch</legend>
|
|
104
|
+
<input type="text" name="quicksearch" value=""
|
|
105
|
+
class="quicksearch-field" />
|
|
106
|
+
</fieldset>
|
|
107
|
+
</form>
|
|
108
|
+
|
|
109
|
+
<ul class="link-list">
|
|
110
|
+
|
|
111
|
+
<li><a href="./AppControllerClient.html">AppControllerClient</a></li>
|
|
112
|
+
|
|
113
|
+
<li><a href="./CommonFunctions.html">CommonFunctions</a></li>
|
|
114
|
+
|
|
115
|
+
<li><a href="./Object.html">Object</a></li>
|
|
116
|
+
|
|
117
|
+
</ul>
|
|
118
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
|
|
125
|
+
<div id="documentation">
|
|
126
|
+
<h1 class="module">CommonFunctions</h1>
|
|
127
|
+
|
|
128
|
+
<div id="description">
|
|
129
|
+
|
|
130
|
+
<p>A helper module that aggregates functions that are not part of Neptune’s
|
|
131
|
+
core functionality. Specifically, this module contains methods to scp files
|
|
132
|
+
to other machines and the ability to read YAML files, which are often
|
|
133
|
+
needed to determine which machine should be used for computation or to copy
|
|
134
|
+
over code and input files.</p>
|
|
135
|
+
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
<!-- Constants -->
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
<!-- Attributes -->
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
<!-- Methods -->
|
|
145
|
+
|
|
146
|
+
<div id="public-class-method-details" class="method-section section">
|
|
147
|
+
<h3 class="section-header">Public Class Methods</h3>
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
<div id="get_from_yaml-method" class="method-detail ">
|
|
151
|
+
<a name="method-c-get_from_yaml"></a>
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
<div class="method-heading">
|
|
155
|
+
<span class="method-name">get_from_yaml</span><span
|
|
156
|
+
class="method-args">(keyname, tag, required=true)</span>
|
|
157
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
158
|
+
</div>
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
<div class="method-description">
|
|
162
|
+
|
|
163
|
+
<p>Given the AppScale keyname, reads the associated YAML file and returns the
|
|
164
|
+
contents of the given tag. The required flag (default value is true)
|
|
165
|
+
indicates whether a value must exist for this tag: if set to true, this
|
|
166
|
+
method aborts if the value doesn’t exist or the YAML file is malformed.
|
|
167
|
+
If the required flag is set to false, it returns nil in either scenario
|
|
168
|
+
instead.</p>
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
<div class="method-source-code"
|
|
173
|
+
id="get_from_yaml-source">
|
|
174
|
+
<pre>
|
|
175
|
+
<span class="ruby-comment"># File lib/common_functions.rb, line 79</span>
|
|
176
|
+
def self.get_from_yaml(keyname, tag, required=true)
|
|
177
|
+
location_file = <span class="ruby-constant">File</span>.expand_path("~/.appscale/locations-#{keyname}.yaml")
|
|
178
|
+
|
|
179
|
+
abort("An AppScale instance is not currently running with the provided keyname, \"#{keyname}\".") unless <span class="ruby-constant">File</span>.exists?(location_file)
|
|
180
|
+
|
|
181
|
+
begin
|
|
182
|
+
tree = <span class="ruby-constant">YAML</span>.load_file(location_file)
|
|
183
|
+
rescue <span class="ruby-constant">ArgumentError</span>
|
|
184
|
+
if required
|
|
185
|
+
abort(<span class="ruby-string">"The yaml file you provided was malformed. Please correct any errors in it and try again."</span>)
|
|
186
|
+
else
|
|
187
|
+
return nil
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
value = tree[tag]
|
|
192
|
+
|
|
193
|
+
bad_yaml_format_msg = "The file #{location_file} is in the wrong format and doesn't contain a #{tag} tag. Please make sure the file is in the correct format and try again"
|
|
194
|
+
abort(bad_yaml_format_msg) if value.nil? and required
|
|
195
|
+
return value
|
|
196
|
+
end</pre>
|
|
197
|
+
</div>
|
|
198
|
+
|
|
199
|
+
</div>
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
<div id="get_secret_key-method" class="method-detail ">
|
|
208
|
+
<a name="method-c-get_secret_key"></a>
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
<div class="method-heading">
|
|
212
|
+
<span class="method-name">get_secret_key</span><span
|
|
213
|
+
class="method-args">(keyname, required=true)</span>
|
|
214
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
<div class="method-description">
|
|
219
|
+
|
|
220
|
+
<p>Returns the secret key needed for communication with AppScale’s Shadow
|
|
221
|
+
node. This method is a nice frontend to the <a
|
|
222
|
+
href="CommonFunctions.html#method-c-get_from_yaml">get_from_yaml</a>
|
|
223
|
+
function, as the secret is stored in a YAML file.</p>
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
<div class="method-source-code"
|
|
228
|
+
id="get_secret_key-source">
|
|
229
|
+
<pre>
|
|
230
|
+
<span class="ruby-comment"># File lib/common_functions.rb, line 104</span>
|
|
231
|
+
def self.get_secret_key(keyname, required=true)
|
|
232
|
+
return <span class="ruby-constant">CommonFunctions</span>.get_from_yaml(keyname, :secret)
|
|
233
|
+
end</pre>
|
|
234
|
+
</div>
|
|
235
|
+
|
|
236
|
+
</div>
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
</div>
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
<div id="scp_file-method" class="method-detail ">
|
|
245
|
+
<a name="method-c-scp_file"></a>
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
<div class="method-heading">
|
|
249
|
+
<span class="method-name">scp_file</span><span
|
|
250
|
+
class="method-args">(local_file_loc, remote_file_loc, target_ip, public_key_loc)</span>
|
|
251
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
252
|
+
</div>
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
<div class="method-description">
|
|
256
|
+
|
|
257
|
+
<p>Performs the actual remote copying of files: given the IP address and other
|
|
258
|
+
information from <a
|
|
259
|
+
href="CommonFunctions.html#method-c-scp_to_shadow">scp_to_shadow</a>,
|
|
260
|
+
attempts to use scp to copy the file over. Aborts if the scp fails, which
|
|
261
|
+
can occur if the network is down, if a bad keyname is provided, or if the
|
|
262
|
+
wrong IP is given.</p>
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
<div class="method-source-code"
|
|
267
|
+
id="scp_file-source">
|
|
268
|
+
<pre>
|
|
269
|
+
<span class="ruby-comment"># File lib/common_functions.rb, line 37</span>
|
|
270
|
+
def self.scp_file(local_file_loc, remote_file_loc, target_ip, public_key_loc)
|
|
271
|
+
cmd = <span class="ruby-string">""</span>
|
|
272
|
+
local_file_loc = <span class="ruby-constant">File</span>.expand_path(local_file_loc)
|
|
273
|
+
|
|
274
|
+
if public_key_loc.class == <span class="ruby-constant">Array</span>
|
|
275
|
+
public_key_loc.each { |key|
|
|
276
|
+
key = <span class="ruby-constant">File</span>.expand_path(key)
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
cmd = "scp -i #{public_key_loc.join(' -i ')} -o StrictHostkeyChecking=no 2>&1 #{local_file_loc} root@#{target_ip}:#{remote_file_loc}"
|
|
280
|
+
else
|
|
281
|
+
public_key_loc = <span class="ruby-constant">File</span>.expand_path(public_key_loc)
|
|
282
|
+
cmd = "scp -i #{public_key_loc} -o StrictHostkeyChecking=no 2>&1 #{local_file_loc} root@#{target_ip}:#{remote_file_loc}"
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
cmd << <span class="ruby-string">"; echo $? >> ~/.appscale/retval"</span>
|
|
286
|
+
|
|
287
|
+
retval_loc = <span class="ruby-constant">File</span>.expand_path(<span class="ruby-string">"~/.appscale/retval"</span>)
|
|
288
|
+
<span class="ruby-constant">FileUtils</span>.rm_f(retval_loc)
|
|
289
|
+
|
|
290
|
+
begin
|
|
291
|
+
<span class="ruby-constant">Timeout</span>::timeout(-1) { `#{cmd}` }
|
|
292
|
+
rescue <span class="ruby-constant">Timeout</span>::<span class="ruby-constant">Error</span>
|
|
293
|
+
abort("Remotely copying over files failed. Is the destination machine on and reachable from this computer? We tried the following command:\n\n#{cmd}")
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
loop {
|
|
297
|
+
break if <span class="ruby-constant">File</span>.exists?(retval_loc)
|
|
298
|
+
sleep(5)
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
retval = (<span class="ruby-constant">File</span>.open(retval_loc) { |f| f.read }).chomp
|
|
302
|
+
abort("\n\n[#{cmd}] returned #{retval} instead of 0 as expected. Is your environment set up properly?") if retval != <span class="ruby-string">"0"</span>
|
|
303
|
+
return cmd
|
|
304
|
+
end</pre>
|
|
305
|
+
</div>
|
|
306
|
+
|
|
307
|
+
</div>
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
</div>
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
<div id="scp_to_shadow-method" class="method-detail ">
|
|
316
|
+
<a name="method-c-scp_to_shadow"></a>
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
<div class="method-heading">
|
|
320
|
+
<span class="method-name">scp_to_shadow</span><span
|
|
321
|
+
class="method-args">(local_file_loc, remote_file_loc, keyname)</span>
|
|
322
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
323
|
+
</div>
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
<div class="method-description">
|
|
327
|
+
|
|
328
|
+
<p>Copies a file to the Shadow node (head node) within AppScale. The caller
|
|
329
|
+
specifies the local file location, the destination where the file should be
|
|
330
|
+
placed, and the name of the key to use. The keyname is typically specified
|
|
331
|
+
by the Neptune job given, but defaults to ”appscale” if not provided.</p>
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
<div class="method-source-code"
|
|
336
|
+
id="scp_to_shadow-source">
|
|
337
|
+
<pre>
|
|
338
|
+
<span class="ruby-comment"># File lib/common_functions.rb, line 25</span>
|
|
339
|
+
def self.scp_to_shadow(local_file_loc, remote_file_loc, keyname)
|
|
340
|
+
shadow_ip = <span class="ruby-constant">CommonFunctions</span>.get_from_yaml(keyname, :shadow)
|
|
341
|
+
ssh_key = <span class="ruby-constant">File</span>.expand_path("~/.appscale/#{keyname}.key")
|
|
342
|
+
|
|
343
|
+
self.scp_file(local_file_loc, remote_file_loc, shadow_ip, ssh_key)
|
|
344
|
+
end</pre>
|
|
345
|
+
</div>
|
|
346
|
+
|
|
347
|
+
</div>
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
</div>
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
</div>
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
</div>
|
|
359
|
+
|
|
360
|
+
<div id="validator-badges">
|
|
361
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
362
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
|
363
|
+
Rdoc Generator</a> 2</small>.</p>
|
|
364
|
+
</div>
|
|
365
|
+
|
|
366
|
+
</body>
|
|
367
|
+
</html>
|
|
368
|
+
|
data/doc/LICENSE.html
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
4
|
+
|
|
5
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
6
|
+
<head>
|
|
7
|
+
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
|
8
|
+
|
|
9
|
+
<title>File: LICENSE [RDoc Documentation]</title>
|
|
10
|
+
|
|
11
|
+
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet" />
|
|
12
|
+
|
|
13
|
+
<script src="./js/jquery.js" type="text/javascript"
|
|
14
|
+
charset="utf-8"></script>
|
|
15
|
+
<script src="./js/thickbox-compressed.js" type="text/javascript"
|
|
16
|
+
charset="utf-8"></script>
|
|
17
|
+
<script src="./js/quicksearch.js" type="text/javascript"
|
|
18
|
+
charset="utf-8"></script>
|
|
19
|
+
<script src="./js/darkfish.js" type="text/javascript"
|
|
20
|
+
charset="utf-8"></script>
|
|
21
|
+
</head>
|
|
22
|
+
|
|
23
|
+
<body class="file">
|
|
24
|
+
<div id="metadata">
|
|
25
|
+
<div id="home-metadata">
|
|
26
|
+
<div id="home-section" class="section">
|
|
27
|
+
<h3 class="section-header">
|
|
28
|
+
<a href="./index.html">Home</a>
|
|
29
|
+
<a href="./index.html#classes">Classes</a>
|
|
30
|
+
<a href="./index.html#methods">Methods</a>
|
|
31
|
+
</h3>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div id="project-metadata">
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
<div id="fileindex-section" class="section project-section">
|
|
39
|
+
<h3 class="section-header">Files</h3>
|
|
40
|
+
<ul>
|
|
41
|
+
|
|
42
|
+
<li class="file"><a href="./LICENSE.html">LICENSE</a></li>
|
|
43
|
+
|
|
44
|
+
<li class="file"><a href="./README.html">README</a></li>
|
|
45
|
+
|
|
46
|
+
</ul>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
<div id="classindex-section" class="section project-section">
|
|
51
|
+
<h3 class="section-header">Class Index
|
|
52
|
+
<span class="search-toggle"><img src="./images/find.png"
|
|
53
|
+
height="16" width="16" alt="[+]"
|
|
54
|
+
title="show/hide quicksearch" /></span></h3>
|
|
55
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
|
56
|
+
<fieldset>
|
|
57
|
+
<legend>Quicksearch</legend>
|
|
58
|
+
<input type="text" name="quicksearch" value=""
|
|
59
|
+
class="quicksearch-field" />
|
|
60
|
+
</fieldset>
|
|
61
|
+
</form>
|
|
62
|
+
|
|
63
|
+
<ul class="link-list">
|
|
64
|
+
|
|
65
|
+
<li><a href="./AppControllerClient.html">AppControllerClient</a></li>
|
|
66
|
+
|
|
67
|
+
<li><a href="./CommonFunctions.html">CommonFunctions</a></li>
|
|
68
|
+
|
|
69
|
+
<li><a href="./Object.html">Object</a></li>
|
|
70
|
+
|
|
71
|
+
</ul>
|
|
72
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
<div id="documentation">
|
|
80
|
+
|
|
81
|
+
<h1>begin rdoc</h1>
|
|
82
|
+
|
|
83
|
+
<p>Software License Agreement (BSD License)</p>
|
|
84
|
+
|
|
85
|
+
<p>Copyright © 2008, Regents of the University of California All rights
|
|
86
|
+
reserved.</p>
|
|
87
|
+
|
|
88
|
+
<p>Redistribution and use of this software in source and binary forms, with or
|
|
89
|
+
without modification, are permitted provided that the following conditions
|
|
90
|
+
are met:</p>
|
|
91
|
+
<ul><li>
|
|
92
|
+
<p>Redistributions of source code must retain the above copyright notice, this
|
|
93
|
+
list of conditions and the following disclaimer.</p>
|
|
94
|
+
</li><li>
|
|
95
|
+
<p>Redistributions in binary form must reproduce the above copyright notice,
|
|
96
|
+
this list of conditions and the following disclaimer in the documentation
|
|
97
|
+
and/or other materials provided with the distribution.</p>
|
|
98
|
+
</li></ul>
|
|
99
|
+
|
|
100
|
+
<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS
|
|
101
|
+
IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
102
|
+
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
103
|
+
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
104
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
105
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
106
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
107
|
+
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
108
|
+
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
109
|
+
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
110
|
+
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. USERS OF THIS SOFTWARE
|
|
111
|
+
ACKNOWLEDGE THE POSSIBLE PRESENCE OF OTHER OPEN SOURCE LICENSED MATERIAL,
|
|
112
|
+
COPYRIGHTED MATERIAL OR PATENTED MATERIAL IN THIS SOFTWARE, AND IF ANY SUCH
|
|
113
|
+
MATERIAL IS DISCOVERED THE PARTY DISCOVERING IT MAY INFORM DR. CHANDRA
|
|
114
|
+
KRINTZ AT THE UNIVERSITY OF CALIFORNIA, SANTA BARBARA WHO WILL THEN
|
|
115
|
+
ASCERTAIN THE MOST APPROPRIATE REMEDY, WHICH IN THE REGENTS’ DISCRETION
|
|
116
|
+
MAY INCLUDE, WITHOUT LIMITATION, REPLACEMENT OF THE CODE SO IDENTIFIED,
|
|
117
|
+
LICENSING OF THE CODE SO IDENTIFIED, OR WITHDRAWAL OF THE CODE CAPABILITY
|
|
118
|
+
TO THE EXTENT NEEDED TO COMPLY WITH ANY SUCH LICENSES OR RIGHTS.</p>
|
|
119
|
+
|
|
120
|
+
<h1>end</h1>
|
|
121
|
+
|
|
122
|
+
</div>
|
|
123
|
+
|
|
124
|
+
<div id="validator-badges">
|
|
125
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
126
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
|
127
|
+
Rdoc Generator</a> 2</small>.</p>
|
|
128
|
+
</div>
|
|
129
|
+
</body>
|
|
130
|
+
</html>
|
|
131
|
+
|