Class: ZooMQ::Server::Connection

Inherits:
ZMachine::Connection
  • Object
show all
Defined in:
lib/zoomq/server/connection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#serverObject

Returns the value of attribute server.



9
10
11
# File 'lib/zoomq/server/connection.rb', line 9

def server
  @server
end

Instance Method Details

#handle_msg(msg) ⇒ Object



24
25
26
27
28
29
# File 'lib/zoomq/server/connection.rb', line 24

def handle_msg(msg)
  cls = String.from_java_bytes(msg.pop.data).constantize
  request = cls.parse(String.from_java_bytes(msg.pop.data))
  $log.debug("zoomq:request", cls: cls, request: request, handler: request.respond_to?(:handle))
  request.handle(@server)
end

#receive_data(msg) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/zoomq/server/connection.rb', line 11

def receive_data(msg)
  origin = msg.unwrap
  request_id = msg.unwrap
  $log.debug("zoomq:request", id: String.from_java_bytes(request_id.data), from: String.from_java_bytes(origin.data))
  result = handle_msg(msg)
  $log.debug("zoomq:request", result: result.inspect)
  result = ZMsg.new_string_msg(result.class.to_s, result.to_s)
  result.wrap(request_id)
  result.wrap(origin)
  send_data(result)
  return 0
end