rgossip2 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/rgossip2/client.rb +12 -0
- metadata +11 -11
data/lib/rgossip2/client.rb
CHANGED
@@ -52,6 +52,8 @@ module RGossip2
|
|
52
52
|
addr = name2addr(i)
|
53
53
|
# 自ノードはスキップ
|
54
54
|
next if addr == @address
|
55
|
+
# つながらない場合はスキップ
|
56
|
+
next unless connectable?(addr, @context.port)
|
55
57
|
@node_list[addr] = create(Node, @node_list, @dead_list, addr, nil, nil)
|
56
58
|
end
|
57
59
|
|
@@ -201,6 +203,16 @@ module RGossip2
|
|
201
203
|
end
|
202
204
|
end
|
203
205
|
|
206
|
+
def connectable?(host, port)
|
207
|
+
s = UDPSocket.new
|
208
|
+
s.connect(host, port)
|
209
|
+
s.close
|
210
|
+
return true
|
211
|
+
rescue => e
|
212
|
+
@logger.debug("#{host}:#{port}: #{e.message}")
|
213
|
+
return false
|
214
|
+
end
|
215
|
+
|
204
216
|
end # Client
|
205
217
|
|
206
218
|
end # RGossip2
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rgossip2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 9
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 9
|
10
|
+
version: 0.1.9
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- winebarrel
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2012-01-19 00:00:00 +09:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -43,14 +43,14 @@ extra_rdoc_files: []
|
|
43
43
|
files:
|
44
44
|
- README
|
45
45
|
- bin/gossip
|
46
|
-
- lib/rgossip2/receiver.rb
|
47
|
-
- lib/rgossip2/timer.rb
|
48
|
-
- lib/rgossip2/gossipper.rb
|
49
|
-
- lib/rgossip2/node.rb
|
50
46
|
- lib/rgossip2/client.rb
|
51
47
|
- lib/rgossip2/context.rb
|
52
|
-
- lib/rgossip2/node_list.rb
|
53
48
|
- lib/rgossip2/context_helper.rb
|
49
|
+
- lib/rgossip2/gossipper.rb
|
50
|
+
- lib/rgossip2/node.rb
|
51
|
+
- lib/rgossip2/node_list.rb
|
52
|
+
- lib/rgossip2/receiver.rb
|
53
|
+
- lib/rgossip2/timer.rb
|
54
54
|
- lib/rgossip2.rb
|
55
55
|
has_rdoc: true
|
56
56
|
homepage: https://bitbucket.org/winebarrel/rgossip2
|
@@ -82,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
82
82
|
requirements: []
|
83
83
|
|
84
84
|
rubyforge_project:
|
85
|
-
rubygems_version: 1.3
|
85
|
+
rubygems_version: 1.5.3
|
86
86
|
signing_key:
|
87
87
|
specification_version: 3
|
88
88
|
summary: Basic implementation of a gossip protocol. This is a porting of Java implementation. see http://code.google.com/p/gossip-protocol-java/
|