Class: ZooMQ::Server::Worker

Inherits:
Object
  • Object
show all
Defined in:
lib/zoomq/server/worker.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(server) ⇒ Worker

Returns a new instance of Worker.



12
13
14
# File 'lib/zoomq/server/worker.rb', line 12

def initialize(server)
  @server = server
end

Instance Attribute Details

#serverObject (readonly)

Returns the value of attribute server.



10
11
12
# File 'lib/zoomq/server/worker.rb', line 10

def server
  @server
end

Instance Method Details

#initialize_socketObject



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/zoomq/server/worker.rb', line 20

def initialize_socket
  $log.info("zoomq:server:worker", bind: "tcp://*:*")
  ZMachine.start_server("tcp://*:*", ZMQ::ROUTER, Connection) do |handler|
    identity = "#{@server.fqdn}:#{handler.channel.port}"
    $log.info("zoomq:server:worker", announce: identity)
    Thread.current.name = "ZMQ::Server::Worker (#{identity})"
    handler.channel.identity = identity
    handler.server = @server
    @server.announce(identity)
  end
end

#runObject



16
17
18
# File 'lib/zoomq/server/worker.rb', line 16

def run
  ZMachine.run { initialize_socket }
end