ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/lib/AnyEvent.pm
(Generate patch)

Comparing AnyEvent/lib/AnyEvent.pm (file contents):
Revision 1.341 by root, Sun Dec 5 11:41:45 2010 UTC vs.
Revision 1.342 by root, Wed Dec 29 04:16:33 2010 UTC

876 AnyEvent::Impl::Glib based on Glib, slow but very stable. 876 AnyEvent::Impl::Glib based on Glib, slow but very stable.
877 AnyEvent::Impl::Tk based on Tk, very broken. 877 AnyEvent::Impl::Tk based on Tk, very broken.
878 AnyEvent::Impl::EventLib based on Event::Lib, leaks memory and worse. 878 AnyEvent::Impl::EventLib based on Event::Lib, leaks memory and worse.
879 AnyEvent::Impl::POE based on POE, very slow, some limitations. 879 AnyEvent::Impl::POE based on POE, very slow, some limitations.
880 AnyEvent::Impl::Irssi used when running within irssi. 880 AnyEvent::Impl::Irssi used when running within irssi.
881 AnyEvent::Impl::IOAsync based on IO::Async.
881 882
882=item Backends with special needs. 883=item Backends with special needs.
883 884
884Qt requires the Qt::Application to be instantiated first, but will 885Qt requires the Qt::Application to be instantiated first, but will
885otherwise be picked up automatically. As long as the main program 886otherwise be picked up automatically. As long as the main program
886instantiates the application before any AnyEvent watchers are created, 887instantiates the application before any AnyEvent watchers are created,
887everything should just work. 888everything should just work.
888 889
889 AnyEvent::Impl::Qt based on Qt. 890 AnyEvent::Impl::Qt based on Qt.
890
891Support for IO::Async can only be partial, as it is too broken and
892architecturally limited to even support the AnyEvent API. It also
893is the only event loop that needs the loop to be set explicitly, so
894it can only be used by a main program knowing about AnyEvent. See
895L<AnyEvent::Impl::IOAsync> for the gory details.
896
897 AnyEvent::Impl::IOAsync based on IO::Async, cannot be autoprobed.
898 891
899=item Event loops that are indirectly supported via other backends. 892=item Event loops that are indirectly supported via other backends.
900 893
901Some event loops can be supported via other modules: 894Some event loops can be supported via other modules:
902 895
1215 [Tk:: => AnyEvent::Impl::Tk::], # crashes with many handles 1208 [Tk:: => AnyEvent::Impl::Tk::], # crashes with many handles
1216 [Qt:: => AnyEvent::Impl::Qt::], # requires special main program 1209 [Qt:: => AnyEvent::Impl::Qt::], # requires special main program
1217 [POE::Kernel:: => AnyEvent::Impl::POE::], # lasciate ogni speranza 1210 [POE::Kernel:: => AnyEvent::Impl::POE::], # lasciate ogni speranza
1218 [Wx:: => AnyEvent::Impl::POE::], 1211 [Wx:: => AnyEvent::Impl::POE::],
1219 [Prima:: => AnyEvent::Impl::POE::], 1212 [Prima:: => AnyEvent::Impl::POE::],
1220 # IO::Async is just too broken - we would need workarounds for its
1221 # byzantine signal and broken child handling, among others.
1222 # IO::Async is rather hard to detect, as it doesn't have any
1223 # obvious default class.
1224 [IO::Async:: => AnyEvent::Impl::IOAsync::], # requires special main program
1225 [IO::Async::Loop:: => AnyEvent::Impl::IOAsync::], # requires special main program 1213 [IO::Async::Loop:: => AnyEvent::Impl::IOAsync::],
1226 [IO::Async::Notifier:: => AnyEvent::Impl::IOAsync::], # requires special main program
1227 [AnyEvent::Impl::IOAsync:: => AnyEvent::Impl::IOAsync::], # requires special main program
1228); 1214);
1229 1215
1230our %method = map +($_ => 1), 1216our %method = map +($_ => 1),
1231 qw(io timer time now now_update signal child idle condvar one_event DESTROY); 1217 qw(io timer time now now_update signal child idle condvar one_event DESTROY);
1232 1218

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines