Perl Object Environment: Difference between revisions

Content deleted Content added
m fixing link to dab page: You can help!
m move loops link
Line 6:
 
From CPAN:
:''"POE originally was developed as the core of a persistent object server and runtime environment. It has evolved into a general purpose multitasking and networking framework, encompassing and providing a consistent interface to other event [[Control flow#Loops|loops]] such as Event and the Tk and Gtk toolkits."''
 
==POE Architecture: Layers of Abstraction ==
Line 12:
 
===The event layer===
The informal architecture consists of a set of layers with a [[Kernel (computer_science)|kernel]] on the bottom. This tiny kernel represents the events layer which operates as the main [[Control flow#Loop|loop]] of each running POE instance. The first call is to the "event dispatcher" - '''POE::Kernel'''.
 
The POE::Kernel namespace contains a suite of functions which are plugged-in to the kernel itself. These loop abstractions are designed after POE's standardized event loop bridge interface - '''POE::Loop'''. These can be mixed and matched as needed to provide runtime services and a lean facility for [[interprocess communication]]. The basic functions are '''POE::Loop::Event''', '''POE::Loop::Poll''' and '''POE::Loop::Select'''. Also available are '''POE::Loop::Tk''' and '''POE::Loop::Gtk''' that offer hooks into other loop bridges in the external environment. If that isn't enough, the POE::Loop kernel abstraction provides reusable signal callbacks, time or alarm callbacks, and filehandle activity callbacks as well as administrative functions such as initializing, executing, and finalizing event loops.