Module: Grepfruit::RactorCompat
- Defined in:
- lib/grepfruit/ractor_compat.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create_worker ⇒ Object
- #select_ready(workers_and_ports) ⇒ Object
- #yield_result(_port, data) ⇒ Object
Class Method Details
.send_work(worker, data) ⇒ Object
5 6 7 |
# File 'lib/grepfruit/ractor_compat.rb', line 5 def send_work(worker, data) worker.send(data) end |
Instance Method Details
#create_worker ⇒ Object
10 11 12 13 14 |
# File 'lib/grepfruit/ractor_compat.rb', line 10 def create_worker(&) port = Ractor::Port.new worker = Ractor.new(port, &) [worker, port] end |
#select_ready(workers_and_ports) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/grepfruit/ractor_compat.rb', line 20 def select_ready(workers_and_ports) ports = workers_and_ports.values ready_port, result = Ractor.select(*ports) worker = workers_and_ports.key(ready_port) [worker, result] end |
#yield_result(_port, data) ⇒ Object
16 17 18 |
# File 'lib/grepfruit/ractor_compat.rb', line 16 def yield_result(port, data) port << data end |