Class: Celluloid::DNS::Request
- Inherits:
-
Object
- Object
- Celluloid::DNS::Request
- Defined in:
- lib/celluloid/dns/request.rb
Instance Attribute Summary collapse
-
#questions ⇒ Object
readonly
Returns the value of attribute questions.
Instance Method Summary collapse
- #answer(responses) ⇒ Object
-
#initialize(addr, port, socket, data) ⇒ Request
constructor
A new instance of Request.
Constructor Details
#initialize(addr, port, socket, data) ⇒ Request
Returns a new instance of Request.
8 9 10 11 12 |
# File 'lib/celluloid/dns/request.rb', line 8 def initialize(addr, port, socket, data) @addr, @port, @socket = addr, port, socket @message = Resolv::DNS::Message.decode(data) @questions = @message.question.map { |question, resource| Question.new(question, resource) } end |
Instance Attribute Details
#questions ⇒ Object (readonly)
Returns the value of attribute questions.
6 7 8 |
# File 'lib/celluloid/dns/request.rb', line 6 def questions @questions end |
Instance Method Details
#answer(responses) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/celluloid/dns/request.rb', line 14 def answer(responses) = Resolv::DNS::Message.new @message.id .qr = 1 .opcode = @message.opcode .aa = 1 .rd = @message.rd .ra = 0 .rcode = 0 responses.each do |question, response| response_object = question.resource.new(response) .add_answer question.name, DEFAULT_TTL, response_object end @socket.send .encode, 0, @addr, @port end |