Class: ZContext

Inherits:
Object
  • Object
show all
Defined in:
lib/liquid/zmq.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create_socket(type) ⇒ Object



57
58
59
# File 'lib/liquid/zmq.rb', line 57

def self.create_socket(type)
  instance.create_socket(type)
end

.dealer(opts = {}) ⇒ Object



75
76
77
# File 'lib/liquid/zmq.rb', line 75

def self.dealer(opts = {})
  instance.dealer(opts)
end

.destroyObject



65
66
67
68
69
# File 'lib/liquid/zmq.rb', line 65

def self.destroy
  instance.destroy
rescue Java::JavaLang::IllegalStateException
  # ignore broken shutdown in zeromq
end

.destroy_socket(socket) ⇒ Object



61
62
63
# File 'lib/liquid/zmq.rb', line 61

def self.destroy_socket(socket)
  instance.destroy_socket(socket)
end

.instanceObject

global context instance



53
54
55
# File 'lib/liquid/zmq.rb', line 53

def self.instance
  @context ||= new
end

.pub(opts = {}) ⇒ Object



87
88
89
# File 'lib/liquid/zmq.rb', line 87

def self.pub(opts = {})
  instance.pub(opts)
end

.pull(opts = {}) ⇒ Object



83
84
85
# File 'lib/liquid/zmq.rb', line 83

def self.pull(opts = {})
  instance.pull(opts)
end

.push(opts = {}) ⇒ Object



79
80
81
# File 'lib/liquid/zmq.rb', line 79

def self.push(opts = {})
  instance.push(opts)
end

.router(opts = {}) ⇒ Object



71
72
73
# File 'lib/liquid/zmq.rb', line 71

def self.router(opts = {})
  instance.router(opts)
end

.sub(opts = {}) ⇒ Object



91
92
93
# File 'lib/liquid/zmq.rb', line 91

def self.sub(opts = {})
  instance.sub(opts)
end

Instance Method Details

#create_socket_with_opts(type, opts = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/liquid/zmq.rb', line 16

def create_socket_with_opts(type, opts = {})
  socket = create_socket(type)
  opts.each do |key, value|
    next if key == :bind || key == :connect
    socket.__send__("#{key}=", value)
  end
  socket.connect(opts[:connect]) if opts[:connect]
  socket.bind(opts[:bind]) if opts[:bind]
  socket
end

#dealer(opts = {}) ⇒ Object



31
32
33
# File 'lib/liquid/zmq.rb', line 31

def dealer(opts = {})
  create_socket_with_opts(ZMQ::DEALER, opts)
end

#pub(opts = {}) ⇒ Object



43
44
45
# File 'lib/liquid/zmq.rb', line 43

def pub(opts = {})
  create_socket_with_opts(ZMQ::PUB, opts)
end

#pull(opts = {}) ⇒ Object



39
40
41
# File 'lib/liquid/zmq.rb', line 39

def pull(opts = {})
  create_socket_with_opts(ZMQ::PULL, opts)
end

#push(opts = {}) ⇒ Object



35
36
37
# File 'lib/liquid/zmq.rb', line 35

def push(opts = {})
  create_socket_with_opts(ZMQ::PUSH, opts)
end

#router(opts = {}) ⇒ Object



27
28
29
# File 'lib/liquid/zmq.rb', line 27

def router(opts = {})
  create_socket_with_opts(ZMQ::ROUTER, opts)
end

#sub(opts = {}) ⇒ Object



47
48
49
# File 'lib/liquid/zmq.rb', line 47

def sub(opts = {})
  create_socket_with_opts(ZMQ::SUB, opts)
end