Method: Marvin::Distributed::Protocol#send_message

Defined in:
lib/marvin/distributed/protocol.rb

#send_message(name, arguments = {}, &callback) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/marvin/distributed/protocol.rb', line 22

def send_message(name, arguments = {}, &callback)
  logger.debug "Sending #{name.inspect} to #{self.host_with_port}"
  payload = {
    "message" => name.to_s,
    "options" => arguments,
    "sent-at" => Time.now
  }
  payload.merge!(options_for_callback(callback))
  payload = JSON.dump(payload)
  logger.debug ">> #{payload}"
  send_data "#{payload}\n"
end