Class: Futures::Value
- Inherits:
-
Object
- Object
- Futures::Value
- Defined in:
- lib/futures.rb
Constant Summary collapse
- TimeoutError =
Class.new(RuntimeError)
Instance Method Summary collapse
Instance Method Details
#read(timeout = nil) ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/futures.rb', line 7 def read(timeout = nil) unless @value @write = Thread.new { Thread.stop } @write.join(timeout) or raise(TimeoutError.new) end @value end |
#write(value) ⇒ Object
15 16 17 18 |
# File 'lib/futures.rb', line 15 def write(value) @value = value @write.wakeup if @write end |