Sha256: 9e9195210c123704cdb78af685cd2b589b66cd932ad696b674b07b7645a9f682
Contents?: true
Size: 983 Bytes
Versions: 6
Compression:
Stored size: 983 Bytes
Contents
module Pione module Agent class ProcessManager < TupleSpaceClient set_agent_type :process_manager define_state :running define_state_transition :initialized => :sleeping define_state_transition :sleeping => :running define_state_transition :running => :sleeping attr_reader :document def initialize(tuple_space_server, document, params, stream) raise ArgumentError unless document.main super(tuple_space_server) @document = document @params = params @stream = stream end def transit_to_sleeping take(Tuple[:command].new("start-root-rule", nil)) end def transit_to_running if handler = @document.root_rule(@params).make_handler(tuple_space_server) handler.handle else user_message "error: no inputs" terminate end terminate unless @stream end end set_agent ProcessManager end end
Version data entries
6 entries across 6 versions & 1 rubygems