async-limiter 1.5.0 → 1.5.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
2
  SHA256:
3
- metadata.gz: 89371390667823819a23be2b9b32fa67835de748ed46e456e3bef72af1086f9c
4
- data.tar.gz: 2cb73676f8f6d2f78d9eb7dfe5f7842076fc2121be674ce13f61ba26075633a3
3
+ metadata.gz: fb03fc864de09582936ff16e60cd9a214020f66606ae489b09c673f5076d37e6
4
+ data.tar.gz: 6ec875d4dd7afa21bdde41d12b61f51b4898e93b644d2d90abea339c64810ae7
5
5
  SHA512:
6
- metadata.gz: 1eb18ea438a0aa21647a7630f11cdfc0318e2b1e5b9395f9476e1c05a1865e37a4a994e0fd877bca06aa62de1ce1429662fec1b8d450b8e88bd1eb1ab90ba105
7
- data.tar.gz: d0fb87462427dfef33c2967a594b6df029579f3bfd8afaf1f9fe6445abff60f9d147d4838c3edf9ded900488203669f3e53c04f2bde3c09edfafcd1181078148
6
+ metadata.gz: cde5a1bf23dadac86d333e8a43d6379df264ddd45684ea16aeba0b59f0c3141f9170bb70b37139a3868391c28fcb8a8e48f63399356a9fbacabd89fc369d39c7
7
+ data.tar.gz: 7b5b82b3141d057099b2f8fee90ce1d15ef56492106f44a751df64ad2a881098a4f43437d381d8f8753bbc4d9386c2a044d97a0542c4090320f9d91a7068c6e0
@@ -1,5 +1,5 @@
1
1
  module Async
2
2
  module Limiter
3
- VERSION = "1.5.0"
3
+ VERSION = "1.5.1"
4
4
  end
5
5
  end
@@ -25,7 +25,7 @@ module Async
25
25
  @lock = lock
26
26
 
27
27
  @waiting = queue
28
- @scheduler_task = nil
28
+ @scheduler = nil
29
29
 
30
30
  @window_frame_start_time = NULL_TIME
31
31
  @window_start_time = NULL_TIME
@@ -170,36 +170,36 @@ module Async
170
170
  end
171
171
 
172
172
  def schedule?
173
- @scheduler_task.nil? &&
173
+ @scheduler.nil? &&
174
174
  @waiting.any? &&
175
175
  !limit_blocking?
176
176
  end
177
177
 
178
178
  # Schedule resuming waiting tasks.
179
179
  def schedule(parent: @parent || Task.current)
180
- @scheduler_task ||=
181
- parent.async { |task|
180
+ @scheduler ||=
181
+ parent.async(transient: true) { |task|
182
182
  task.annotate("scheduling tasks for #{self.class}.")
183
183
 
184
184
  while @waiting.any? && !limit_blocking?
185
- delay = [next_acquire_time - Async::Clock.now, 0].max
185
+ delay = [next_acquire_time - Clock.now, 0].max
186
186
  task.sleep(delay) if delay.positive?
187
187
  resume_waiting
188
188
  end
189
189
 
190
- @scheduler_task = nil
190
+ @scheduler = nil
191
191
  }
192
192
  end
193
193
 
194
194
  def reschedule?
195
- @scheduler_task &&
195
+ @scheduler &&
196
196
  @waiting.any? &&
197
197
  !limit_blocking?
198
198
  end
199
199
 
200
200
  def reschedule
201
- @scheduler_task.stop
202
- @scheduler_task = nil
201
+ @scheduler.stop
202
+ @scheduler = nil
203
203
 
204
204
  schedule
205
205
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-limiter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruno Sutic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-16 00:00:00.000000000 Z
11
+ date: 2020-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -16,70 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.26'
19
+ version: '1.27'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.26'
26
+ version: '1.27'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: async-rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.14'
33
+ version: '1.15'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.14'
40
+ version: '1.15'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.9'
47
+ version: '3.10'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.9'
54
+ version: '3.10'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubocop-rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.43'
61
+ version: '2.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.43'
68
+ version: '2.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: standard
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.7'
75
+ version: '0.9'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.7'
82
+ version: '0.9'
83
83
  description:
84
84
  email: code@brunosutic.com
85
85
  executables: []