> if I recall correctly, most of the code works fine without using
> DNS; it's just that most of the code currently *using* it works
> with DNS.

Almost. One of the biggest problems I see is that one can't register a
socket with AsyncLoop.pm. Thereby, when DNS lookups are finished, the whole
loop stops regardless of outstanding non-DNS-based lookups.

See sub complete_lookups in AsyncLoop.pm:

  eval {

    my $nfound = $self->{main}->{resolver}->poll_responses($timeout);
    $nfound ||= 'no';
    dbg ("async: select found $nfound socks ready");

    foreach my $key (keys %{$pending}) {
      my $ent = $pending->{$key};

poll_responsens is in DnsResolver.pm and yield 0 when DNS queries are
finished. This causes the complete_lookups call to terminate all the
outstanding lookups, even the non-DNS-based ones.

Does anybody knows which is the API to the async stuff? Maybe I didn't get
it at all and I'm attempting to use it the wrong way...

Giampaolo


> 
> --j.
> 
> Giampaolo Tomassoni writes:
> > Dears,
> >
> > my belief was that the Async support in SA was somehow of general-
> purpose
> > type.
> >
> > I see instead that most code in AsyncLoop.pm do rely on code in
> > DnsResolver.pm.
> >
> > Willing to handle non-DNS connection asynchronously in SA, how am I
> expected
> > to obtain it?
> >
> > Thanks,
> >
> > Giampaolo

Reply via email to