[Moscow.pm] HTTPD на короутинах

Alexandr Gomoliako zzz на zzz.org.ua
Вс Май 27 08:57:24 PDT 2012


Покажу еще пример, который на одних корутинах вообще не реализуем,
случайно вспомнил:

    sub quorum_request {
        my $cb = pop;
        my $min = pop;
        my @res;

        foreach my $node (@_) {
            send_request $node, "something", sub {
                push @res, [shift];

                if (--$min == 0) {
                    &$cb(@res);
                }
            };
        }
    }

    quorum_request "foo:1234", "bar:2345", "baz:80", 2, sub {
        # вернется сюда когда две любые ноды ответят.
        # т.е. если одна из трех упала, то она никого не задержит
    };


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