<div dir="ltr"><div class="gmail_extra">
<br><br><div class="gmail_quote">On 3 June 2014 07:41, Calle Dybedahl <span dir="ltr"><<a href="mailto:calle@init.se" target="_blank">calle@init.se</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word"><br><div><br><div>The warning does _not_ say that axfr_next() is similarly afflicted. The warning is specifically about what axfr_start() returns. Changing what axfr_next() returns is a change in the documented public API (as is removing it, obviously).</div>

</div></div></blockquote><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><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word"><div><br><div>Devel::Size gives me about 3200 bytes for a Net::DNS::RR::RRSIG, so I think you estimate is low by at least half. Perl was not designed to be memory-efficient...</div><div class="">

<br></div></div></div></blockquote><div>Unfortunately.<br></div><div>My figure came from seeing how much free memory I had and running a ZoneFile $GENERATE until it fell over and counting the records as they were DESTROYed in RR.pm   I cannot see why they were counted twice, assuming that is what happened.<br>

</div><div>Whatever the actual figure, it is unworkable.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>

<br></div>In Net::LDNS, we have a method that takes a code reference as its argument and runs that code once for every RR in the AXFR, with the RR object as its only argument. That way the method can keep as much state as it likes, and the amount of memory needed is unaffected by the number of records received. I find the interface clean and convenient to work with, but then I came up with it so I’m obviously biased in its favor.<div class="">

<div><div><div>
<span style="border-collapse:separate;border-spacing:0px"><span style="font-size:12px"><div><br></div></span></span></div></div></div></div></div></blockquote><div>Are you arguing for a per-RR call-back as an optional argument to axfr()?<br>

</div><div><br>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>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>