class Async::DNS::Resolver::Request
Manages a single DNS
question message across one or more servers.
Attributes
logger[R]
message[R]
packet[R]
Public Class Methods
new(message, endpoints)
click to toggle source
# File lib/async/dns/resolver.rb, line 234 def initialize(message, endpoints) @message = message @packet = message.encode @endpoints = endpoints.dup # We select the protocol based on the size of the data: if @packet.bytesize > UDP_TRUNCATION_SIZE @endpoints.delete_if{|server| server[0] == :udp} end end
Public Instance Methods
each(&block)
click to toggle source
# File lib/async/dns/resolver.rb, line 250 def each(&block) Async::IO::Endpoint.each(@endpoints, &block) end
update_id!(id)
click to toggle source
# File lib/async/dns/resolver.rb, line 254 def update_id!(id) @message.id = id @packet = @message.encode end