class Aggro::ZeroMQTransport::Publisher
Public: Handles publishing messages on a given endpoint.
Public Class Methods
new(endpoint)
click to toggle source
# File lib/aggro/zeromq_transport/publisher.rb, line 5 def initialize(endpoint) @endpoint = endpoint end
Public Instance Methods
close_socket()
click to toggle source
# 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()
click to toggle source
# 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)
click to toggle source
# File lib/aggro/zeromq_transport/publisher.rb, line 29 def publish(message) pub_socket.send_string message.to_s end
Private Instance Methods
pub_socket()
click to toggle source
# File lib/aggro/zeromq_transport/publisher.rb, line 35 def pub_socket @pub_socket || open_socket end