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 |