Sha256: 19a6689b47c61234fb8822e01ba56d81e46b0012d868140c27e201520e66f99b
Contents?: true
Size: 426 Bytes
Versions: 2
Compression:
Stored size: 426 Bytes
Contents
module EventMachine module Synchrony class FiberIterator < EM::Synchrony::Iterator # execute each iterator block within its own fiber # and auto-advance the iterator after each call def each(foreach=nil, after=nil, &blk) fe = Proc.new do |obj, iter| Fiber.new { (foreach || blk).call(obj, iter); iter.next }.resume end super(fe, after) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
em-synchrony-1.0.6 | lib/em-synchrony/fiber_iterator.rb |
em-synchrony-1.0.5 | lib/em-synchrony/fiber_iterator.rb |