ahoy 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/ahoy/contact.rb +14 -3
  2. metadata +10 -9
@@ -103,13 +103,19 @@ module Ahoy
103
103
  if use_cache && @target && @port && @interface_addresses.keys.any?
104
104
  return self
105
105
  end
106
+ service = DNSSD::Service.new
107
+ main = Thread.current
106
108
  @interface_addresses.clear
107
- DNSSD::Service.new.resolve(name, Ahoy::SERVICE_TYPE, domain) do |resolved|
109
+ service.resolve(name, Ahoy::SERVICE_TYPE, domain) do |resolved|
108
110
  @target = resolved.target
109
111
  @port = resolved.port
110
112
  @interface_addresses[resolved.interface] = []
111
- break unless resolved.flags.more_coming?
113
+ unless resolved.flags.more_coming?
114
+ service.stop unless service.stopped?
115
+ main.run
116
+ end
112
117
  end
118
+ Thread.stop unless service.stopped?
113
119
  self
114
120
  end
115
121
 
@@ -126,10 +132,15 @@ module Ahoy
126
132
  return self
127
133
  end
128
134
  service = DNSSD::Service.new
135
+ main = Thread.current
129
136
  service.getaddrinfo(target(resolve_cache), 0, 0, interface) do |addressed|
130
137
  @interface_addresses[addressed.interface].push(addressed.address)
131
- break unless addressed.flags.more_coming?
138
+ unless addressed.flags.more_coming?
139
+ service.stop unless service.stopped?
140
+ main.run
141
+ end
132
142
  end
143
+ Thread.stop unless service.stopped?
133
144
  self
134
145
  end
135
146
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ahoy
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Mat Sadler
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-09 00:00:00 +01:00
18
+ date: 2011-06-02 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -24,13 +24,14 @@ dependencies:
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 3
29
+ hash: 25
30
30
  segments:
31
- - 2
32
- - 0
33
- version: "2.0"
31
+ - 1
32
+ - 3
33
+ - 1
34
+ version: 1.3.1
34
35
  type: :runtime
35
36
  version_requirements: *id001
36
37
  - !ruby/object:Gem::Dependency