Take Message From Blackboard
The Rinda multi-agent system environment is already running, on the blackboard is written a message, so the last step is to read it :)
The following functionalities will be shown:
- Creation of an agent.
- Locating the blackboard.
- Taking a message.
Although a logical opposite operation to the write operation should be the read operation, it is not so in the blackboard system: the operation read only checks if a message is there (this will be shown in a post that will follow); the operation take takes a message from the blackboard.
The agent source code is stored in the take.rb file:
require 'rinda/ring'
DRb.start_service
ts = Rinda::RingFinger.primary
result = ts.take [:message, nil], 0
puts "[0]: #{result[0]}"
puts "[1]: #{result[1]}"
Firstly, start the rinda.rb code (for more details see the post about starting multi-agent system environment), then, in a separate console, start the write.rb (for more details see the post about writing a message to the blackboard) and finally, in a separate console or in the same console where you started the write.rb file, type:
ruby take.rb
The agent connects to the blackboard, takes a message and shows two lines:
[0]: message
[1]: Hi there!