Sha256: b78353a125c1c05865cbd13db5724053e526df3ab4a9669bbfa876d14f085105

Contents?: true

Size: 1.16 KB

Versions: 16

Compression:

Stored size: 1.16 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/.freeze
      WORKER_READY_MESSAGE = "\1"
      CHECK_AVAILABLE_MESSAGE = "\3"
      NO_WORKERS_AVAILABLE = "\4"
      WORKERS_AVAILABLE = "\5"

      module Util
        include ::Protobuf::Logger::LogMethods

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

        def zmq_error_check(return_code, source = nil)
          unless ::ZMQ::Util.resultcode_ok?(return_code)
            raise <<-ERROR
            Last ZMQ API call #{source ? "to #{source}" : ""} failed with "#{::ZMQ::Util.error_string}".

            #{caller(1).join($/)}
            ERROR
          end
        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).detect do |address|
            address =~ ADDRESS_MATCH
          end
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
protobuffy-3.6.0 lib/protobuf/rpc/servers/zmq/util.rb
protobuffy-3.5.1 lib/protobuf/rpc/servers/zmq/util.rb
protobuffy-3.4.0 lib/protobuf/rpc/servers/zmq/util.rb
protobuffy-3.3.0 lib/protobuf/rpc/servers/zmq/util.rb
protobuffy-3.2.0 lib/protobuf/rpc/servers/zmq/util.rb
protobuffy-3.1.0 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.2.1 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.2.0 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.1.0 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.0.5 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.0.4 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.0.3 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.0.2 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.0.1 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.0.0 lib/protobuf/rpc/servers/zmq/util.rb
protobuf-3.0.0.rc2 lib/protobuf/rpc/servers/zmq/util.rb