[Moscow.pm] Sync networking w timeouts

Mons Anderson mons на cpan.org
Вт Окт 2 01:07:16 PDT 2012


Всем привет. Я так давно работаю исключительно с AE, что совсем выпал из
темы синхронных библиотек )
Есть простейшая задача: tcp connect / host resolution / socket rw.
Но! С жестко заданным таймаутом.

Всяческие IO::Socket* могут легко заблокироваться на неограниченное время,
например на ресолве.

Есть мысль написать что-то синхронное, аналогичное AnyEvent::Socket и
AnyEvent::DNS, но с жестким контролем таймаутов.
т.е. типа:

my $fh = tcp_connect $host,$port, $timeout or die "connect failed: $!";
my $rr = resolve in => A => "google.com", $timeout or die "resolution
failed: $!";

И аналогичное AE::Handle:
my $data = $h->read( chunk => 42, $timeout ) or die "read failed: $!";

Возможно кто-то может подсказать что-то готовое и без использования AE/EV?

-- 
Best wishes,
Vladimir V. Perepelitsa aka Mons Anderson
<inthrax на gmail.com>, <mons на cpan.org>
http://github.com/Mons
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20121002/4ffb3af0/attachment.html>


Подробная информация о списке рассылки Moscow-pm