class ZMQ::Device

Attributes

device[R]

Public Class Methods

create(frontend, backend, capture=nil) click to toggle source
# File lib/ffi-rzmq/device.rb, line 6
def self.create(frontend, backend, capture=nil)
  dev = nil
  begin
    dev = new(frontend, backend, capture)
  rescue ArgumentError
    dev = nil
  end

  dev
end
new(frontend, backend, capture=nil) click to toggle source
# File lib/ffi-rzmq/device.rb, line 17
def initialize(frontend, backend, capture=nil)
  [["frontend", frontend], ["backend", backend]].each do |name, socket|
    unless socket.is_a?(ZMQ::Socket)
      raise ArgumentError, "Expected a ZMQ::Socket, not a #{socket.class} as the #{name}"
    end
  end

  LibZMQ.zmq_proxy(frontend.socket, backend.socket, capture ? capture.socket : nil)
end