Sha256: 23b86248e829564abaf2f17ffc8ed26b29c86175d1ba0ac238924ccfd7e94790

Contents?: true

Size: 638 Bytes

Versions: 2

Compression:

Stored size: 638 Bytes

Contents

require 'aggro/nanomsg_transport/connection'

module Aggro
  module NanomsgTransport
    # Private: Wrapper for a nanomsg SUB node.
    class Subscribe < Connection
      def add_subscription(topic)
        set_socket_option NNCore::NN_SUB_SUBSCRIBE, topic, NNCore::NN_SUB
      end

      def allocate_socket
        @socket = NNCore::LibNanomsg.nn_socket(NNCore::AF_SP, NNCore::NN_SUB)
        assert @socket
      end

      def set_endpoint
        assert NNCore::LibNanomsg.nn_connect(@socket, @endpoint)
      end

      def setup_socket
        super

        set_socket_option NNCore::NN_RCVTIMEO, 100
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
aggro-0.0.3 lib/aggro/nanomsg_transport/subscribe.rb
aggro-0.0.2 lib/aggro/nanomsg_transport/subscribe.rb