def sendreq(msg, agent, filter = {})
if msg.is_a?(Message)
request = msg
agent = request.agent
else
ttl = @options[:ttl] || @config.ttl
request = Message.new(msg, nil, {:agent => agent, :type => :request, :collective => collective, :filter => filter, :ttl => ttl})
request.reply_to = @options[:reply_to] if @options[:reply_to]
end
request.encode!
Log.debug("Sending request #{request.requestid} to the #{request.agent} agent with ttl #{request.ttl} in collective #{request.collective}")
subscribe(agent, :reply) unless request.reply_to
request.publish
request.requestid
end