async-pool 0.11.1 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f51a25e4bec2c50dc1e0a3dd8b58dcea1deec49d964a1e96c2cb4e1ef4f6de91
4
- data.tar.gz: 7ae894d17e1b977e20910dab375cf898f76051af6b71a165332143550efbb57c
3
+ metadata.gz: e4fe0a9bc65859c5bcb987643f591473236e1fdb2b296c9d73dc9750c01b44ff
4
+ data.tar.gz: 116b1ec100edce9d7bbf85fe57a41d7f7059ed495eca17c8d96940a6c10e7724
5
5
  SHA512:
6
- metadata.gz: d92167ce83dec22ac8224c10741bef3595884baeef9fb00c31ef71f7a3cced965d642965c4091902567476ba246cd6bfa1c79d16e3bc5e512e5d120184413c93
7
- data.tar.gz: 44d97c8ea249bbae96158774832e983f88ceb871979b04ab2626aa962705a3e54210e3edf19e235448a623384bc7382b73e854281fa095c18b97c2d73d067918
6
+ metadata.gz: c17cc32005753a5f3141aa4a198c5a1b826a212c44f05a382951561bd3b274aaa66e6f0d8f77e21bd613b42f4ab1a6a0d51f9463abd4ecc33f42a5b1e46642b8
7
+ data.tar.gz: 326fdcd55c875d840d02d1d9fe73082edb70d83361a4a2e1cde34331ded7b3bb184a436ec8907e3c0065c3444554a56eaa89817dd25ceb2936fbf3ff96b23ada
checksums.yaml.gz.sig CHANGED
Binary file
@@ -5,6 +5,7 @@
5
5
  # Copyright, 2020, by Simon Perepelitsa.
6
6
  # Copyright, 2024, by Thomas Morgan.
7
7
  # Copyright, 2025, by Jean Boussier.
8
+ # Copyright, 2026, by William T. Nelson.
8
9
 
9
10
  require "console/logger"
10
11
 
@@ -26,9 +27,9 @@ module Async
26
27
  #
27
28
  # @parameter constructor [Proc] A block which creates a new resource.
28
29
  # @parameter limit [Integer | Nil] The maximum number of resources that this pool can have at any given time. If nil, the pool can have an unlimited number of resources.
29
- # @parameter concurrency [Integer] The maximum number of concurrent tasks that can be creating a new resource.
30
+ # @parameter concurrency [Integer] The maximum number of concurrent tasks that can be creating a new resource. Defaults to 1 to ensure the pool limit is enforced. Higher values may result in more resources being created than the limit under high load.
30
31
  # @parameter policy [Policy] The pool policy.
31
- def initialize(constructor, limit: nil, concurrency: (limit || 1), policy: nil, tags: nil)
32
+ def initialize(constructor, limit: nil, concurrency: 1, policy: nil, tags: nil)
32
33
  @constructor = constructor
33
34
  @limit = limit
34
35
 
@@ -234,7 +235,7 @@ module Async
234
235
  def retire(resource)
235
236
  Console.debug(self){"Retire #{resource}"}
236
237
 
237
- @resources.delete(resource)
238
+ return false unless @resources.delete(resource)
238
239
 
239
240
  resource.close
240
241
 
@@ -286,7 +287,11 @@ module Async
286
287
 
287
288
  usage = @resources[resource]
288
289
 
289
- if usage.nil? || usage.zero?
290
+ if usage.nil?
291
+ return false
292
+ end
293
+
294
+ if usage.zero?
290
295
  raise "Trying to reuse unacquired resource: #{resource}!"
291
296
  end
292
297
 
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Async
7
7
  module Pool
8
- VERSION = "0.11.1"
8
+ VERSION = "0.11.2"
9
9
  end
10
10
  end
data/license.md CHANGED
@@ -1,10 +1,11 @@
1
1
  # MIT License
2
2
 
3
- Copyright, 2019-2025, by Samuel Williams.
3
+ Copyright, 2019-2026, by Samuel Williams.
4
4
  Copyright, 2020, by Simon Perepelitsa.
5
5
  Copyright, 2021, by Olle Jonsson.
6
6
  Copyright, 2024, by Thomas Morgan.
7
7
  Copyright, 2025, by Jean Boussier.
8
+ Copyright, 2026, by William T. Nelson.
8
9
 
9
10
  Permission is hereby granted, free of charge, to any person obtaining a copy
10
11
  of this software and associated documentation files (the "Software"), to deal
data/readme.md CHANGED
@@ -14,7 +14,7 @@ Please see the [project documentation](https://socketry.github.io/async-pool/) f
14
14
 
15
15
  Please see the [project releases](https://socketry.github.io/async-pool/releases/index) for all releases.
16
16
 
17
- ### v0.11.0
17
+ ### v0.11.2
18
18
 
19
19
  ## Contributing
20
20
 
data/releases.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # Releases
2
2
 
3
- ## v0.11.0
3
+ ## v0.11.2
data.tar.gz.sig CHANGED
@@ -1,2 +1,4 @@
1
- %��HJ.�j��a��h^�%|���yt��sMP\�V]�)?�i��
2
- K<K4җzSVk ����b5�ş�$�����&`V��:0���ao���o<��bB�!>�7m id��5�����2vٲ�󖨄V��$7oi\�2蓬���=h�����m�@K\m+��c�p��xM�x��*��j�}�%(+��ll�!&y/of9��Nۅ���HĬ�")
1
+ _
2
+ �!_ ����� /b���S�+v����H��m>���)[p/븇]�=2}׍�)5N��{yH���N���;�.�{+� S֛'���i���(h_�����(n���j�����og�.��1�5�>��^��ёu{�ĺ2�<@�:Zڙ��4��(u1{F� 2��*
3
+ r�U�|6
4
+ �X��0�
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-pool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.1
4
+ version: 0.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -9,6 +9,7 @@ authors:
9
9
  - Olle Jonsson
10
10
  - Simon Perepelitsa
11
11
  - Thomas Morgan
12
+ - William T. Nelson
12
13
  bindir: bin
13
14
  cert_chain:
14
15
  - |
@@ -89,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
90
  - !ruby/object:Gem::Version
90
91
  version: '0'
91
92
  requirements: []
92
- rubygems_version: 3.6.9
93
+ rubygems_version: 4.0.3
93
94
  specification_version: 4
94
95
  summary: A singleplex and multiplex resource pool for implementing robust clients.
95
96
  test_files: []
metadata.gz.sig CHANGED
Binary file