Slide 23
Slide 23 text
࣮ͷେ 4PDLFUUDQ
໊લղܾͷ։࢝
# ࢠεϨουͰݺͼग़໊͢લղܾ༻ϝιου
de
begin
resolved_addrinfos = Addrinfo.getaddrinfo(
host, port, ADDRESS_FAMILIES[family], :STREAM
)
hostname_resolution_queue.add_resolved(
family, resolved_addrinfos
)
rescue => e
# ...
end
ࢠεϨου
໊લղܾ༻ϝιουͰ"EESJOGPHFUBEESJOGPΛݺͼɺ
ͦͷྃ࣍ୈQJQFͷॻ͖ࠐΈଆʹͦͷࢫΛ௨͢Δ
໊લղܾϝιου͕ऴྃ͢ΔͱɺࢠεϨουऴྃ
໊લղܾΛ࣮ߦ
໊લղܾͷྃΛQJQFʹ௨
def add_resolved(family, resolved_addrinfos)
@mutex.synchronize do
@queue.push [family, resolved_addrinfos]
@wpipe.putc HOSTNAME_RESOLUTION_QUEUE_UPDATED
# ...
ef self.hostname_resolution(family, host, port, hostname_resolution_queue)