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

Comparing AnyEvent/README (file contents):
Revision 1.63 by root, Wed Oct 13 19:49:46 2010 UTC vs.
Revision 1.64 by root, Fri Dec 31 04:50:44 2010 UTC

80 that isn't them. What's worse, all the potential users of your module 80 that isn't them. What's worse, all the potential users of your module
81 are *also* forced to use the same event loop you use. 81 are *also* forced to use the same event loop you use.
82 82
83 AnyEvent is different: AnyEvent + POE works fine. AnyEvent + Glib works 83 AnyEvent is different: AnyEvent + POE works fine. AnyEvent + Glib works
84 fine. AnyEvent + Tk works fine etc. etc. but none of these work together 84 fine. AnyEvent + Tk works fine etc. etc. but none of these work together
85 with the rest: POE + IO::Async? No go. Tk + Event? No go. Again: if your 85 with the rest: POE + EV? No go. Tk + Event? No go. Again: if your module
86 module uses one of those, every user of your module has to use it, too. 86 uses one of those, every user of your module has to use it, too. But if
87 But if your module uses AnyEvent, it works transparently with all event 87 your module uses AnyEvent, it works transparently with all event models
88 models it supports (including stuff like IO::Async, as long as those use 88 it supports (including stuff like IO::Async, as long as those use one of
89 one of the supported event loops. It is easy to add new event loops to 89 the supported event loops. It is easy to add new event loops to
90 AnyEvent, too, so it is future-proof). 90 AnyEvent, too, so it is future-proof).
91 91
92 In addition to being free of having to use *the one and only true event 92 In addition to being free of having to use *the one and only true event
93 model*, AnyEvent also is free of bloat and policy: with POE or similar 93 model*, AnyEvent also is free of bloat and policy: with POE or similar
94 modules, you get an enormous amount of code and strict rules you have to 94 modules, you get an enormous amount of code and strict rules you have to
837 AnyEvent::Impl::Glib based on Glib, slow but very stable. 837 AnyEvent::Impl::Glib based on Glib, slow but very stable.
838 AnyEvent::Impl::Tk based on Tk, very broken. 838 AnyEvent::Impl::Tk based on Tk, very broken.
839 AnyEvent::Impl::EventLib based on Event::Lib, leaks memory and worse. 839 AnyEvent::Impl::EventLib based on Event::Lib, leaks memory and worse.
840 AnyEvent::Impl::POE based on POE, very slow, some limitations. 840 AnyEvent::Impl::POE based on POE, very slow, some limitations.
841 AnyEvent::Impl::Irssi used when running within irssi. 841 AnyEvent::Impl::Irssi used when running within irssi.
842 AnyEvent::Impl::IOAsync based on IO::Async.
843 AnyEvent::Impl::Cocoa based on Cocoa::EventLoop.
842 844
843 Backends with special needs. 845 Backends with special needs.
844 Qt requires the Qt::Application to be instantiated first, but will 846 Qt requires the Qt::Application to be instantiated first, but will
845 otherwise be picked up automatically. As long as the main program 847 otherwise be picked up automatically. As long as the main program
846 instantiates the application before any AnyEvent watchers are 848 instantiates the application before any AnyEvent watchers are
847 created, everything should just work. 849 created, everything should just work.
848 850
849 AnyEvent::Impl::Qt based on Qt. 851 AnyEvent::Impl::Qt based on Qt.
850
851 Support for IO::Async can only be partial, as it is too broken and
852 architecturally limited to even support the AnyEvent API. It also is
853 the only event loop that needs the loop to be set explicitly, so it
854 can only be used by a main program knowing about AnyEvent. See
855 AnyEvent::Impl::IOAsync for the gory details.
856
857 AnyEvent::Impl::IOAsync based on IO::Async, cannot be autoprobed.
858 852
859 Event loops that are indirectly supported via other backends. 853 Event loops that are indirectly supported via other backends.
860 Some event loops can be supported via other modules: 854 Some event loops can be supported via other modules:
861 855
862 There is no direct support for WxWidgets (Wx) or Prima. 856 There is no direct support for WxWidgets (Wx) or Prima.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines