File tree Expand file tree Collapse file tree 3 files changed +17
-2
lines changed
Expand file tree Collapse file tree 3 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,8 @@ module Actress
2626 require 'concurrent/actress/core'
2727 require 'concurrent/actress/context'
2828
29+ require 'concurrent/actress/ad_hoc'
30+
2931 # @return [Reference, nil] current executing actor if any
3032 def self . current
3133 Thread . current [ :__current_actress__ ]
Original file line number Diff line number Diff line change 1+ module Concurrent
2+ module Actress
3+ class AdHoc
4+ include Context
5+ def initialize ( &initializer )
6+ @on_message = Type! initializer . call , Proc
7+ end
8+
9+ def on_message ( message )
10+ @on_message . call message
11+ end
12+ end
13+ end
14+ end
Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ def on_message(message)
1616 when :terminate
1717 terminate!
1818 when :child
19- Ping . spawn :pong , @queue
19+ Concurrent :: Actress :: AdHoc . spawn ( :pong ) { -> m { @queue << m } }
2020 else
2121 @queue << message
2222 message
@@ -43,7 +43,6 @@ def assert condition
4343end
4444
4545
46-
4746Array . new ( 100 ) . map do
4847 Thread . new do
4948 20 . times do |i |
You can’t perform that action at this time.
0 commit comments