There is an ongoing outage on the primary CPAN mirror. It is possible to work around the issue by using MetaCPAN as a mirror.

NAME

ZooKeeper::Dispatcher::Interrupt

DESCRIPTION

A ZooKeeper::Dispatcher implementation that uses Async::Interrupt for dispatching.

In order to interrupt AnyEvent, during ZooKeeper::Dispatcher's wait call, the Interrupt implementation creates an AnyEvent timer to trigger every 100ms. This is needed because AnyEvent's recv blocks on a select call, which Async::Interrupt cannot interrupt by itself.