module AgentZMQ

Public Instance Methods

agent_files_loaded() click to toggle source
# File lib/agent_zmq.rb, line 16
def agent_files_loaded
  @agent_files_loaded ||=[]
end
agent_path() click to toggle source
# File lib/agent_zmq.rb, line 4
def agent_path
  "./config/zmq_agents.rb"
end
agents() click to toggle source
# File lib/agent_zmq.rb, line 8
def agents
  return @agents if @agents

  (@agents=[]).tap do
    load_agents if agent_files_loaded.empty?
  end
end
agents_hash() click to toggle source
# File lib/agent_zmq.rb, line 65
def agents_hash
  Hash[agents.map { |a| [a.name.to_sym, a]}]
end
define_ZMQ_PUB(name, &blk) click to toggle source
# File lib/agent_zmq.rb, line 36
def define_ZMQ_PUB(name, &blk)
  define_agent(AgentZMQ::PubAgent.new(name), &blk)
end
define_ZMQ_REP(name, &blk) click to toggle source
# File lib/agent_zmq.rb, line 44
def define_ZMQ_REP(name, &blk)
  define_agent(AgentZMQ::RepAgent.new(name), &blk)
end
define_ZMQ_REQ(name, &blk) click to toggle source
# File lib/agent_zmq.rb, line 40
def define_ZMQ_REQ(name, &blk)
  define_agent(AgentZMQ::ReqAgent.new(name), &blk)
end
define_ZMQ_SUB(name, &blk) click to toggle source
# File lib/agent_zmq.rb, line 32
def define_ZMQ_SUB(name, &blk) 
  define_agent(AgentZMQ::SubAgent.new(name), &blk)
end
define_agent(agent) { |agent| ... } click to toggle source
# File lib/agent_zmq.rb, line 27
def define_agent(agent, &blk)
  yield agent
  agents << agent
end
load_agents(path=nil) click to toggle source
# File lib/agent_zmq.rb, line 20
def load_agents path=nil
  path = File.expand_path(path || agent_path, Dir.pwd)
  return if agent_files_loaded.include? path
  agent_files_loaded << path
  load path
end
reset() click to toggle source
# File lib/agent_zmq.rb, line 61
def reset
  agents.each {|a| a.reset}
end
start() click to toggle source

starts all configured agents

# File lib/agent_zmq.rb, line 49
def start
  raise RuntimeError, "No ZMQ Agents Defined" if agents.empty?

  agents.each do |a|
    a.start
  end
end
stop() click to toggle source
# File lib/agent_zmq.rb, line 57
def stop
  agents.each {|a| a.stop}
end