Class: RubyDNS::Resolver::Request
- Inherits:
-
Object
- Object
- RubyDNS::Resolver::Request
- Defined in:
- lib/rubydns/resolver.rb
Overview
Manages a single DNS question message across one or more servers.
Instance Attribute Summary collapse
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#packet ⇒ Object
readonly
Returns the value of attribute packet.
Instance Method Summary collapse
- #each(&block) ⇒ Object
-
#initialize(message, servers) ⇒ Request
constructor
A new instance of Request.
- #update_id!(id) ⇒ Object
Constructor Details
#initialize(message, servers) ⇒ Request
Returns a new instance of Request.
188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/rubydns/resolver.rb', line 188 def initialize(, servers) @message = @packet = .encode @servers = servers.dup # We select the protocol based on the size of the data: if @packet.bytesize > UDP_TRUNCATION_SIZE @servers.delete_if{|server| server[0] == :udp} end end |
Instance Attribute Details
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
202 203 204 |
# File 'lib/rubydns/resolver.rb', line 202 def logger @logger end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
200 201 202 |
# File 'lib/rubydns/resolver.rb', line 200 def @message end |
#packet ⇒ Object (readonly)
Returns the value of attribute packet.
201 202 203 |
# File 'lib/rubydns/resolver.rb', line 201 def packet @packet end |
Instance Method Details
#each(&block) ⇒ Object
204 205 206 207 208 209 210 |
# File 'lib/rubydns/resolver.rb', line 204 def each(&block) @servers.each do |server| next if @packet.bytesize > UDP_TRUNCATION_SIZE yield server end end |
#update_id!(id) ⇒ Object
212 213 214 215 |
# File 'lib/rubydns/resolver.rb', line 212 def update_id!(id) @message.id = id @packet = @message.encode end |