Module: Aggro::ZeroMQTransport

Defined in:
lib/aggro/zeromq_transport.rb,
lib/aggro/zeromq_transport/client.rb,
lib/aggro/zeromq_transport/server.rb,
lib/aggro/zeromq_transport/publisher.rb,
lib/aggro/zeromq_transport/subscriber.rb

Overview

Public: Transport layer over nanomsg sockets.

Defined Under Namespace

Classes: Client, Publisher, Server, Subscriber

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.lingerObject



23
24
25
# File 'lib/aggro/zeromq_transport.rb', line 23

def linger
  @linger ||= 1_000
end

Class Method Details

.client(endpoint) ⇒ Object



15
16
17
# File 'lib/aggro/zeromq_transport.rb', line 15

def client(endpoint)
  Client.new endpoint
end

.contextObject



19
20
21
# File 'lib/aggro/zeromq_transport.rb', line 19

def context
  @context ||= ZeroMQ::Context.new
end

.publisher(endpoint) ⇒ Object



27
28
29
# File 'lib/aggro/zeromq_transport.rb', line 27

def publisher(endpoint)
  Publisher.new endpoint
end

.server(endpoint, callable = nil, &block) ⇒ Object



31
32
33
# File 'lib/aggro/zeromq_transport.rb', line 31

def server(endpoint, callable = nil, &block)
  Server.new endpoint, callable, &block
end

.subscriber(endpoint, callable = nil, &block) ⇒ Object



35
36
37
# File 'lib/aggro/zeromq_transport.rb', line 35

def subscriber(endpoint, callable = nil, &block)
  Subscriber.new endpoint, callable, &block
end

.teardownObject



39
40
41
42
# File 'lib/aggro/zeromq_transport.rb', line 39

def teardown
  @context.terminate if @context
  @context = nil
end