async 1.28.0 → 1.28.5

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
  SHA256:
3
- metadata.gz: e7dacbad60b89b492fe3741aa5f61240c8bc1f2d9f23e242c7eadd80cc7d9d38
4
- data.tar.gz: a8193d5ec289670c5ca4a795e905ffd660aa57edaac8796e58c3db8b866fa340
3
+ metadata.gz: 6b33ec5d0d22925d752f11766c464b87a53a32368b8325f80142fe82cb9237f4
4
+ data.tar.gz: 5bff146f715773a0e7f51e57f3879f71264e9b05beefaedaee8be8bc2022fd69
5
5
  SHA512:
6
- metadata.gz: de1a9942175a329082d388b280d63c80f614a99145d0df8b6b39e7a4b31d2cb7af4a91bad643f408eeebe6b72807d3f50093528aa5bac273daef67cbb25b3b97
7
- data.tar.gz: 206be83fe80c466b12669ad847b041e60f27c21d32f82995e7350385f50d990abe94cfbd701a86717532936d7b6ad1e495df78f45a3c0972e2c70b6647824528
6
+ metadata.gz: 991a081bc1ca6f54b26f1d3e2e4f3d174fd18265161722d5e220c65dad1215eefb51bb9e511b1a0b16c1b1a89f2189f9284c3eec089d2091a858623ef4d64b82
7
+ data.tar.gz: 2d00555269320cd962d2b6993ed73b706f896467e2259fe20777d1035c7ab13bc904e53ff33ee8f83416b532db5f9fa0efcd00f7efe9b001e9c51e7688ba706e
@@ -34,6 +34,10 @@ module Async
34
34
 
35
35
  attr :items
36
36
 
37
+ def size
38
+ @items.size
39
+ end
40
+
37
41
  def empty?
38
42
  @items.empty?
39
43
  end
@@ -102,7 +102,7 @@ module Async
102
102
  fiber = Fiber.current
103
103
 
104
104
  if timeout
105
- timer = self.after(timeout) do
105
+ timer = @timers.after(timeout) do
106
106
  if fiber.alive?
107
107
  fiber.resume(false)
108
108
  end
@@ -57,13 +57,13 @@ module Async
57
57
  def io_wait(io, events, timeout = nil)
58
58
  wrapper = from_io(io)
59
59
 
60
- if events == IO::READABLE
60
+ if events == ::IO::READABLE
61
61
  if wrapper.wait_readable(timeout)
62
- return IO::READABLE
62
+ return ::IO::READABLE
63
63
  end
64
- elsif events == IO::WRITABLE
64
+ elsif events == ::IO::WRITABLE
65
65
  if wrapper.wait_writable(timeout)
66
- return IO::WRITABLE
66
+ return ::IO::WRITABLE
67
67
  end
68
68
  else
69
69
  if wrapper.wait_any(timeout)
@@ -82,12 +82,12 @@ module Async
82
82
  # @returns [Process::Status] A process status instance.
83
83
  def process_wait(pid, flags)
84
84
  Thread.new do
85
- Process::Status.wait(pid, flags)
85
+ ::Process::Status.wait(pid, flags)
86
86
  end.value
87
87
  end
88
88
 
89
89
  def kernel_sleep(duration)
90
- @reactor.sleep(duration)
90
+ self.block(nil, duration)
91
91
  end
92
92
 
93
93
  def block(blocker, timeout)
@@ -102,11 +102,13 @@ module Async
102
102
  end
103
103
 
104
104
  def fiber(&block)
105
- task = Task.new(&block)
105
+ task = Task.new(@reactor, &block)
106
106
 
107
- task.resume
107
+ fiber = task.fiber
108
108
 
109
- return task.fiber
109
+ task.run
110
+
111
+ return fiber
110
112
  end
111
113
  end
112
114
  end
@@ -88,7 +88,7 @@ module Async
88
88
 
89
89
  if Fiber.current.respond_to?(:backtrace)
90
90
  def backtrace(*arguments)
91
- @fiber.backtrace(*arguments)
91
+ @fiber&.backtrace(*arguments)
92
92
  end
93
93
  end
94
94
 
@@ -21,5 +21,5 @@
21
21
  # THE SOFTWARE.
22
22
 
23
23
  module Async
24
- VERSION = "1.28.0"
24
+ VERSION = "1.28.5"
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.28.0
4
+ version: 1.28.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-24 00:00:00.000000000 Z
11
+ date: 2021-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: console