Class: LLM::Function::Ractor::Mailbox
- Inherits:
-
Object
- Object
- LLM::Function::Ractor::Mailbox
- Defined in:
- lib/llm/function/ractor/mailbox.rb
Overview
The Mailbox class manages the mailbox protocol for a single ractor-backed function call.
Instance Attribute Summary collapse
- #task ⇒ ::Ractor readonly
Instance Method Summary collapse
- #alive? ⇒ Boolean
- #initialize(task) ⇒ LLM::Function::Ractor::Mailbox constructor
- #interrupt! ⇒ nil
- #wait ⇒ Array
Constructor Details
#initialize(task) ⇒ LLM::Function::Ractor::Mailbox
15 16 17 |
# File 'lib/llm/function/ractor/mailbox.rb', line 15 def initialize(task) @task = task end |
Instance Attribute Details
#task ⇒ ::Ractor (readonly)
10 11 12 |
# File 'lib/llm/function/ractor/mailbox.rb', line 10 def task @task end |
Instance Method Details
#alive? ⇒ Boolean
21 22 23 24 25 |
# File 'lib/llm/function/ractor/mailbox.rb', line 21 def alive? request(:alive?) rescue ::Ractor::ClosedError false end |
#interrupt! ⇒ nil
35 36 37 38 |
# File 'lib/llm/function/ractor/mailbox.rb', line 35 def interrupt! task.send([:interrupt]) nil end |
#wait ⇒ Array
29 30 31 |
# File 'lib/llm/function/ractor/mailbox.rb', line 29 def wait request(:wait) end |