Class: Resolv::DNS::Requester

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

Direct Known Subclasses

ConnectedUDP, TCP, UnconnectedUDP

Defined Under Namespace

Classes: ConnectedUDP, RequestError, Sender, TCP, UnconnectedUDP

Instance Method Summary collapse

Constructor Details

#initializeRequester

Returns a new instance of Requester.



528
529
530
# File 'lib/resolv.rb', line 528

def initialize
  @senders = {}
end

Instance Method Details

#closeObject



532
533
534
535
536
537
538
539
540
541
542
# File 'lib/resolv.rb', line 532

def close
  thread, sock, @thread, @sock = @thread, @sock
  begin
    if thread
      thread.kill
      thread.join
    end
  ensure
    sock.close if sock
  end
end

#delete(arg) ⇒ Object



544
545
546
547
548
549
550
551
552
553
# File 'lib/resolv.rb', line 544

def delete(arg)
  case arg
  when Sender
    @senders.delete_if {|k, s| s == arg }
  when Queue
    @senders.delete_if {|k, s| s.queue == arg }
  else
    raise ArgumentError.new("neither Sender or Queue: #{arg}")
  end
end