<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 3 jun 2014, at 15:46, Dick Franks <<a href="mailto:rwfranks@acm.org">rwfranks@acm.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>Internal method (and it *is* very obviously that) should never have had POD documentation in the first place.<br><br></div></div></div></div></blockquote><div><br></div><div>I disagree. It was certainly not obvious to me. There was example code on how to use it, and it filled a need that the axfr() method does not. </div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Are you arguing for a per-RR call-back as an optional argument to axfr()?</div><div><br></div></div></div></div></blockquote><div><br></div><div>Just mentioning that the current way is not the only possible way. What I wish right now is that the same dedication to backwards compatibility that is shown towards supporting ancient versions of Perl would be shown towards the API of Net::DNS itself.</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>That way, you get your iteration done for free, we get the mechanics we need for TSIG.<br><br></div><div>   $resolver->axfr(  '<a href="http://example.com/">example.com</a>', 'IN', sub { my $rr = shift;  ...  }  );<br>

</div><div><br></div></div></div></div></blockquote><div><br></div><div>I put the class argument last, so I only have to spell it out in the very rare cases where it’s not IN. Other than that minor detail, that’s it exactly.</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Q:  Does the call-back function return anything?  If so what do we do with it?<br></div><div><span style="border-collapse:separate;border-spacing:0px"><span style="font-size:12px"><div><a href="tel:%2B46%20703%20-%20970%20612" value="+46703970612" target="_blank"></a></div>

</span></span>

</div></div></div></div></blockquote></div><div><br></div>Since one of the things we want to be able to do is to terminate a transfer before it’s complete (which can also not be done with the axfr() in Net::DNS::Resolver), I made that contingent on the return value from the callback. As long as it returns a true value, the process will continue (until it finishes naturally). If it returns false, the transfer will be stopped.<br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="font-size: 12px; "><div><br class="Apple-interchange-newline">-- </div><div>Calle Dybedahl</div><div><a href="mailto:calle@init.se">calle@init.se</a> -*- +46 703 - 970 612</div><div><br></div></span></span><br class="Apple-interchange-newline">

</div>
<br></body></html>