class M2R::ConnectionFactory
{Connection} factory so that every thread can use it generate its own {Connection} for communication with Mongrel2
.
@api public
Public Class Methods
new(options, context = M2R.zmq_context)
click to toggle source
@param [Options] options ZMQ connections options @param [ZMQ::Context] context Context for creating new ZMQ sockets
# File lib/m2r/connection_factory.rb, line 22 def initialize(options, context = M2R.zmq_context) @options = options @context = context end
Public Instance Methods
connection()
click to toggle source
Builds new Connection
which can be used to receive Mongrel2
requests and send responses.
@return [Connection]
# File lib/m2r/connection_factory.rb, line 31 def connection request_socket = @context.socket(ZMQ::PULL) request_socket.connect(@options.recv_addr) response_socket = @context.socket(ZMQ::PUB) response_socket.connect(@options.send_addr) response_socket.setsockopt(ZMQ::IDENTITY, @options.sender_id) if @options.sender_id Connection.new(request_socket, response_socket) end