Object
# File resolv.rb, line 1258 def put_label(d) self.put_string(d.string) end
# File resolv.rb, line 1244 def put_labels(d) d.each_index {|i| domain = d[i..-1] if idx = @names[domain] self.put_pack("n", 0xc000 | idx) return else @names[domain] = @data.length self.put_label(d[i]) end } @data << "\0" end
# File resolv.rb, line 1220 def put_length16 length_index = @data.length @data << "\0\0" data_start = @data.length yield data_end = @data.length @data[length_index, 2] = [data_end - data_start].pack("n") end
# File resolv.rb, line 1240 def put_name(d) put_labels(d.to_a) end
# File resolv.rb, line 1216 def put_pack(template, *d) @data << d.pack(template) end
# File resolv.rb, line 1229 def put_string(d) self.put_pack("C", d.length) @data << d end