Sha256: 931ec76baf8f7c70baf72c389aa366a78f22130657876fbc811a157b31cd0e7e

Contents?: true

Size: 1.2 KB

Versions: 37

Compression:

Stored size: 1.2 KB

Contents

require 'resolv'

module Protobuf
  module Rpc
    module Zmq

      ADDRESS_MATCH = /\A\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/
      WORKER_READY_MESSAGE = "\1".freeze
      CHECK_AVAILABLE_MESSAGE = "\3".freeze
      NO_WORKERS_AVAILABLE = "\4".freeze
      WORKERS_AVAILABLE = "\5".freeze
      EMPTY_STRING = "".freeze

      module Util
        include ::Protobuf::Logging

        def self.included(base)
          base.extend(::Protobuf::Rpc::Zmq::Util)
        end

        def zmq_error_check(return_code, source = nil)
          return if ::ZMQ::Util.resultcode_ok?(return_code)

          fail <<-ERROR
          Last ZMQ API call #{source ? "to #{source}" : ''} failed with "#{::ZMQ::Util.error_string}".

          #{caller(1).join($INPUT_RECORD_SEPARATOR)}
          ERROR
        end

        def log_signature
          unless @_log_signature
            name = (self.class == Class ? self.name : self.class.name)
            @_log_signature = "[server-#{name}-#{object_id}]"
          end

          @_log_signature
        end

        def resolve_ip(hostname)
          ::Resolv.getaddresses(hostname).find do |address|
            address =~ ADDRESS_MATCH
          end
        end
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 3 rubygems

Version Path
protobuf-3.10.9 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.10.8 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.10.7 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.10.6 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.10.5 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.10.4 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-cucumber-3.10.8 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-cucumber-3.10.7 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-cucumber-3.10.6 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-cucumber-3.10.5 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-cucumber-3.10.4 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.10.3 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.10.2 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.10.1 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.10.0 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.10.0.pre0 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.9.0 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.9.0.pre2 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.9.0.pre lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.8.5 lib/protobuf/rpc/servers/zmq/util.rb