Class: Aggro::ZeroMQTransport::Publisher
- Inherits:
-
Object
- Object
- Aggro::ZeroMQTransport::Publisher
- Defined in:
- lib/aggro/zeromq_transport/publisher.rb
Overview
Public: Handles publishing messages on a given endpoint.
Instance Method Summary collapse
- #close_socket ⇒ Object
-
#initialize(endpoint) ⇒ Publisher
constructor
A new instance of Publisher.
- #open_socket ⇒ Object
- #publish(message) ⇒ Object
Constructor Details
#initialize(endpoint) ⇒ Publisher
5 6 7 |
# File 'lib/aggro/zeromq_transport/publisher.rb', line 5 def initialize(endpoint) @endpoint = endpoint end |
Instance Method Details
#close_socket ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/aggro/zeromq_transport/publisher.rb', line 9 def close_socket return unless @open && @pub_socket @pub_socket.close if @pub_socket @pub_socket = nil @open = false end |
#open_socket ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/aggro/zeromq_transport/publisher.rb', line 17 def open_socket return @pub_socket if @open @open = true @pub_socket = ZeroMQTransport.context.socket(ZMQ::PUB) @pub_socket.setsockopt ZMQ::LINGER, 1_000 @pub_socket.bind @endpoint @pub_socket end |
#publish(message) ⇒ Object
29 30 31 |
# File 'lib/aggro/zeromq_transport/publisher.rb', line 29 def publish() pub_socket.send_string .to_s end |