[Moscow.pm] Sync networking w timeouts

Dmitry Karasik dmitry на karasik.eu.org
Вт Окт 2 01:10:29 PDT 2012


On Tue, Oct 02, 2012 at 12:07:16PM +0400, Mons Anderson wrote:
> Всем привет. Я так давно работаю исключительно с 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?

alarm?

-- 
Sincerely,
	Dmitry Karasik



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