class Aggro::ZeroMQTransport::Client

Public: Client for making requests against a nanomsg server.

Public Class Methods

new(endpoint) click to toggle source
# File lib/aggro/zeromq_transport/client.rb, line 5
def initialize(endpoint)
  @endpoint = endpoint
end

Public Instance Methods

close_socket() click to toggle source
# File lib/aggro/zeromq_transport/client.rb, line 18
def close_socket
  request_socket.close if @open
  @request_socket = nil
  @open = false
end
post(message) click to toggle source
# File lib/aggro/zeromq_transport/client.rb, line 9
def post(message)
  request_socket.send_string message.to_s

  response = ''
  request_socket.recv_string response

  response
end

Private Instance Methods

request_socket() click to toggle source
# File lib/aggro/zeromq_transport/client.rb, line 26
def request_socket
  @request_socket ||= begin
    @open = true
    socket = ZeroMQTransport.context.socket(ZMQ::REQ)
    socket.connect @endpoint

    socket
  end
end