class MiniDisc::Registry::Service

Attributes

id[R]
logger[R]
port[R]

Public Class Methods

new(service_type, port, options = {}) click to toggle source

@param [Symbol] service_type eg :telnet @param [Integer] port

# File lib/minidisc/registry.rb, line 29
def initialize(service_type, port, options = {})
  @id = options.fetch(:id, object_id.to_s)
  @port = port
  @service_type = ServiceType.sym_to_dnnsd_string(service_type, options)
end

Public Instance Methods

register(options = {}) click to toggle source

Register this service @return [Boolean]

# File lib/minidisc/registry.rb, line 41
def register(options = {})
  DNSSD.register(@id, @service_type, nil, @port) do
    properties = "id=#{@id} port=#{@port} service_type=#{@service_type}"
    unless options[:logger].nil?
      options[:logger].info("MiniDisc::Registry::Service#register: #{properties}")
    end
  end
  @registered = true
rescue Errno::EBADF
  @registered = false
end
registered?() click to toggle source
# File lib/minidisc/registry.rb, line 35
def registered?
  @registered
end