Class: Dramatis::Runtime::Task::Continuation::Proc
- Inherits:
-
Object
- Object
- Dramatis::Runtime::Task::Continuation::Proc
show all
- Includes:
- Dramatis
- Defined in:
- lib/dramatis/runtime/task.rb
Instance Method Summary
collapse
Methods included from Dramatis
future, interface, release
Constructor Details
#initialize(name, call_thread, result, except) ⇒ Proc
Returns a new instance of Proc.
242
243
244
245
246
247
248
249
250
|
# File 'lib/dramatis/runtime/task.rb', line 242
def initialize name, call_thread, result, except
@result_block = result
@exception_block = except
@name = name
@continuation = \
interface( Dramatis::Runtime::Scheduler.actor ) \
.send :continuation, self, :call_thread => call_thread
end
|
Instance Method Details
#continuation_exception(exception) ⇒ Object
266
267
268
269
270
271
272
273
274
|
# File 'lib/dramatis/runtime/task.rb', line 266
def continuation_exception exception
if @exception_block
@exception_block.call exception
else
release( @name ).dramatis_exception exception
end
end
|
#continuation_result(result) ⇒ Object
262
263
264
|
# File 'lib/dramatis/runtime/task.rb', line 262
def continuation_result result
@result_block.call result
end
|
#exception(exception) ⇒ Object
258
259
260
|
# File 'lib/dramatis/runtime/task.rb', line 258
def exception exception
@continuation.exception exception
end
|
#queued ⇒ Object
252
|
# File 'lib/dramatis/runtime/task.rb', line 252
def queued; end
|
#result(result) ⇒ Object
254
255
256
|
# File 'lib/dramatis/runtime/task.rb', line 254
def result result
@continuation.result result
end
|