diff options
Diffstat (limited to 'vendor/supply_drop/lib/supply_drop/async_enumerable.rb')
-rw-r--r-- | vendor/supply_drop/lib/supply_drop/async_enumerable.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/vendor/supply_drop/lib/supply_drop/async_enumerable.rb b/vendor/supply_drop/lib/supply_drop/async_enumerable.rb new file mode 100644 index 0000000..1d5a116 --- /dev/null +++ b/vendor/supply_drop/lib/supply_drop/async_enumerable.rb @@ -0,0 +1,19 @@ +module SupplyDrop + module AsyncEnumerable + def each(&block) + pool = SupplyDrop::ThreadPool.new(SupplyDrop::Util.thread_pool_size) + super do |item| + pool.schedule(item, &block) + end + pool.shutdown + end + + def map(&block) + pool = SupplyDrop::ThreadPool.new(SupplyDrop::Util.thread_pool_size) + super do |item| + pool.schedule(item, &block) + end + pool.shutdown + end + end +end |