linda 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e0d21f85711ad7ff91ac04e9e2a19511f50aa523
4
- data.tar.gz: 24c7df040039b124cc46b7ad3366d119138c01e3
3
+ metadata.gz: 222fc25528f372a65dedf1ba623a39bedb5a1611
4
+ data.tar.gz: 122f6d8a6d936b20e4b39f3946c499916c7124e4
5
5
  SHA512:
6
- metadata.gz: 246eace4880e3e1f1ab4a56dba6669bc94ea681fd868b6276b4e33a96e1ac4d7cc43ed99eeffd2841ab0bc372ee5f6d5181dc217d125988f1f7606c36e071ccf
7
- data.tar.gz: 5f18ac034f70d406bfa4814cafac4766962a84aed30aa55ad10ea0eccbc9364152ea0caf8f73e7fcc82b6ffc9f303564cb615ff9cb904b8f0b2e0cb5db16cc6c
6
+ metadata.gz: fa137ac6811892d6ffda280d7c43a821a5daee3d92f57548d065b2efb41c848f032bf5086f3953f9d6f00aabb2037e9aea841e1156dbf4a4929eabc5e012598d
7
+ data.tar.gz: 682893a29a0406d0e5edc61a28f6fc879aa2214b6f2b20f0b78b9af605b1b29812d7f2bb0a8b7498775d4b2d9ef507523326bb5e85650ffbf9da455d55e93094
@@ -1,3 +1,8 @@
1
+ === 0.0.4 2013-05-31
2
+
3
+ * TupleSpace#cancel for remove read/take/watch callback
4
+ * fix tests
5
+
1
6
  === 0.0.3 2013-05-20
2
7
 
3
8
  * add tests
data/README.md CHANGED
@@ -98,6 +98,11 @@ Tuple/TupleSpace Functions
98
98
  - callback Tuples which matches when TupleSpace#write(tuple) is called.
99
99
 
100
100
 
101
+ ### TupleSpace#cancel(callback_id)
102
+
103
+ - remove read/take/watch callback by Callback-ID.
104
+
105
+
101
106
  Test your Linda implementation
102
107
  ------------------------------
103
108
 
@@ -37,24 +37,24 @@ module Linda
37
37
  assert_equal @space.size, 0
38
38
  _tuple1 = nil
39
39
  @space.read [1,2] do |tuple|
40
- _tuple1 = tuple
40
+ _tuple1 = tuple.data
41
41
  end
42
42
  _tuple2 = nil
43
43
  @space.read [1,"a"] do |tuple|
44
- _tuple2 = tuple
44
+ _tuple2 = tuple.data
45
45
  end
46
46
  _tuple3 = nil
47
47
  @space.read [1,2,3] do |tuple|
48
- _tuple3 = tuple
48
+ _tuple3 = tuple.data
49
49
  end
50
50
  @space.write [1,2,3]
51
- assert_equal _tuple1.data, [1,2,3]
51
+ assert_equal _tuple1, [1,2,3]
52
52
  assert_equal _tuple2, nil
53
- assert_equal _tuple3.data, [1,2,3]
53
+ assert_equal _tuple3, [1,2,3]
54
54
  assert_equal @space.read([1]).data, [1,2,3]
55
55
  assert_equal @space.size, 1
56
56
  @space.write [1,2,4]
57
- assert_equal _tuple1.data, [1,2,3]
57
+ assert_equal _tuple1, [1,2,3]
58
58
  assert_equal @space.size, 2
59
59
  end
60
60
 
@@ -82,28 +82,28 @@ module Linda
82
82
  assert_equal @space.size, 0
83
83
  _tuple1 = nil
84
84
  @space.take [1,2] do |tuple|
85
- _tuple1 = tuple
85
+ _tuple1 = tuple.data
86
86
  end
87
87
  _tuple2 = nil
88
88
  @space.take [1,"a"] do |tuple|
89
- _tuple2 = tuple
89
+ _tuple2 = tuple.data
90
90
  end
91
91
  _tuple3 = nil
92
92
  @space.read [1,2,3] do |tuple|
93
- _tuple3 = tuple
93
+ _tuple3 = tuple.data
94
94
  end
95
95
  _tuple4 = nil
96
96
  @space.take [1,2,3] do |tuple|
97
- _tuple4 = tuple
97
+ _tuple4 = tuple.data
98
98
  end
99
99
  1.upto(3) do |i|
100
100
  @space.write [1,2,3,"a"*i]
101
101
  end
102
102
  assert_equal @space.size, 1
103
- assert_equal _tuple1.data, [1,2,3,"a"]
103
+ assert_equal _tuple1, [1,2,3,"a"]
104
104
  assert_equal _tuple2, nil
105
- assert_equal _tuple3.data, [1,2,3,"aa"]
106
- assert_equal _tuple4.data, [1,2,3,"aa"]
105
+ assert_equal _tuple3, [1,2,3,"aa"]
106
+ assert_equal _tuple4, [1,2,3,"aa"]
107
107
  assert_equal @space.take([1]).data, [1,2,3,"aaa"]
108
108
  assert_equal @space.size, 0
109
109
  end
@@ -112,20 +112,20 @@ module Linda
112
112
  assert_equal @space.size, 0
113
113
  _tuple1 = nil
114
114
  @space.take [1] do |tuple|
115
- _tuple1 = tuple
115
+ _tuple1 = tuple.data
116
116
  end
117
117
  results = []
118
118
  @space.watch [1,2] do |tuple|
119
- results << tuple
119
+ results << tuple.data
120
120
  end
121
121
  @space.write [1,2,3]
122
122
  @space.write [1,2,"aa"]
123
123
  @space.write [1,"a",3]
124
- assert_equal _tuple1.data, [1,2,3]
124
+ assert_equal _tuple1, [1,2,3]
125
125
  assert_equal @space.size, 2
126
126
  assert_equal results.size, 2
127
- assert_equal results[0].data, [1,2,3]
128
- assert_equal results[1].data, [1,2,"aa"]
127
+ assert_equal results[0], [1,2,3]
128
+ assert_equal results[1], [1,2,"aa"]
129
129
  end
130
130
 
131
131
  def test_tuple_expire
@@ -143,6 +143,59 @@ module Linda
143
143
  assert_equal @space.size, 0
144
144
  end
145
145
 
146
+ def test_cancel_read
147
+ _tuple1 = nil
148
+ _tuple2 = nil
149
+ callback_id1 = @space.read [1,2] do |tuple|
150
+ _tuple1 = tuple.data
151
+ end
152
+ callback_id2 = @space.read [1,2] do |tuple|
153
+ _tuple2 = tuple.data
154
+ end
155
+ @space.cancel callback_id1
156
+ @space.write [1,2,3]
157
+ sleep 1
158
+ assert_equal _tuple1, nil
159
+ assert_equal _tuple2, [1,2,3]
160
+ assert callback_id1 != callback_id2
161
+ end
162
+
163
+ def test_cancel_take
164
+ _tuple1 = nil
165
+ _tuple2 = nil
166
+ callback_id1 = @space.take [1,2] do |tuple|
167
+ _tuple1 = tuple.data
168
+ end
169
+ callback_id2 = @space.take [1,2] do |tuple|
170
+ _tuple2 = tuple.data
171
+ end
172
+ @space.cancel callback_id1
173
+ @space.write [1,2,3]
174
+ sleep 1
175
+ assert_equal _tuple1, nil
176
+ assert_equal _tuple2, [1,2,3]
177
+ assert callback_id1 != callback_id2
178
+ end
179
+
180
+
181
+ def test_cancel_watch
182
+ _tuple1 = nil
183
+ _tuple2 = nil
184
+ callback_id1 = @space.watch [1,2] do |tuple|
185
+ _tuple1 = tuple.data
186
+ end
187
+ callback_id2 = @space.watch [1,2] do |tuple|
188
+ _tuple2 = tuple.data
189
+ end
190
+ @space.write [1,2,3]
191
+ @space.cancel callback_id1
192
+ @space.write [1,2,3,4]
193
+ sleep 1
194
+ assert_equal _tuple1, [1,2,3]
195
+ assert_equal _tuple2, [1,2,3,4]
196
+ assert callback_id1 != callback_id2
197
+ end
198
+
146
199
  end
147
200
  end
148
201
  end
@@ -16,7 +16,7 @@ module Linda
16
16
  end
17
17
  end
18
18
 
19
- def remove_callback(callback)
19
+ def cancel(callback)
20
20
  @callbacks.delete callback
21
21
  end
22
22
 
@@ -1,3 +1,3 @@
1
1
  module Linda
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sho Hashimoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-19 00:00:00.000000000 Z
11
+ date: 2013-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -119,3 +119,4 @@ test_files:
119
119
  - test/test_helper.rb
120
120
  - test/test_tuple.rb
121
121
  - test/test_tuplespace.rb
122
+ has_rdoc: