Class: Resolv::MDNS

Inherits:
DNS
  • Object
show all
Defined in:
lib/shuttlecraft/resolv.rb

Constant Summary collapse

Port =
5353
AddressV4 =
'224.0.0.251'
AddressV6 =
'ff02::fb'
Addresses =
[
  [AddressV4, Port],
  [AddressV6, Port],
]

Instance Method Summary collapse

Constructor Details

#initialize(config_info = nil) ⇒ MDNS

Returns a new instance of MDNS.



120
121
122
123
124
125
126
# File 'lib/shuttlecraft/resolv.rb', line 120

def initialize(config_info=nil)
  if config_info then
    super({ nameserver_port: Addresses }.merge(config_info))
  else
    super(nameserver_port: Addresses)
  end
end

Instance Method Details

#each_address(name) ⇒ Object



136
137
138
139
140
141
142
# File 'lib/shuttlecraft/resolv.rb', line 136

def each_address(name)
  name = Resolv::DNS::Name.create(name)

  return unless name.to_a.last == 'local'

  super(name)
end

#make_udp_requesterObject



144
145
146
147
# File 'lib/shuttlecraft/resolv.rb', line 144

def make_udp_requester # :nodoc:
  nameserver_port = @config.nameserver_port
  Requester::MDNSOneShot.new(*nameserver_port)
end