trimurti 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/trimurti-0.1/docs/classes/Array.html +176 -0
- data/trimurti-0.1/docs/classes/Array.src/M000005.html +19 -0
- data/trimurti-0.1/docs/classes/Array.src/M000006.html +19 -0
- data/trimurti-0.1/docs/classes/Asserter.html +136 -0
- data/trimurti-0.1/docs/classes/Brahma.html +360 -0
- data/trimurti-0.1/docs/classes/Brahma.src/M000029.html +21 -0
- data/trimurti-0.1/docs/classes/Brahma.src/M000030.html +20 -0
- data/trimurti-0.1/docs/classes/Brahma.src/M000031.html +36 -0
- data/trimurti-0.1/docs/classes/Brahma.src/M000032.html +18 -0
- data/trimurti-0.1/docs/classes/Brahma.src/M000033.html +20 -0
- data/trimurti-0.1/docs/classes/Brahma.src/M000034.html +21 -0
- data/trimurti-0.1/docs/classes/Brahma.src/M000035.html +25 -0
- data/trimurti-0.1/docs/classes/Brahma.src/M000036.html +22 -0
- data/trimurti-0.1/docs/classes/Brahma.src/M000037.html +22 -0
- data/trimurti-0.1/docs/classes/ComponentSpec.html +275 -0
- data/trimurti-0.1/docs/classes/ComponentSpec.src/M000001.html +21 -0
- data/trimurti-0.1/docs/classes/ComponentSpec.src/M000002.html +18 -0
- data/trimurti-0.1/docs/classes/DRb.html +165 -0
- data/trimurti-0.1/docs/classes/DRb.src/M000062.html +18 -0
- data/trimurti-0.1/docs/classes/DRb.src/M000063.html +18 -0
- data/trimurti-0.1/docs/classes/GUID.html +129 -0
- data/trimurti-0.1/docs/classes/Linda.html +444 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000007.html +16 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000008.html +16 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000009.html +20 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000010.html +16 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000011.html +18 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000012.html +21 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000013.html +18 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000014.html +18 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000015.html +18 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000016.html +18 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000017.html +20 -0
- data/trimurti-0.1/docs/classes/Linda.src/M000018.html +20 -0
- data/trimurti-0.1/docs/classes/Object.html +153 -0
- data/trimurti-0.1/docs/classes/Object.src/M000021.html +18 -0
- data/trimurti-0.1/docs/classes/Plugins.html +174 -0
- data/trimurti-0.1/docs/classes/Plugins.src/M000024.html +32 -0
- data/trimurti-0.1/docs/classes/Plugins.src/M000025.html +32 -0
- data/trimurti-0.1/docs/classes/Plugins/Spec.html +267 -0
- data/trimurti-0.1/docs/classes/Plugins/Spec.src/M000026.html +22 -0
- data/trimurti-0.1/docs/classes/Plugins/Spec.src/M000027.html +18 -0
- data/trimurti-0.1/docs/classes/Plugins/Spec.src/M000028.html +20 -0
- data/trimurti-0.1/docs/classes/QBE_ID.html +147 -0
- data/trimurti-0.1/docs/classes/QBE_ID.src/M000059.html +18 -0
- data/trimurti-0.1/docs/classes/QueryByExample.html +270 -0
- data/trimurti-0.1/docs/classes/QueryByExample.src/M000054.html +17 -0
- data/trimurti-0.1/docs/classes/QueryByExample.src/M000055.html +17 -0
- data/trimurti-0.1/docs/classes/QueryByExample.src/M000056.html +17 -0
- data/trimurti-0.1/docs/classes/QueryByExample.src/M000057.html +17 -0
- data/trimurti-0.1/docs/classes/QueryByExample.src/M000058.html +17 -0
- data/trimurti-0.1/docs/classes/Shiva.html +159 -0
- data/trimurti-0.1/docs/classes/Shiva.src/M000060.html +18 -0
- data/trimurti-0.1/docs/classes/Shiva.src/M000061.html +19 -0
- data/trimurti-0.1/docs/classes/String.html +176 -0
- data/trimurti-0.1/docs/classes/String.src/M000022.html +16 -0
- data/trimurti-0.1/docs/classes/String.src/M000023.html +16 -0
- data/trimurti-0.1/docs/classes/Symbol.html +176 -0
- data/trimurti-0.1/docs/classes/Symbol.src/M000003.html +16 -0
- data/trimurti-0.1/docs/classes/Symbol.src/M000004.html +16 -0
- data/trimurti-0.1/docs/classes/Trimurti.html +189 -0
- data/trimurti-0.1/docs/classes/Trimurti.src/M000019.html +16 -0
- data/trimurti-0.1/docs/classes/Trimurti.src/M000020.html +16 -0
- data/trimurti-0.1/docs/classes/Vishnu.html +563 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000038.html +18 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000039.html +18 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000040.html +18 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000041.html +22 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000042.html +23 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000043.html +24 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000044.html +24 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000045.html +18 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000046.html +22 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000047.html +20 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000048.html +18 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000049.html +22 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000050.html +20 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000051.html +19 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000052.html +30 -0
- data/trimurti-0.1/docs/classes/Vishnu.src/M000053.html +21 -0
- data/trimurti-0.1/docs/created.rid +1 -0
- data/trimurti-0.1/docs/dot/f_0.dot +14 -0
- data/trimurti-0.1/docs/dot/f_0.png +0 -0
- data/trimurti-0.1/docs/dot/f_1.dot +14 -0
- data/trimurti-0.1/docs/dot/f_1.png +0 -0
- data/trimurti-0.1/docs/dot/f_2.dot +14 -0
- data/trimurti-0.1/docs/dot/f_2.png +0 -0
- data/trimurti-0.1/docs/dot/f_3.dot +39 -0
- data/trimurti-0.1/docs/dot/f_3.png +0 -0
- data/trimurti-0.1/docs/dot/f_4.dot +39 -0
- data/trimurti-0.1/docs/dot/f_4.png +0 -0
- data/trimurti-0.1/docs/dot/f_5.dot +69 -0
- data/trimurti-0.1/docs/dot/f_5.png +0 -0
- data/trimurti-0.1/docs/dot/f_6.dot +149 -0
- data/trimurti-0.1/docs/dot/f_6.png +0 -0
- data/trimurti-0.1/docs/dot/m_3_0.dot +30 -0
- data/trimurti-0.1/docs/dot/m_3_0.png +0 -0
- data/trimurti-0.1/docs/dot/m_4_0.dot +39 -0
- data/trimurti-0.1/docs/dot/m_4_0.png +0 -0
- data/trimurti-0.1/docs/dot/m_5_0.dot +40 -0
- data/trimurti-0.1/docs/dot/m_5_0.png +0 -0
- data/trimurti-0.1/docs/dot/m_5_1.dot +30 -0
- data/trimurti-0.1/docs/dot/m_5_1.png +0 -0
- data/trimurti-0.1/docs/dot/m_6_0.dot +40 -0
- data/trimurti-0.1/docs/dot/m_6_0.png +0 -0
- data/trimurti-0.1/docs/dot/m_6_1.dot +30 -0
- data/trimurti-0.1/docs/dot/m_6_1.png +0 -0
- data/trimurti-0.1/docs/dot/m_6_2.dot +30 -0
- data/trimurti-0.1/docs/dot/m_6_2.png +0 -0
- data/trimurti-0.1/docs/files/License_txt.html +132 -0
- data/trimurti-0.1/docs/files/ReadMe_Amber_txt.html +491 -0
- data/trimurti-0.1/docs/files/ReadMe_txt.html +694 -0
- data/trimurti-0.1/docs/files/nist/trimurti/linda_rb.html +129 -0
- data/trimurti-0.1/docs/files/nist/trimurti/plugins_rb.html +129 -0
- data/trimurti-0.1/docs/files/nist/trimurti/queryByExample_rb.html +128 -0
- data/trimurti-0.1/docs/files/nist/trimurti/trimurti_rb.html +151 -0
- data/trimurti-0.1/docs/fr_class_index.html +43 -0
- data/trimurti-0.1/docs/fr_file_index.html +33 -0
- data/trimurti-0.1/docs/fr_method_index.html +89 -0
- data/trimurti-0.1/docs/images/overview.jpg +0 -0
- data/trimurti-0.1/docs/index.html +24 -0
- data/trimurti-0.1/docs/rdoc-style.css +208 -0
- data/trimurti-0.1/lib/nist/trimurti/linda.rb +163 -0
- data/trimurti-0.1/lib/nist/trimurti/plugins.rb +107 -0
- data/trimurti-0.1/lib/nist/trimurti/queryByExample.rb +81 -0
- data/trimurti-0.1/lib/nist/trimurti/trimurti.rb +433 -0
- data/trimurti-0.1/tests/test_linda.rb +111 -0
- data/trimurti-0.1/tests/test_trimurti.rb +247 -0
- metadata +241 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
3
|
+
<!DOCTYPE html
|
|
4
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
5
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
|
|
9
|
+
Classes
|
|
10
|
+
|
|
11
|
+
-->
|
|
12
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
13
|
+
<head>
|
|
14
|
+
<title>Classes</title>
|
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
16
|
+
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
|
17
|
+
<base target="docwin" />
|
|
18
|
+
</head>
|
|
19
|
+
<body>
|
|
20
|
+
<div id="index">
|
|
21
|
+
<h1 class="section-bar">Classes</h1>
|
|
22
|
+
<div id="index-entries">
|
|
23
|
+
<a href="classes/Array.html">Array</a><br />
|
|
24
|
+
<a href="classes/Asserter.html">Asserter</a><br />
|
|
25
|
+
<a href="classes/Brahma.html">Brahma</a><br />
|
|
26
|
+
<a href="classes/ComponentSpec.html">ComponentSpec</a><br />
|
|
27
|
+
<a href="classes/DRb.html">DRb</a><br />
|
|
28
|
+
<a href="classes/GUID.html">GUID</a><br />
|
|
29
|
+
<a href="classes/Linda.html">Linda</a><br />
|
|
30
|
+
<a href="classes/Object.html">Object</a><br />
|
|
31
|
+
<a href="classes/Plugins.html">Plugins</a><br />
|
|
32
|
+
<a href="classes/Plugins/Spec.html">Plugins::Spec</a><br />
|
|
33
|
+
<a href="classes/QBE_ID.html">QBE_ID</a><br />
|
|
34
|
+
<a href="classes/QueryByExample.html">QueryByExample</a><br />
|
|
35
|
+
<a href="classes/Shiva.html">Shiva</a><br />
|
|
36
|
+
<a href="classes/String.html">String</a><br />
|
|
37
|
+
<a href="classes/Symbol.html">Symbol</a><br />
|
|
38
|
+
<a href="classes/Trimurti.html">Trimurti</a><br />
|
|
39
|
+
<a href="classes/Vishnu.html">Vishnu</a><br />
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</body>
|
|
43
|
+
</html>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
|
|
2
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
3
|
+
<!DOCTYPE html
|
|
4
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
5
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
|
|
9
|
+
Files
|
|
10
|
+
|
|
11
|
+
-->
|
|
12
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
13
|
+
<head>
|
|
14
|
+
<title>Files</title>
|
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
16
|
+
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
|
17
|
+
<base target="docwin" />
|
|
18
|
+
</head>
|
|
19
|
+
<body>
|
|
20
|
+
<div id="index">
|
|
21
|
+
<h1 class="section-bar">Files</h1>
|
|
22
|
+
<div id="index-entries">
|
|
23
|
+
<a href="files/License_txt.html">License.txt</a><br />
|
|
24
|
+
<a href="files/ReadMe_txt.html">ReadMe.txt</a><br />
|
|
25
|
+
<a href="files/ReadMe_Amber_txt.html">ReadMe_Amber.txt</a><br />
|
|
26
|
+
<a href="files/nist/trimurti/linda_rb.html">nist/trimurti/linda.rb</a><br />
|
|
27
|
+
<a href="files/nist/trimurti/plugins_rb.html">nist/trimurti/plugins.rb</a><br />
|
|
28
|
+
<a href="files/nist/trimurti/queryByExample_rb.html">nist/trimurti/queryByExample.rb</a><br />
|
|
29
|
+
<a href="files/nist/trimurti/trimurti_rb.html">nist/trimurti/trimurti.rb</a><br />
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</body>
|
|
33
|
+
</html>
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
|
|
2
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
3
|
+
<!DOCTYPE html
|
|
4
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
5
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
|
|
9
|
+
Methods
|
|
10
|
+
|
|
11
|
+
-->
|
|
12
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
13
|
+
<head>
|
|
14
|
+
<title>Methods</title>
|
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
16
|
+
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
|
17
|
+
<base target="docwin" />
|
|
18
|
+
</head>
|
|
19
|
+
<body>
|
|
20
|
+
<div id="index">
|
|
21
|
+
<h1 class="section-bar">Methods</h1>
|
|
22
|
+
<div id="index-entries">
|
|
23
|
+
<a href="classes/Brahma.html#M000034">_connect (Brahma)</a><br />
|
|
24
|
+
<a href="classes/Vishnu.html#M000053">_create (Vishnu)</a><br />
|
|
25
|
+
<a href="classes/Vishnu.html#M000051">apply (Vishnu)</a><br />
|
|
26
|
+
<a href="classes/Brahma.html#M000033">assemble (Brahma)</a><br />
|
|
27
|
+
<a href="classes/Vishnu.html#M000047">component (Vishnu)</a><br />
|
|
28
|
+
<a href="classes/Vishnu.html#M000046">component_tuple (Vishnu)</a><br />
|
|
29
|
+
<a href="classes/Vishnu.html#M000045">component_tuples (Vishnu)</a><br />
|
|
30
|
+
<a href="classes/Brahma.html#M000031">connect_services (Brahma)</a><br />
|
|
31
|
+
<a href="classes/QueryByExample.html#M000054">create (QueryByExample)</a><br />
|
|
32
|
+
<a href="classes/Brahma.html#M000036">create_component (Brahma)</a><br />
|
|
33
|
+
<a href="classes/Brahma.html#M000037">create_registered_component (Brahma)</a><br />
|
|
34
|
+
<a href="classes/Linda.html#M000007">default_instance (Linda)</a><br />
|
|
35
|
+
<a href="classes/Trimurti.html#M000019">default_instance (Trimurti)</a><br />
|
|
36
|
+
<a href="classes/Trimurti.html#M000020">default_instance= (Trimurti)</a><br />
|
|
37
|
+
<a href="classes/Linda.html#M000008">default_instance= (Linda)</a><br />
|
|
38
|
+
<a href="classes/QueryByExample.html#M000058">delete (QueryByExample)</a><br />
|
|
39
|
+
<a href="classes/Shiva.html#M000061">destroy_components (Shiva)</a><br />
|
|
40
|
+
<a href="classes/QueryByExample.html#M000056">find (QueryByExample)</a><br />
|
|
41
|
+
<a href="classes/Plugins.html#M000024">find_on_load_path (Plugins)</a><br />
|
|
42
|
+
<a href="classes/Brahma.html#M000035">from_yaml (Brahma)</a><br />
|
|
43
|
+
<a href="classes/Linda.html#M000014">get (Linda)</a><br />
|
|
44
|
+
<a href="classes/Linda.html#M000010">gethostname (Linda)</a><br />
|
|
45
|
+
<a href="classes/Vishnu.html#M000039">gethostname (Vishnu)</a><br />
|
|
46
|
+
<a href="classes/Linda.html#M000018">getp (Linda)</a><br />
|
|
47
|
+
<a href="classes/Plugins/Spec.html#M000027">init (Plugins::Spec)</a><br />
|
|
48
|
+
<a href="classes/DRb.html#M000063">join (DRb)</a><br />
|
|
49
|
+
<a href="classes/Vishnu.html#M000052">life_cycle (Vishnu)</a><br />
|
|
50
|
+
<a href="classes/Plugins/Spec.html#M000026">new (Plugins::Spec)</a><br />
|
|
51
|
+
<a href="classes/Linda.html#M000009">new (Linda)</a><br />
|
|
52
|
+
<a href="classes/Vishnu.html#M000038">new (Vishnu)</a><br />
|
|
53
|
+
<a href="classes/Linda.html#M000013">put (Linda)</a><br />
|
|
54
|
+
<a href="classes/Linda.html#M000015">rd (Linda)</a><br />
|
|
55
|
+
<a href="classes/Linda.html#M000016">rd_all (Linda)</a><br />
|
|
56
|
+
<a href="classes/Linda.html#M000017">rdp (Linda)</a><br />
|
|
57
|
+
<a href="classes/Vishnu.html#M000040">register (Vishnu)</a><br />
|
|
58
|
+
<a href="classes/Vishnu.html#M000041">register_component (Vishnu)</a><br />
|
|
59
|
+
<a href="classes/Brahma.html#M000029">register_component_services (Brahma)</a><br />
|
|
60
|
+
<a href="classes/Vishnu.html#M000042">register_service (Vishnu)</a><br />
|
|
61
|
+
<a href="classes/Brahma.html#M000030">register_services (Brahma)</a><br />
|
|
62
|
+
<a href="classes/Plugins.html#M000025">require_plugins (Plugins)</a><br />
|
|
63
|
+
<a href="classes/ComponentSpec.html#M000001">require_source (ComponentSpec)</a><br />
|
|
64
|
+
<a href="classes/QBE_ID.html#M000059">resolve_within (QBE_ID)</a><br />
|
|
65
|
+
<a href="classes/Object.html#M000021">resolve_within (Object)</a><br />
|
|
66
|
+
<a href="classes/QueryByExample.html#M000055">retrieve (QueryByExample)</a><br />
|
|
67
|
+
<a href="classes/DRb.html#M000062">safe_start (DRb)</a><br />
|
|
68
|
+
<a href="classes/Vishnu.html#M000050">service (Vishnu)</a><br />
|
|
69
|
+
<a href="classes/Vishnu.html#M000049">service_tuple (Vishnu)</a><br />
|
|
70
|
+
<a href="classes/Vishnu.html#M000048">service_tuples (Vishnu)</a><br />
|
|
71
|
+
<a href="classes/Vishnu.html#M000043">show_components (Vishnu)</a><br />
|
|
72
|
+
<a href="classes/Vishnu.html#M000044">show_services (Vishnu)</a><br />
|
|
73
|
+
<a href="classes/Brahma.html#M000032">start_components (Brahma)</a><br />
|
|
74
|
+
<a href="classes/Linda.html#M000012">start_server (Linda)</a><br />
|
|
75
|
+
<a href="classes/Shiva.html#M000060">stop_components (Shiva)</a><br />
|
|
76
|
+
<a href="classes/Array.html#M000006">to_component_spec (Array)</a><br />
|
|
77
|
+
<a href="classes/Symbol.html#M000004">to_component_spec (Symbol)</a><br />
|
|
78
|
+
<a href="classes/String.html#M000023">to_component_spec (String)</a><br />
|
|
79
|
+
<a href="classes/Plugins/Spec.html#M000028">to_s (Plugins::Spec)</a><br />
|
|
80
|
+
<a href="classes/Array.html#M000005">to_service_spec (Array)</a><br />
|
|
81
|
+
<a href="classes/String.html#M000022">to_service_spec (String)</a><br />
|
|
82
|
+
<a href="classes/Symbol.html#M000003">to_service_spec (Symbol)</a><br />
|
|
83
|
+
<a href="classes/ComponentSpec.html#M000002">to_yaml_properties (ComponentSpec)</a><br />
|
|
84
|
+
<a href="classes/Linda.html#M000011">tuple_space (Linda)</a><br />
|
|
85
|
+
<a href="classes/QueryByExample.html#M000057">update (QueryByExample)</a><br />
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
</body>
|
|
89
|
+
</html>
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
|
5
|
+
|
|
6
|
+
<!--
|
|
7
|
+
|
|
8
|
+
trimurti
|
|
9
|
+
|
|
10
|
+
-->
|
|
11
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
12
|
+
<head>
|
|
13
|
+
<title>trimurti</title>
|
|
14
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
15
|
+
</head>
|
|
16
|
+
<frameset rows="20%, 80%">
|
|
17
|
+
<frameset cols="25%,35%,45%">
|
|
18
|
+
<frame src="fr_file_index.html" title="Files" name="Files" />
|
|
19
|
+
<frame src="fr_class_index.html" name="Classes" />
|
|
20
|
+
<frame src="fr_method_index.html" name="Methods" />
|
|
21
|
+
</frameset>
|
|
22
|
+
<frame src="files/ReadMe_txt.html" name="docwin" />
|
|
23
|
+
</frameset>
|
|
24
|
+
</html>
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
|
|
2
|
+
body {
|
|
3
|
+
font-family: Verdana,Arial,Helvetica,sans-serif;
|
|
4
|
+
font-size: 90%;
|
|
5
|
+
margin: 0;
|
|
6
|
+
margin-left: 40px;
|
|
7
|
+
padding: 0;
|
|
8
|
+
background: white;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
|
|
12
|
+
h1 { font-size: 150%; }
|
|
13
|
+
h2,h3,h4 { margin-top: 1em; }
|
|
14
|
+
|
|
15
|
+
a { background: #eef; color: #039; text-decoration: none; }
|
|
16
|
+
a:hover { background: #039; color: #eef; }
|
|
17
|
+
|
|
18
|
+
/* Override the base stylesheet's Anchor inside a table cell */
|
|
19
|
+
td > a {
|
|
20
|
+
background: transparent;
|
|
21
|
+
color: #039;
|
|
22
|
+
text-decoration: none;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* and inside a section title */
|
|
26
|
+
.section-title > a {
|
|
27
|
+
background: transparent;
|
|
28
|
+
color: #eee;
|
|
29
|
+
text-decoration: none;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* === Structural elements =================================== */
|
|
33
|
+
|
|
34
|
+
div#index {
|
|
35
|
+
margin: 0;
|
|
36
|
+
margin-left: -40px;
|
|
37
|
+
padding: 0;
|
|
38
|
+
font-size: 90%;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
div#index a {
|
|
43
|
+
margin-left: 0.7em;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
div#index .section-bar {
|
|
47
|
+
margin-left: 0px;
|
|
48
|
+
padding-left: 0.7em;
|
|
49
|
+
background: #ccc;
|
|
50
|
+
font-size: small;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
div#classHeader, div#fileHeader {
|
|
55
|
+
width: auto;
|
|
56
|
+
color: white;
|
|
57
|
+
padding: 0.5em 1.5em 0.5em 1.5em;
|
|
58
|
+
margin: 0;
|
|
59
|
+
margin-left: -40px;
|
|
60
|
+
border-bottom: 3px solid #006;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
div#classHeader a, div#fileHeader a {
|
|
64
|
+
background: inherit;
|
|
65
|
+
color: white;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
div#classHeader td, div#fileHeader td {
|
|
69
|
+
background: inherit;
|
|
70
|
+
color: white;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
div#fileHeader {
|
|
75
|
+
background: #057;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
div#classHeader {
|
|
79
|
+
background: #048;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
.class-name-in-header {
|
|
84
|
+
font-size: 180%;
|
|
85
|
+
font-weight: bold;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
div#bodyContent {
|
|
90
|
+
padding: 0 1.5em 0 1.5em;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
div#description {
|
|
94
|
+
padding: 0.5em 1.5em;
|
|
95
|
+
background: #efefef;
|
|
96
|
+
border: 1px dotted #999;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
div#description h1,h2,h3,h4,h5,h6 {
|
|
100
|
+
color: #125;;
|
|
101
|
+
background: transparent;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
div#validator-badges {
|
|
105
|
+
text-align: center;
|
|
106
|
+
}
|
|
107
|
+
div#validator-badges img { border: 0; }
|
|
108
|
+
|
|
109
|
+
div#copyright {
|
|
110
|
+
color: #333;
|
|
111
|
+
background: #efefef;
|
|
112
|
+
font: 0.75em sans-serif;
|
|
113
|
+
margin-top: 5em;
|
|
114
|
+
margin-bottom: 0;
|
|
115
|
+
padding: 0.5em 2em;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
/* === Classes =================================== */
|
|
120
|
+
|
|
121
|
+
table.header-table {
|
|
122
|
+
color: white;
|
|
123
|
+
font-size: small;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.type-note {
|
|
127
|
+
font-size: small;
|
|
128
|
+
color: #DEDEDE;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.xxsection-bar {
|
|
132
|
+
background: #eee;
|
|
133
|
+
color: #333;
|
|
134
|
+
padding: 3px;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.section-bar {
|
|
138
|
+
color: #333;
|
|
139
|
+
border-bottom: 1px solid #999;
|
|
140
|
+
margin-left: -20px;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
.section-title {
|
|
145
|
+
background: #79a;
|
|
146
|
+
color: #eee;
|
|
147
|
+
padding: 3px;
|
|
148
|
+
margin-top: 2em;
|
|
149
|
+
margin-left: -30px;
|
|
150
|
+
border: 1px solid #999;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.top-aligned-row { vertical-align: top }
|
|
154
|
+
.bottom-aligned-row { vertical-align: bottom }
|
|
155
|
+
|
|
156
|
+
/* --- Context section classes ----------------------- */
|
|
157
|
+
|
|
158
|
+
.context-row { }
|
|
159
|
+
.context-item-name { font-family: monospace; font-weight: bold; color: black; }
|
|
160
|
+
.context-item-value { font-size: small; color: #448; }
|
|
161
|
+
.context-item-desc { color: #333; padding-left: 2em; }
|
|
162
|
+
|
|
163
|
+
/* --- Method classes -------------------------- */
|
|
164
|
+
.method-detail {
|
|
165
|
+
background: #efefef;
|
|
166
|
+
padding: 0;
|
|
167
|
+
margin-top: 0.5em;
|
|
168
|
+
margin-bottom: 1em;
|
|
169
|
+
border: 1px dotted #ccc;
|
|
170
|
+
}
|
|
171
|
+
.method-heading {
|
|
172
|
+
color: black;
|
|
173
|
+
background: #ccc;
|
|
174
|
+
border-bottom: 1px solid #666;
|
|
175
|
+
padding: 0.2em 0.5em 0 0.5em;
|
|
176
|
+
}
|
|
177
|
+
.method-signature { color: black; background: inherit; }
|
|
178
|
+
.method-name { font-weight: bold; }
|
|
179
|
+
.method-args { font-style: italic; }
|
|
180
|
+
.method-description { padding: 0 0.5em 0 0.5em; }
|
|
181
|
+
|
|
182
|
+
/* --- Source code sections -------------------- */
|
|
183
|
+
|
|
184
|
+
a.source-toggle { font-size: 90%; }
|
|
185
|
+
div.method-source-code {
|
|
186
|
+
background: #262626;
|
|
187
|
+
color: #ffdead;
|
|
188
|
+
margin: 1em;
|
|
189
|
+
padding: 0.5em;
|
|
190
|
+
border: 1px dashed #999;
|
|
191
|
+
overflow: hidden;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
div.method-source-code pre { color: #ffdead; overflow: hidden; }
|
|
195
|
+
|
|
196
|
+
/* --- Ruby keyword styles --------------------- */
|
|
197
|
+
|
|
198
|
+
.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
|
|
199
|
+
|
|
200
|
+
.ruby-constant { color: #7fffd4; background: transparent; }
|
|
201
|
+
.ruby-keyword { color: #00ffff; background: transparent; }
|
|
202
|
+
.ruby-ivar { color: #eedd82; background: transparent; }
|
|
203
|
+
.ruby-operator { color: #00ffee; background: transparent; }
|
|
204
|
+
.ruby-identifier { color: #ffdead; background: transparent; }
|
|
205
|
+
.ruby-node { color: #ffa07a; background: transparent; }
|
|
206
|
+
.ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
|
|
207
|
+
.ruby-regexp { color: #ffa07a; background: transparent; }
|
|
208
|
+
.ruby-value { color: #7fffd4; background: transparent; }
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
|
|
2
|
+
# For an overview and an example of use, see ReadMe.txt[link:files/ReadMe_txt.html].
|
|
3
|
+
#
|
|
4
|
+
# Author: A. Griesser
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
require 'drb/drb'
|
|
8
|
+
require 'rinda/ring'
|
|
9
|
+
require 'rinda/tuplespace'
|
|
10
|
+
require 'nist/common/singletonReflection'
|
|
11
|
+
require 'socket'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# Adds a few conveniences to DRb
|
|
15
|
+
module DRb
|
|
16
|
+
# Start the service only if it is not already running.
|
|
17
|
+
def self.safe_start
|
|
18
|
+
start_service unless thread
|
|
19
|
+
end
|
|
20
|
+
# Joining the main thread to server thread prevents
|
|
21
|
+
# server termination at end of main thread.
|
|
22
|
+
def self.join(joinMain=true)
|
|
23
|
+
thread.join if joinMain
|
|
24
|
+
end
|
|
25
|
+
end # DRb
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# Linda is a facade to a local or remote tuple space.
|
|
30
|
+
#
|
|
31
|
+
# Linda wraps Rinda to:
|
|
32
|
+
# * Make it easier to switch between local and distributed Tuple spaces
|
|
33
|
+
# * Look a bit more like the Linda described in "HOW TO WRITE PARALLEL PROGRAMS"
|
|
34
|
+
# by Nicholas Carriero and David Gelernter
|
|
35
|
+
#
|
|
36
|
+
# You can create and use individual instances of Linda, but if you only need one
|
|
37
|
+
# instance you can send its messages directly to the Linda class: they are forwarded
|
|
38
|
+
# on to a default_instance. The default_instance is lazy initialized. You can change
|
|
39
|
+
# its attributes if you want to.
|
|
40
|
+
#
|
|
41
|
+
# Features it would be nice to add:
|
|
42
|
+
# * Ability to use Objects instead of Tuples. The positional access implied
|
|
43
|
+
# by the Tuple model is not very nice.
|
|
44
|
+
# * Live objects, in Gelernter's sense of 'executing code', rather than
|
|
45
|
+
# Rinda's sense of unexpired Tuples.
|
|
46
|
+
class Linda
|
|
47
|
+
|
|
48
|
+
@@default_instance=nil
|
|
49
|
+
def self.default_instance; @@default_instance || @@default_instance=self.new; end
|
|
50
|
+
def self.default_instance=(inst); @@default_instance=inst; end
|
|
51
|
+
|
|
52
|
+
# True if the Rinda::TupleSpace exists in the same Ruby process.
|
|
53
|
+
# False if the TupleSpace exists in a different process or on a different box.
|
|
54
|
+
attr_accessor :is_local
|
|
55
|
+
|
|
56
|
+
# Either a Rinda::TupleSpace, or a proxy (depending on is_local)
|
|
57
|
+
attr_accessor :cached_tuple_space
|
|
58
|
+
|
|
59
|
+
# Number of seconds specified when creating a new Rinda::TupleSpace
|
|
60
|
+
attr_accessor :tuple_space_period
|
|
61
|
+
|
|
62
|
+
# A renewer provided when Tuples are added to TupleSpace
|
|
63
|
+
attr_accessor :renewer
|
|
64
|
+
|
|
65
|
+
def initialize(is_local=true)
|
|
66
|
+
self.is_local=is_local
|
|
67
|
+
self.tuple_space_period=60
|
|
68
|
+
self.renewer=Rinda::SimpleRenewer.new
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def _new_tuple_space
|
|
72
|
+
Rinda::TupleSpace.new(tuple_space_period)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def _init_cached_tuple_space
|
|
76
|
+
return self.cached_tuple_space = _new_tuple_space if is_local
|
|
77
|
+
DRb.safe_start
|
|
78
|
+
self.cached_tuple_space = _remote_tuple_space
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def _remote_tuple_space
|
|
82
|
+
Rinda::RingFinger.primary
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
private :_init_cached_tuple_space, :_new_tuple_space, :_remote_tuple_space
|
|
86
|
+
|
|
87
|
+
# Asks Socket for the name of the computer. Could be cached.
|
|
88
|
+
def gethostname; Socket.gethostname; end
|
|
89
|
+
|
|
90
|
+
# Returns the underlying Rinda::TupleSpace (or a proxy to it, if !is_local)
|
|
91
|
+
def tuple_space
|
|
92
|
+
cached_tuple_space || _init_cached_tuple_space
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Useful only when is_local is false
|
|
96
|
+
# Start up a Rinda TupleSpace accessible on the LAN and from
|
|
97
|
+
# different OS processes. By default the main thread
|
|
98
|
+
# will be joined to the DRb.thread, unless joinMain is false.
|
|
99
|
+
def start_server(joinMain=true )
|
|
100
|
+
DRb.safe_start
|
|
101
|
+
# Create a TupleSpace to hold named services, and start running
|
|
102
|
+
Rinda::RingServer.new(_new_tuple_space)
|
|
103
|
+
DRb.join(joinMain)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# Output a Tuple to TupleSpace.
|
|
107
|
+
# Semantics similar to C-Linda out().
|
|
108
|
+
# Name changed to match the change
|
|
109
|
+
# of in => get (required since 'in'
|
|
110
|
+
# is a Ruby reserved word.)
|
|
111
|
+
def put(*tuple)
|
|
112
|
+
tuple_space.write(tuple, renewer)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Semantics similar to C-Linda in(). 'in' is a reserved word in Ruby.
|
|
116
|
+
# Search for a Tuple that matches the proved template. Use nil for
|
|
117
|
+
# elements you don't care about. Regexp can be used to match String elements.
|
|
118
|
+
# Returns a matching Tuple, which is removed from TupleSpace.
|
|
119
|
+
# If a matching tuple is not avialable, suspends until one is.
|
|
120
|
+
def get(*tuple)
|
|
121
|
+
tuple_space.take(tuple)
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Semantics similar to C-Linda rd().
|
|
125
|
+
# Search for a Tuple that matches the proved template. Use nil for
|
|
126
|
+
# elements you don't care about. Regexp can be used to match String elements.
|
|
127
|
+
# Returns a matching Tuple, which remains in TupleSpace
|
|
128
|
+
# If a matching tuple is not avialable, return nil
|
|
129
|
+
def rd(*tuple)
|
|
130
|
+
tuple_space.read(tuple)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# Search for all Tuples that match the provided template.
|
|
134
|
+
# Returns immediately with an empty Array if there are no matches.
|
|
135
|
+
def rd_all(*tuple)
|
|
136
|
+
tuple_space.read_all(tuple)
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# Semantics similar to C-Linda rdp().
|
|
140
|
+
# Identical to rd, but immediately returns nil if a matching Tuple
|
|
141
|
+
# can't be found (instead of waiting for a match)
|
|
142
|
+
# Differs from C-Linda in returning actual Tuple or nil,
|
|
143
|
+
# instead of a Boolean.
|
|
144
|
+
def rdp(*tuple)
|
|
145
|
+
tuples=rd_all(*tuple)
|
|
146
|
+
return nil if tuples.empty?
|
|
147
|
+
tuples[0]
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
# Semantics similar to C-Linda inp().
|
|
151
|
+
# Identical to get, but immediately returns nil if a matching Tuple
|
|
152
|
+
# can't be found (instead of waiting for a match).
|
|
153
|
+
# Differs from C-Linda in returning actual Tuple or nil,
|
|
154
|
+
# instead of a Boolean.
|
|
155
|
+
def getp(*tuple)
|
|
156
|
+
tuples=rd_all(*tuple)
|
|
157
|
+
return nil if tuples.empty?
|
|
158
|
+
get(*tuple)
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
forward_reflect_except(:default_instance, Linda)
|
|
162
|
+
|
|
163
|
+
end # Linda
|