Class: LLM::Function::Ractor::Task
- Inherits:
-
Object
- Object
- LLM::Function::Ractor::Task
- Defined in:
- lib/llm/function/ractor/task.rb
Overview
Instance Attribute Summary collapse
Instance Method Summary collapse
- #alive? ⇒ Boolean
- #initialize(runner_class, id, name, arguments, tracer: nil, span: nil) ⇒ LLM::Function::Ractor::Task constructor
- #interrupt! ⇒ nil (also: #cancel!)
- #wait ⇒ LLM::Function::Return (also: #value)
Constructor Details
#initialize(runner_class, id, name, arguments, tracer: nil, span: nil) ⇒ LLM::Function::Ractor::Task
21 22 23 24 25 |
# File 'lib/llm/function/ractor/task.rb', line 21 def initialize(runner_class, id, name, arguments, tracer: nil, span: nil) @tracer = tracer @span = span @mailbox = Ractor::Mailbox.new(build_task(runner_class, id, name, arguments)) end |
Instance Attribute Details
#mailbox ⇒ LLM::Function::Ractor::Mailbox (readonly)
11 12 13 |
# File 'lib/llm/function/ractor/task.rb', line 11 def mailbox @mailbox end |
Instance Method Details
#alive? ⇒ Boolean
29 30 31 |
# File 'lib/llm/function/ractor/task.rb', line 29 def alive? mailbox.alive? end |
#interrupt! ⇒ nil Also known as: cancel!
35 36 37 |
# File 'lib/llm/function/ractor/task.rb', line 35 def interrupt! nil end |
#wait ⇒ LLM::Function::Return Also known as: value
42 43 44 45 46 47 |
# File 'lib/llm/function/ractor/task.rb', line 42 def wait id, name, value = mailbox.wait result = Return.new(id, name, value) @tracer&.on_tool_finish(result:, span: @span) result end |