irrc 0.2.0 → 0.2.1

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
- SHA1:
3
- metadata.gz: 2153f20f9106d41a4879ffbc6ab3da228fb92c91
4
- data.tar.gz: f79d595e7e9feba683de2e366dd08fdc93b9d119
2
+ SHA256:
3
+ metadata.gz: 6f59c95d799cca6b37d208c59260beb9b2eaf8a72b0c4f11a41ea21810fcef4c
4
+ data.tar.gz: 4a4e3bbc7efc5313a3b6e912b855ab1bd142c78a595ec197139b4d787fc0316f
5
5
  SHA512:
6
- metadata.gz: 01730d20bad2b5b2509b1895fc237ebc299d372ba5a053f52cae32b74e31be9580aa3d84856424e946dd1debf0de1c45f7fb8636fff807258fe133f402ad9eb2
7
- data.tar.gz: e45bce36c6a1449a6a4f866f6e258e76c264dd96fb6f1bc8eb4be9a1cd9e2badc9f409408fefadc39e8a185783eb6fb8b62415cc3c6f24104c0489923636912e
6
+ metadata.gz: 4ba4c3de9f48ce1294e40914fbef78fbf69fd44beed5df86f283b8efe2b440fb9e611e391a5bc0799c4c879033153963ed92f29661e883a3f3344fbab8161ebb
7
+ data.tar.gz: a6de9790cf7e9e0ed4d0ccca4eb54717b075c8195de6f97e6dededbfe26ef6d13415f8e5ba0e5309a3848526338ddf092a10244a1735e8545b57f09b9b0cf8af
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2017 Shintaro Kojima
3
+ Copyright (c) 2018 Shintaro Kojima
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -138,6 +138,10 @@ $ irrc -h jpirr -d AS-JPNIC
138
138
  To use modified Logger:
139
139
 
140
140
  ```ruby
141
+ client = Irrc::Client.new {|c| c.logger = Irrc::Logging::Logger.new(STDERR) }
142
+
143
+ # For Rails,
144
+
141
145
  client = Irrc::Client.new {|c| c.logger = Rails.logger }
142
146
  ```
143
147
 
@@ -170,4 +174,4 @@ For questions or feedbacks write to my twitter @codeout.
170
174
 
171
175
  ## Copyright and License
172
176
 
173
- Copyright (c) 2017 Shintaro Kojima. Code released under the [MIT license](LICENSE).
177
+ Copyright (c) 2018 Shintaro Kojima. Code released under the [MIT license](LICENSE).
data/lib/irrc/runner.rb CHANGED
@@ -4,17 +4,20 @@ module Irrc
4
4
  done = []
5
5
 
6
6
  loop do
7
- # NOTE: trick to avoid dead lock
7
+ # Trick to avoid dead lock
8
8
  if last_thread_of?(threads) && @queue.empty?
9
9
  terminate
10
+
11
+ # Queue guard objects notifying other threads to return results
10
12
  logger.debug "Queue #{threads - 1} guard objects"
11
13
  (threads - 1).times { @queue.push nil }
14
+
12
15
  return done
13
16
  end
14
17
 
15
18
  query = @queue.pop
16
19
 
17
- # NOTE: trick to avoid dead lock
20
+ # Trick to avoid dead lock
18
21
  if query.nil?
19
22
  terminate
20
23
  return done
@@ -51,8 +54,8 @@ module Irrc
51
54
  connection.cmd(command).tap {|result| logger.debug %(Got "#{result}") }
52
55
  end
53
56
 
54
- def last_thread_of?(threads)
55
- Thread.list.reject(&:stop?).size == 1 && Thread.list.size == threads+1
57
+ def last_thread_of?(num_threads)
58
+ return @queue.num_waiting == num_threads - 1
56
59
  end
57
60
 
58
61
  def terminate
data/lib/irrc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Irrc
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: irrc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shintaro Kojima
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-16 00:00:00.000000000 Z
11
+ date: 2018-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-telnet
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  version: '0'
128
128
  requirements: []
129
129
  rubyforge_project:
130
- rubygems_version: 2.6.8
130
+ rubygems_version: 2.7.6
131
131
  signing_key:
132
132
  specification_version: 4
133
133
  summary: IRR / Whois client to expand as-set and route-set into a list of origin ASs