Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 684 lines (490 sloc) 24.994 kb
96ceb8b @rcaputo Initial revision
authored
1 # $Id$
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
2 # Copyrights and documentation are after __END__.
96ceb8b @rcaputo Initial revision
authored
3
4 package POE;
5
6 use strict;
ea6d5ca This patch is the beginning of RT#1692, hopefully I got them all, hel…
Larwan Berke authored
7 use Carp qw( croak );
372c3a1 @rcaputo Tweaking to get Makefile.PL working correctly.
authored
8
4dfde7b @rcaputo Ok. So I'm braindead from staring into SOAP modules all day. I
authored
9 use vars qw($VERSION $REVISION);
960f312 @rcaputo Bump up the version.
authored
10 $VERSION = '0.9999'; # NOTE - Should be #.#### (four decimal places)
cd2db72 @rcaputo Change the VERSION strings from cvs style to subversion.
authored
11 $REVISION = do {my($r)=(q$Revision$=~/(\d+)/);sprintf"1.%04d",$r};
4cdc9c6 @rcaputo macros, optimizations, comments. a lot of changes.
authored
12
372c3a1 @rcaputo Tweaking to get Makefile.PL working correctly.
authored
13 sub import {
14 my $self = shift;
6f253c6 @rcaputo Optimized POE::Preprocessor a bit, and added POE::NFA
authored
15
5d1b97a Remove the POE::Loop modules from the modules that need to be loaded
Martijn van Beers authored
16 my @loops = grep(/^Loop\:\:/, @_);
6f253c6 @rcaputo Optimized POE::Preprocessor a bit, and added POE::NFA
authored
17 my @sessions = grep(/^(Session|NFA)$/, @_);
5d1b97a Remove the POE::Loop modules from the modules that need to be loaded
Martijn van Beers authored
18 my @modules = grep(!/^(Kernel|Session|NFA|Loop)$/, @_);
6f253c6 @rcaputo Optimized POE::Preprocessor a bit, and added POE::NFA
authored
19
5d1b97a Remove the POE::Loop modules from the modules that need to be loaded
Martijn van Beers authored
20 croak "can't use multiple event loops at once"
21 if (@loops > 1);
500fb10 @rcaputo add new tescase for POE::NFA
authored
22 croak "POE::Session and POE::NFA export conflicting constants"
6f253c6 @rcaputo Optimized POE::Preprocessor a bit, and added POE::NFA
authored
23 if grep(/^(Session|NFA)$/, @sessions) > 1;
24
25 # If a session was specified, use that. Otherwise use Session.
26 if (@sessions) {
27 unshift @modules, @sessions;
28 }
29 else {
30 unshift @modules, 'Session';
31 }
372c3a1 @rcaputo Tweaking to get Makefile.PL working correctly.
authored
32
cb72f14 @rcaputo Applying a patch by Martijn van Beers. This change adds syntax for
authored
33 my $package = caller();
34 my @failed;
35
36 # Load POE::Kernel in the caller's package. This is separate
37 # because we need to push POE::Loop classes through POE::Kernel's
38 # import().
39
40 {
41 my $loop = "";
42 if (@loops) {
5d1b97a Remove the POE::Loop modules from the modules that need to be loaded
Martijn van Beers authored
43 $loop = "{ loop => '" . shift (@loops) . "' }";
cb72f14 @rcaputo Applying a patch by Martijn van Beers. This change adds syntax for
authored
44 }
45 my $code = "package $package; use POE::Kernel $loop;";
46 # warn $code;
47 eval $code;
48 if ($@) {
49 warn $@;
50 push @failed, "Kernel"
e5bc354 @rcaputo Instrument some code in POE's import, especially the code for explicit
authored
51 }
cb72f14 @rcaputo Applying a patch by Martijn van Beers. This change adds syntax for
authored
52 }
8ae8b71 @rcaputo Propagate the POE::Kernel TRACE and ASSERT constants into any other
authored
53
cb72f14 @rcaputo Applying a patch by Martijn van Beers. This change adds syntax for
authored
54 # Load all the others.
8429c0a @rcaputo forward module exports to the package using POE directly
authored
55
372c3a1 @rcaputo Tweaking to get Makefile.PL working correctly.
authored
56 foreach my $module (@modules) {
8429c0a @rcaputo forward module exports to the package using POE directly
authored
57 my $code = "package $package; use POE::$module;";
cb72f14 @rcaputo Applying a patch by Martijn van Beers. This change adds syntax for
authored
58 # warn $code;
8429c0a @rcaputo forward module exports to the package using POE directly
authored
59 eval($code);
60 if ($@) {
babfbeb @rcaputo propagate error messages from modules to user
authored
61 warn $@;
62 push(@failed, $module);
63 }
372c3a1 @rcaputo Tweaking to get Makefile.PL working correctly.
authored
64 }
65
66 @failed and croak "could not import qw(" . join(' ', @failed) . ")";
67 }
96ceb8b @rcaputo Initial revision
authored
68
69 1;
4cdc9c6 @rcaputo macros, optimizations, comments. a lot of changes.
authored
70
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
71 __END__
72
73 =head1 NAME
74
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
75 POE - portable multitasking and networking framework for Perl
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
76
77 =head1 SYNOPSIS
78
d8788af @rcaputo Big documentation rewrite
authored
79 #!/usr/bin/perl -w
80 use strict;
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
81
a57acda @rcaputo Document "use POE" magic.
authored
82 use POE; # Auto-includes POE::Kernel and POE::Session.
6f47304 @rcaputo clean up POD and whitespace
authored
83
f77c574 @rcaputo revised documentation
authored
84 sub handler_start {
d8788af @rcaputo Big documentation rewrite
authored
85 my ($kernel, $heap, $session) = @_[KERNEL, HEAP, SESSION];
86 print "Session ", $session->ID, " has started.\n";
87 $heap->{count} = 0;
88 $kernel->yield('increment');
89 }
90
f77c574 @rcaputo revised documentation
authored
91 sub handler_increment {
d8788af @rcaputo Big documentation rewrite
authored
92 my ($kernel, $heap, $session) = @_[KERNEL, HEAP, SESSION];
93 print "Session ", $session->ID, " counted to ", ++$heap->{count}, ".\n";
94 $kernel->yield('increment') if $heap->{count} < 10;
95 }
96
f77c574 @rcaputo revised documentation
authored
97 sub handler_stop {
d8788af @rcaputo Big documentation rewrite
authored
98 print "Session ", $_[SESSION]->ID, " has stopped.\n";
99 }
100
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
101 for (1..10) {
d8788af @rcaputo Big documentation rewrite
authored
102 POE::Session->create(
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
103 inline_states => {
104 _start => \&handler_start,
105 increment => \&handler_increment,
106 _stop => \&handler_stop,
107 }
d8788af @rcaputo Big documentation rewrite
authored
108 );
109 }
110
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
111 POE::Kernel->run();
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
112 exit;
113
333ddb3 @rcaputo document other resources early, so people can find them sooner
authored
114 =head1 DESCRIPTION
115
793304b @rcaputo Revise documentation in a major way.
authored
116 POE is a framework for cooperative, event driven multitasking and
117 networking in Perl. Other languages have similar frameworks. Python
118 has Twisted. TCL has "the event loop".
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
119
120 POE originally was developed as the core of a persistent object server
793304b @rcaputo Revise documentation in a major way.
authored
121 and runtime environment. It has since evolved into something much
122 more generic and widely useful.
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
123
793304b @rcaputo Revise documentation in a major way.
authored
124 POE provides a unified interface for several other event loops,
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
125 including select(), L<IO::Poll|IO::Poll>, L<Glib>, L<Gtk>, L<Tk>, L<Wx>,
2c3758b Mid-sized documenation update
Philip Gwyn authored
126 L<Gtk2>, and so on.
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
127 Check the CPAN for the full list of L<POE::Loop|POE::Loop> modules.
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
128
793304b @rcaputo Revise documentation in a major way.
authored
129 POE is designed in layers, each building atop the lower level ones.
130 Programs are free to use POE at any level of abstraction, and
131 different levels can be mixed and matched seamlessly within a single
132 program.
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
133
793304b @rcaputo Revise documentation in a major way.
authored
134 POE's bundled abstraction layers are the tip of a growing iceberg.
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
135 L<Sprocket>, L<POE::Stage|POE::Stage>, and other CPAN distributions build upon this
793304b @rcaputo Revise documentation in a major way.
authored
136 work. You're encouraged to look around.
4108539 @rcaputo Clean up the overview of Filter::Reference after someone (I forget!
authored
137
793304b @rcaputo Revise documentation in a major way.
authored
138 No matter how high you go, though, it all boils down to calls to
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
139 L<POE::Kernel|POE::Kernel>. So your down-to-earth code can easily cooperate
140 with stratospheric systems.
d8788af @rcaputo Big documentation rewrite
authored
141
793304b @rcaputo Revise documentation in a major way.
authored
142 =head2 Layer 1: Kernel and Sessions
dddc865 @rcaputo I discovered the podchecker utility, and ran it on POE's
authored
143
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
144 The lowest public layer is comprised of L<POE::Kernel|POE::Kernel>,
145 L<POE::Session|POE::Session>, and other session types.
d8788af @rcaputo Big documentation rewrite
authored
146
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
147 L<POE::Kernel|POE::Kernel> does most of the heavy lifting. It provides a portable
793304b @rcaputo Revise documentation in a major way.
authored
148 interface for filehandle activity detection, multiple alarms and other
149 timers, signal handling, and other less-common features.
d8788af @rcaputo Big documentation rewrite
authored
150
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
151 L<POE::Session|POE::Session> and derived classes encapsulate the notion of an event
793304b @rcaputo Revise documentation in a major way.
authored
152 driven task. They also customize event dispatch to a particular
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
153 calling convention. L<POE::NFA|POE::NFA>, for example, is more of a proper state
2c3758b Mid-sized documenation update
Philip Gwyn authored
154 machine. The CPAN has several other kinds of sessions.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
155
19bfcd5 @rcaputo Minor edits to POE and POE::Kernel. Major revisions to POE::Session.
authored
156 Everything ultimately builds on these classes or the concepts they
157 implement. If you're short on time, the things to read besides this
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
158 are L<POE::Kernel|POE::Kernel> and L<POE::Session|POE::Session>.
19bfcd5 @rcaputo Minor edits to POE and POE::Kernel. Major revisions to POE::Session.
authored
159
793304b @rcaputo Revise documentation in a major way.
authored
160 =head2 Layer 2: Wheels, Filters, and Drivers
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
161
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
162 POE::Wheel objects are dynamic mix-ins for POE::Session instances. These
163 "wheels" perform very common, generic tasks in a highly reusable and
164 customizable way. L<POE::Wheel::ReadWrite|POE::Wheel::ReadWrite>, for
165 example, implements non-blocking buffered I/O. Nearly everybody needs this,
166 so why require people to reinvent it all the time?
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
167
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
168 L<POE::Filter|POE::Filter> objects customize wheels in a modular way. Filters act as
793304b @rcaputo Revise documentation in a major way.
authored
169 I/O layers, turning raw streams into structured data, and serializing
2c3758b Mid-sized documenation update
Philip Gwyn authored
170 structures into something suitable for streams. The CPAN also has several
793304b @rcaputo Revise documentation in a major way.
authored
171 of these.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
172
2c3758b Mid-sized documenation update
Philip Gwyn authored
173 Drivers are where the wheels meet the road. In this case, the road is
793304b @rcaputo Revise documentation in a major way.
authored
174 some type of file handle. Drivers do the actual reading and writing
175 in a standard way so wheels don't need to know the difference between
176 send() and syswrite().
d8788af @rcaputo Big documentation rewrite
authored
177
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
178 L<POE::Driver|POE::Driver> objects get relatively short shrift because very few are
179 needed. The most common driver, L<POE::Driver::SysRW|POE::Driver::SysRW> is ubiquitous and
2c3758b Mid-sized documenation update
Philip Gwyn authored
180 also the default, so most people will never need to specify one.
181
793304b @rcaputo Revise documentation in a major way.
authored
182 =head2 Layer 3: Components
ad0d40f @rcaputo 0.08_05
authored
183
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
184 L<POE::Component|POE::Component> classes are essentially Perl classes that use POE to
793304b @rcaputo Revise documentation in a major way.
authored
185 perform tasks in a non-blocking or cooperative way. This is a very
186 broad definition, and POE components are all over the abstraction map.
ad0d40f @rcaputo 0.08_05
authored
187
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
188 Many components, such as L<POE::Component::Server::SMTP|POE::Component::Server::SMTP>, encapsulate the
793304b @rcaputo Revise documentation in a major way.
authored
189 generic details of an entire application. Others perform rather
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
190 narrow tasks, such as L<POE::Component::DirWatch::Object|POE::Component::DirWatch::Object>.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
191
793304b @rcaputo Revise documentation in a major way.
authored
192 POE components are often just plain Perl objects. The previously
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
193 mentioned L<POE::Component::DirWatch::Object|POE::Component::DirWatch::Object> uses L<Moose|Moose>. Other object
793304b @rcaputo Revise documentation in a major way.
authored
194 and meta-object frameworks are compatible.
626fc71 @rcaputo Bump the version number and halfheartedly revise the man page. The
authored
195
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
196 Also of interest is L<POE::Component::Generic|POE::Component::Generic>, which is allows you to create
2c3758b Mid-sized documenation update
Philip Gwyn authored
197 a POE component from nearly nearly any blocking module.
198
199 There are quite a lot of components on the CPAN.
200 L<http://search.cpan.org/search?query=poe+component&mode=all>
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
201
793304b @rcaputo Revise documentation in a major way.
authored
202 =head2 Layer 4 and Beyond: Frameworks and Object Metaphors
3ddd789 @rcaputo Updated Windows and MacOS support info. in POE's man page.
authored
203
793304b @rcaputo Revise documentation in a major way.
authored
204 It's possible to abstract POE entirely behind a different framework.
205 In fact we encourage people to write domain-specific abstractions that
206 entirely hide POE if necessary. The nice thing here is that even at
207 these high levels of abstraction, things will continue to interoperate
208 all the way down to layer 1.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
209
2c3758b Mid-sized documenation update
Philip Gwyn authored
210 Two examples of ultra-high level abstraction are L<Sprocket>, a networking
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
211 framework that does its own thing, and L<POE::Stage|POE::Stage>, which is POE's
2c3758b Mid-sized documenation update
Philip Gwyn authored
212 creator's attempt to formalize and standardize POE components.
213
214 It is also possible to communicate between POE processes. This is called
215 IKC, for I<Inter-Kernel Communication>. There are a few IKC components on
216 the CPAN (L<http://search.cpan.org/search?query=IKC&mode=all>), notably
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
217 L<POE::Component::IKC|POE::Component::IKC> and L<POE::TIKC|POE::TIKC>.
d8788af @rcaputo Big documentation rewrite
authored
218
793304b @rcaputo Revise documentation in a major way.
authored
219 =head2 Layer 0: POE's Internals
626fc71 @rcaputo Bump the version number and halfheartedly revise the man page. The
authored
220
2c3758b Mid-sized documenation update
Philip Gwyn authored
221 POE's layered architecture continues below the surface. POE's guts are
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
222 broken into specific L<POE::Loop|POE::Loop> classes for each event loop it supports.
223 Internals are divided up by type, giving L<POE::Resource|POE::Resource> classes for
2c3758b Mid-sized documenation update
Philip Gwyn authored
224 Aliases, Controls, Events, Extrefs, FileHandles, SIDs, Sessions, Signals,
225 and Statistics.
d8788af @rcaputo Big documentation rewrite
authored
226
793304b @rcaputo Revise documentation in a major way.
authored
227 POE::Kernel's APIs are extensible through POE::API mix-in classes.
228 Some brave souls have even published new APIs on CPAN, such as
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
229 L<POE::API::Peek|POE::API::Peek> (which gives you access to some of the internal
230 L<POE::Resource|POE::Resource> methods).
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
231
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
232 By design, it's possible to implement new L<POE::Kernel|POE::Kernel> guts by creating
233 another L<POE::Resource|POE::Resource> class. One can then expose the functionality with
2c3758b Mid-sized documenation update
Philip Gwyn authored
234 a new POE::API mix-in.
793304b @rcaputo Revise documentation in a major way.
authored
235
236 =head1 DOCUMENTATION ROADMAP
237
238 You're reading the main POE documentation. It's the general entry
239 point to the world of POE. You already know this, however, so let's
240 talk about something more interesting.
241
242 =head2 Basic Features
243
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
244 POE's basic features are documented mainly in L<POE::Kernel|POE::Kernel> and
245 L<POE::Session|POE::Session>. Methods are documented in the classes that implement
793304b @rcaputo Revise documentation in a major way.
authored
246 them. Broader concepts are covered in the most appropriate class, and
247 sometimes they are divided among classes that share in their
248 implementation.
249
8f0c235 @rcaputo Move the POE.pm use lines to POE::Kernel. Mark that contributors nee…
authored
250 =head2 Basic Usage
251
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
252 Basic usage, even for POE.pm, is documented in L<POE::Kernel|POE::Kernel>. That's
8f0c235 @rcaputo Move the POE.pm use lines to POE::Kernel. Mark that contributors nee…
authored
253 where most of POE's work is done, and POE.pm is little more than a
254 class loader.
255
793304b @rcaputo Revise documentation in a major way.
authored
256 =head2 @_[KERNEL, HEAP, etc.]
257
258 Event handler calling conventions, that weird C<@_[KERNEL, HEAP]>
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
259 stuff, is documented in L<POE::Session|POE::Session>. That's because POE::Session
793304b @rcaputo Revise documentation in a major way.
authored
260 implements the calling convention, and other session types often do it
261 differently.
262
263 =head2 Base Classes Document Common Features
d8788af @rcaputo Big documentation rewrite
authored
264
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
265 The L<POE::Wheel|POE::Wheel>, L<POE::Driver|POE::Driver>,
266 L<POE::Filter|POE::Filter>, and L<POE::Component|POE::Component> base
267 classes describe what's common among each class. It's a good idea to at
268 least skim the base class documentation since the subclasses tend not to
2c3758b Mid-sized documenation update
Philip Gwyn authored
269 rehash the common things.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
270
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
271 L<POE::Queue|POE::Queue>, L<POE::Resource|POE::Resource>, L<POE::Loop|POE::Loop>, and L<POE::API|POE::API> document the
793304b @rcaputo Revise documentation in a major way.
authored
272 concepts and sometimes the standard interfaces behind multiple
273 subclasess. You're encouraged to have a look.
3ddd789 @rcaputo Updated Windows and MacOS support info. in POE's man page.
authored
274
793304b @rcaputo Revise documentation in a major way.
authored
275 =head2 Helper Classes
276
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
277 POE includes some helper classes for portability. L<POE::Pipe|POE::Pipe>, and its
278 subclasses L<POE::Pipe::OneWay|POE::Pipe::OneWay> and L<POE::Pipe::TwoWay|POE::Pipe::TwoWay> are portable pipes.
793304b @rcaputo Revise documentation in a major way.
authored
279
280 =head2 Event Loop Bridges
281
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
282 L<POE::Loop|POE::Loop> documents and specifies the interface for all of POE's event
793304b @rcaputo Revise documentation in a major way.
authored
283 loop bridges. The individual classes may document specific details,
284 but generally they adhere to the spec strongly enough that they don't
285 need to.
286
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
287 Many of the existing L<POE::Loop|POE::Loop> bridges provided in POE's base
793304b @rcaputo Revise documentation in a major way.
authored
288 distribution will move out to separate distributions shortly. The
289 documentation will probably remain the same, however.
290
291 =head2 POE::Queue and POE::Queue::Array
292
293 POE's event queue is basically a priority heap implemented as an
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
294 ordered array. L<POE::Queue|POE::Queue> documents the standard interface for POE
295 event queues, and L<POE::Queue::Array|POE::Queue::Array> implements the ordered array
296 queue. Tony Cook has released L<POE::XS::Queue::Array|POE::XS::Queue::Array>, which is a
297 drop-in C replacement for L<POE::Queue::Array|POE::Queue::Array>. You might give it a try
793304b @rcaputo Revise documentation in a major way.
authored
298 if you need more performance. POE's event queue is some of the
299 hottest code in the system.
300
301 =head2 This Section Isn't Complete
302
303 Help organize the documentation. Obviously we can't think of
304 everything. We're well aware of this and welcome audience
305 participation.
306
307 =head2 See SEE ALSO
308
309 Wherever possible, the SEE ALSO section will cross-reference one
310 module to related ones.
311
312 =head2 Don't Forget the Web
313
314 Finally, there are many POE resources on the web. The CPAN contains a
315 growing number of POE modules. L<http://poe.perl.org/> hosts POE's
316 wiki, which includes tutorials, an extensive set of examples,
317 documentation, and more. Plus it's a wiki, so you can trivially pitch
318 in your two cents.
319
320 =head1 SYSTEM REQUIREMENTS
321
322 POE's basic requirements are rather light. Most are included with
323 modern versions of Perl, and the rest (if any) should be generally
324 portable by now.
325
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
326 L<Time::HiRes|Time::HiRes> is highly recommended, even for older Perls that don't
2c3758b Mid-sized documenation update
Philip Gwyn authored
327 include it. POE will work without it, but alarms and other features will be
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
328 much more accurate if it's included. L<POE::Kernel|POE::Kernel> will use Time::HiRes
793304b @rcaputo Revise documentation in a major way.
authored
329 automatically if it's available.
d8788af @rcaputo Big documentation rewrite
authored
330
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
331 L<POE::Filter::Reference|POE::Filter::Reference> needs a module to serialize data for transporting
332 it across a network. It will use L<Storable|Storable>, L<FreezeThaw|FreezeThaw>, L<YAML|YAML>, or
2c3758b Mid-sized documenation update
Philip Gwyn authored
333 some other package with freeze() and thaw() methods. It can also use
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
334 L<Compress::Zlib|Compress::Zlib> to conserve bandwidth and reduce latency over slow links, but
2c3758b Mid-sized documenation update
Philip Gwyn authored
335 it's not required.
d8788af @rcaputo Big documentation rewrite
authored
336
2c3758b Mid-sized documenation update
Philip Gwyn authored
337 If you want to write web servers, you'll need to install libwww-perl, which
338 requires libnet. This is a small world of modules that includes
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
339 L<HTTP::Status|HTTP::Status>, L<HTTP::Request|HTTP::Request>,
340 L<HTTP::Date|HTTP::Date>, and L<HTTP::Response|HTTP::Response>. They are
341 generally good to have, and modern versions of Perl even include them.
d8788af @rcaputo Big documentation rewrite
authored
342
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
343 Programs that use L<POE::Wheel::Curses|POE::Wheel::Curses> will of course
344 require the L<Curses> module, which in turn requires some sort of
345 curses library.
a4c9dd9 @rcaputo update Windows support docs, and a few other bits
authored
346
2c3758b Mid-sized documenation update
Philip Gwyn authored
347 If you're using POE with Tk, you'll need L<Tk> installed.
d8788af @rcaputo Big documentation rewrite
authored
348
793304b @rcaputo Revise documentation in a major way.
authored
349 And other obvious things. Let us know if we've overlooked a
350 non-obvious detail.
d8788af @rcaputo Big documentation rewrite
authored
351
793304b @rcaputo Revise documentation in a major way.
authored
352 =head1 COMPATIBILITY ISSUES
f77c574 @rcaputo revised documentation
authored
353
793304b @rcaputo Revise documentation in a major way.
authored
354 One of POE's design goals is to be as portable as possible. That's
355 why it's written in "Plain Perl". XS versions of POE modules are
356 avaliable as third-party distributions. Parts of POE that require
357 nonstandard libraries are optional, and not having those libraries
358 should not prevent POE from installing.
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
359
793304b @rcaputo Revise documentation in a major way.
authored
360 Despite Chris Williams' efforts, we can't test POE everywhere. Please
361 see the GETTING HELP section if you run into a problem.
d8788af @rcaputo Big documentation rewrite
authored
362
793304b @rcaputo Revise documentation in a major way.
authored
363 POE is expected to work on most forms of UNIX, including FreeBSD,
364 MacOS X, Linux, Solaris. Maybe even AIX and QNX, but we're not sure.
d8788af @rcaputo Big documentation rewrite
authored
365
793304b @rcaputo Revise documentation in a major way.
authored
366 POE has also been tested on Windows XP, using the latest version of
367 ActiveState Perl and Cygwin Perl. Support for the Neopolitan Perls
368 (Vanilla, Strawberry and Chocolate) is still early, but there should
369 be no major showstoppers.
d8788af @rcaputo Big documentation rewrite
authored
370
793304b @rcaputo Revise documentation in a major way.
authored
371 OS/2 and MacOS 9 have been reported to work in the past, but nobody
372 seems to be testing there anymore. Reports and patches are still
373 welcome.
d814423 @rcaputo doc patch and 19_filterchange.t Storable tweak
authored
374
793304b @rcaputo Revise documentation in a major way.
authored
375 Past versions of POE have been tested with Perl versions as far back
376 as 5.004_03 and as recent as "blead", today's development build. We
377 can no longer guarantee each release will work everywhere, but we will
378 be happy to work with you if you need special support for a really old
379 system.
d8788af @rcaputo Big documentation rewrite
authored
380
793304b @rcaputo Revise documentation in a major way.
authored
381 POE's quality is due in large part to the fine work of Chris Williams
382 and the other CPAN testers. They have dedicated resources towards
383 ensuring CPAN distributions pass their own tests, and we watch their
384 reports religiously. You can, too. The latest POE test reports can
385 be found at <http://testers.cpan.org/search?request=dist&dist=POE>.
d8788af @rcaputo Big documentation rewrite
authored
386
793304b @rcaputo Revise documentation in a major way.
authored
387 Thanks also go out to Benjamin Smith and the 2006 Google Summer of
388 Code. Ben was awarded a grant to improve POE's test suite, which he
389 did admirably.
390
391 =head2 Windows Issues
392
393 POE seems to work very nicely with Perl compiled for Cygwin. If you
394 must use ActiveState Perl, please use the absolute latest version.
395 ActiveState Perl's compatibility fluctuates from one build to another,
396 so we tend not to support older releases.
397
398 Windows and ActiveState Perl are considered an esoteric platform due
399 to the complex interactions between various versions. POE therefore
400 relies on user feedback and support here.
401
402 A number of people have helped bring POE's Windows support this far,
403 through contributions of time, patches, and other resources. Some of
404 them are: Sean Puckett, Douglas Couch, Andrew Chen, Uhlarik Ondoej,
405 Nick Williams, and Chris Williams (no relation).
406
407 =head2 Other Compatibility Issues
408
409 None currently known. See GETTING HELP below if you've run into
410 something.
411
412 =head1 GETTING HELP
413
414 POE's developers take pride in its quality. If you encounter a
415 problem, please let us know.
416
417 =head2 POE's Request Tracker
418
419 You're welcome to e-mail questions and bug reports to
420 <bug-POE@rt.cpan.org>. This is not a realtime support channel,
421 though. If you need a more immediate response, try one of the methods
422 below.
423
424 =head2 POE's Mailing List
425
426 POE has a dedicated mailing list where developers and users discuss
427 the software and its use. You're welcome to join us. Send an e-mail
428 to <poe-help@perl.org> for subscription instructions. The subject and
429 message body are ignored.
430
431 =head2 POE's Web Site
432
433 <http://poe.perl.org> contains recent information, tutorials, and
434 examples. It's also a wiki, so people are invited to share tips and
435 code snippets there as well.
436
23912e3 @rcaputo Add a reference to POE's subversion repository, per Zoffix's
authored
437 =head2 POE's Source Code
438
439 The following command will fetch the most current version of POE into
440 the "poe" subdirectory:
441
442 svn co https://poe.svn.sourceforge.net/svnroot/poe poe
443
793304b @rcaputo Revise documentation in a major way.
authored
444 =head2 SourceForge
445
446 http://sourceforge.net/projects/poe/ is POE's project page.
447
448 =head2 Internet Relay Chat (IRC)
449
450 irc.perl.org channel #poe is an informal place to waste some time and
451 maybe even discuss Perl and POE. Consider an SSH relay if your
452 workplace frowns on IRC. But only if they won't fire you if you're
453 caught.
454
455 =head2 Personal Support
456
457 Unfortunately we don't have resources to provide free one-on-one
458 personal support anymore. We'll do it for a fee, though. Send Rocco
459 an e-mail via his CPAN address.
d8788af @rcaputo Big documentation rewrite
authored
460
f77c574 @rcaputo revised documentation
authored
461 =head1 SEE ALSO
d8788af @rcaputo Big documentation rewrite
authored
462
793304b @rcaputo Revise documentation in a major way.
authored
463 Broken down by abstraction layer.
464
465 TODO - Verify this is complete.
466
467 =head2 Layer 1
468
2c3758b Mid-sized documenation update
Philip Gwyn authored
469 L<POE::Kernel>, L<POE::Session>, L<POE::NFA>
f77c574 @rcaputo revised documentation
authored
470
793304b @rcaputo Revise documentation in a major way.
authored
471 =head2 Layer 2
472
2c3758b Mid-sized documenation update
Philip Gwyn authored
473 L<POE::Wheel>, L<POE::Wheel::Curses>, L<POE::Wheel::FollowTail>,
474 L<POE::Wheel::ListenAccept>, L<POE::Wheel::ReadLine>, L<POE::Wheel::ReadWrite>,
475 L<POE::Wheel::Run>, L<POE::Wheel::SocketFactory>
f77c574 @rcaputo revised documentation
authored
476
2c3758b Mid-sized documenation update
Philip Gwyn authored
477 L<POE::Driver>, L<POE::Driver::SysRW>
296aa91 @rcaputo finally add Dieter Pearcey's stackable filters
authored
478
2c3758b Mid-sized documenation update
Philip Gwyn authored
479 L<POE::Filter>, L<POE::Filter::Block>, L<POE::Filter::Grep>,
480 L<POE::Filter::HTTPD>, L<POE::Filter::Line>, L<POE::Filter::Map>,
481 L<POE::Filter::RecordBlock>, L<POE::Filter::Reference>,
482 L<POE::Filter::Stackable>, L<POE::Filter::Stream>
296aa91 @rcaputo finally add Dieter Pearcey's stackable filters
authored
483
793304b @rcaputo Revise documentation in a major way.
authored
484 =head2 Layer 3
485
2c3758b Mid-sized documenation update
Philip Gwyn authored
486 L<POE::Component>, L<POE::Component::Client::TCP>,
487 L<POE::Component::Server::TCP>
f77c574 @rcaputo revised documentation
authored
488
793304b @rcaputo Revise documentation in a major way.
authored
489 =head2 Layer 0
490
2c3758b Mid-sized documenation update
Philip Gwyn authored
491 L<POE::Loop>, L<POE::Loop::Event>, L<POE::Loop::Gtk>, L<POE::Loop::IO_Poll>,
492 L<POE::Loop::Select>, L<POE::Loop::Tk>
f77c574 @rcaputo revised documentation
authored
493
2c3758b Mid-sized documenation update
Philip Gwyn authored
494 L<POE::Queue>, L<POE::Queue::Array>
296aa91 @rcaputo finally add Dieter Pearcey's stackable filters
authored
495
2c3758b Mid-sized documenation update
Philip Gwyn authored
496 L<POE::Resource>, L<POE::Resource::Aliases>, L<POE::Resource::Events>,
497 L<POE::Resource::Extrefs>, L<POE::Resource::FileHandles>,
498 L<POE::Resource::Performance>, L<POE::Resource::SIDs>,
499 L<POE::Resource::Sessions>, L<POE::Resource::Signals>
f77c574 @rcaputo revised documentation
authored
500
793304b @rcaputo Revise documentation in a major way.
authored
501 =head2 Helpers
502
2c3758b Mid-sized documenation update
Philip Gwyn authored
503 L<POE::Pipe>, L<POE::Pipe::OneWay>, L<POE::Pipe::TwoWay>
793304b @rcaputo Revise documentation in a major way.
authored
504
f77c574 @rcaputo revised documentation
authored
505 =head1 BUGS
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
506
793304b @rcaputo Revise documentation in a major way.
authored
507 The tests only cover about 70% of POE. Getting higher coverage is
508 really hard.
792d01e @rcaputo Documentation tweaks. Bump the version up to 0.31 for release.
authored
509
510 Bug reports, suggestions, and feedback of all kinds should be e-mailed
793304b @rcaputo Revise documentation in a major way.
authored
511 to <bug-POE@rt.cpan.org>. They will be entered into our request queue
512 and remain there until addressed. If your return address is valid,
513 you'll be notified when the status of your request changes.
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
514
793304b @rcaputo Revise documentation in a major way.
authored
515 Outstanding issues, including wish list items, are browsable in POE's
792d01e @rcaputo Documentation tweaks. Bump the version up to 0.31 for release.
authored
516 RT queue at L<http://rt.cpan.org/>.
ad0d40f @rcaputo 0.08_05
authored
517
d8788af @rcaputo Big documentation rewrite
authored
518 =head1 AUTHORS & COPYRIGHT
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
519
793304b @rcaputo Revise documentation in a major way.
authored
520 POE is the combined effort of quite a lot of people. This is an
521 incomplete list of some early contributors. A more complete list can
522 be found in POE's change log.
d8788af @rcaputo Big documentation rewrite
authored
523
524 =over 2
525
726aee4 @rcaputo credit more people
authored
526 =item Ann Barcomb
d8788af @rcaputo Big documentation rewrite
authored
527
726aee4 @rcaputo credit more people
authored
528 Ann Barcomb is <kudra@domaintje.com>, aka C<kudra>. Ann contributed
626fc71 @rcaputo Bump the version number and halfheartedly revise the man page. The
authored
529 large portions of POE::Simple and the code that became the ReadWrite
da6a2f2 @rcaputo Matt Sergeant contributed POE::Kernel::Poll, an event loop substrate
authored
530 support in POE::Component::Server::TCP. Her ideas also inspired
531 Client::TCP component, introduced in version 0.1702.
d8788af @rcaputo Big documentation rewrite
authored
532
f77c574 @rcaputo revised documentation
authored
533 =item Artur Bergman
d8788af @rcaputo Big documentation rewrite
authored
534
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
535 Artur Bergman is <sky@cpan.org>. He contributed many hours' work into
536 POE and quite a lot of ideas. Years later, I decide he's right and
537 actually implement them.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
538
f77c574 @rcaputo revised documentation
authored
539 Artur is the author of Filter::HTTPD and Filter::Reference, as well as
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
540 bits and pieces throughout POE. His feedback, testing, design and
541 inspiration have been instrumental in making POE what it is today.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
542
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
543 Artur is investing his time heavily into perl 5's iThreads and PONIE
544 at the moment. This project has far-reaching implications for POE's
545 future.
726aee4 @rcaputo credit more people
authored
546
547 =item Jos Boumans
548
549 Jos Boumans is <boumans@frg.eur.nl>, aka C<Co-Kane>. Jos is a major
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
550 driving force behind the POE::Simple movement and has helped inspire
551 the POE::Components for TCP clients and servers.
726aee4 @rcaputo credit more people
authored
552
553 =item Matt Cashner
554
957c350 @sungo update my email address
sungo authored
555 Matt Cashner is <sungo@pobox.com>, aka C<sungo>. Matt is one of POE's
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
556 core developers. He's spearheaded the movement to simplify POE for
557 new users, flattening the learning curve and making the system more
558 accessible to everyone. He uses the system in mission critical
559 applications, folding feedback and features back into the distribution
560 for everyone's enjoyment.
726aee4 @rcaputo credit more people
authored
561
562 =item Andrew Chen
563
626fc71 @rcaputo Bump the version number and halfheartedly revise the man page. The
authored
564 Andrew Chen is <achen-poe@micropixel.com>. Andrew is the resident
565 POE/Windows guru. He contributes much needed testing for Solaris on
566 the SPARC and Windows on various Intel platforms.
726aee4 @rcaputo credit more people
authored
567
f77c574 @rcaputo revised documentation
authored
568 =item Douglas Couch
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
569
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
570 Douglas Couch is <dscouch@purdue.edu>. Douglas helped port and
571 maintain POE for Windows early on.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
572
726aee4 @rcaputo credit more people
authored
573 =item Jeffrey Goff
574
575 Jeffrey Goff is <jgoff@blackboard.com>. Jeffrey is the author of
576 several POE modules, including a tokenizing filter and a component for
577 managing user information, PoCo::UserBase. He's also co-author of "A
578 Beginner's Introduction to POE" at www.perl.com.
579
f77c574 @rcaputo revised documentation
authored
580 =item Philip Gwyn
d8788af @rcaputo Big documentation rewrite
authored
581
f77c574 @rcaputo revised documentation
authored
582 Philip Gwyn is <gwynp@artware.qc.ca>. He extended the Wheels I/O
583 abstraction to support hot-swappable filters, and he eventually
626fc71 @rcaputo Bump the version number and halfheartedly revise the man page. The
authored
584 convinced Rocco that unique session and kernel IDs were a good thing.
d8788af @rcaputo Big documentation rewrite
authored
585
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
586 Philip also enhanced L<POE::Filter::Reference|POE::Filter::Reference> to
587 support different serialization methods. He has also improved POE's quality
588 by finding and fixing several bugs. He provided POE a much needed code
589 review around version 0.06.
d8788af @rcaputo Big documentation rewrite
authored
590
726aee4 @rcaputo credit more people
authored
591 =item Arnar M. Hrafnkelsson
592
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
593 Arnar is <addi@umich.edu>. Addi tested POE and L<POE::Component::IRC|POE::Component::IRC> on
2c3758b Mid-sized documenation update
Philip Gwyn authored
594 Windows, finding bugs and testing fixes. He appears throughout the Changes
595 file. He has also written "cpoe", which is a POE-like library for C.
726aee4 @rcaputo credit more people
authored
596
f77c574 @rcaputo revised documentation
authored
597 =item Dave Paris
d8788af @rcaputo Big documentation rewrite
authored
598
f77c574 @rcaputo revised documentation
authored
599 Dave Paris is <dparis@w3works.com>. Dave tested and benchmarked POE
600 around version 0.05, discovering some subtle (and not so subtle)
601 timing problems. The pre-forking server sample was his idea.
641566b @rcaputo I accidentally rewrote the documentation for this module.
authored
602 Versions 0.06 and later scaled to higher loads because of his work.
603 He has contributed a lot of testing and feedback, much of which is
604 tagged in the Changes file as a-mused. The man is scarily good at
605 testing and troubleshooting.
761b0d6 @rcaputo speed up kernel; fix bad filehandle in test 4
authored
606
f77c574 @rcaputo revised documentation
authored
607 =item Dieter Pearcey
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
608
2c3758b Mid-sized documenation update
Philip Gwyn authored
609 Dieter Pearcey is <dieter@bullfrog.perlhacker.org>. He goes by several
610 Japanese nicknames. Dieter's current area of expertise is in Wheels and
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
611 Filters. He greatly improved L<POE::Wheel::FollowTail|POE::Wheel::FollowTail>, and his Filter
2c3758b Mid-sized documenation update
Philip Gwyn authored
612 contributions include the basic Block filter, as well as Stackable,
613 RecordBlock, Grep and Map.
c575666 @rcaputo added Filter::Block and Dieter's FollowTail patches; finishing touche…
authored
614
f77c574 @rcaputo revised documentation
authored
615 =item Robert Seifer
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
616
d8788af @rcaputo Big documentation rewrite
authored
617 Robert Seifer is <e-mail unknown>. He rotates IRC nicknames
618 regularly.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
619
d8788af @rcaputo Big documentation rewrite
authored
620 Robert contributed entirely too much time, both his own and his
621 computers, towards the detection and eradication of a memory
622 corruption bug that POE tickled in earlier Perl versions. In the end,
623 his work produced a simple compile-time hack that worked around a
624 problem relating to anonymous subs, scope and @{} processing.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
625
da6a2f2 @rcaputo Matt Sergeant contributed POE::Kernel::Poll, an event loop substrate
authored
626 =item Matt Sergeant
627
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
628 Matt contributed L<POE::Kernel::Poll|POE::Kernel::Poll>, a more efficient way to watch
f06f820 @rcaputo Mike Castle found references to the old POE::Loop::Poll in the
authored
629 multiple files than select(). It's since been moved to
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
630 L<POE::Loop::IO_Poll|POE::Loop::IO_Poll>.
da6a2f2 @rcaputo Matt Sergeant contributed POE::Kernel::Poll, an event loop substrate
authored
631
726aee4 @rcaputo credit more people
authored
632 =item Richard Soderberg
633
634 Richard Soderberg is <poe@crystalflame.net>, aka C<coral>. Richard is
635 a collaborator on several side projects involving POE. His work
636 provides valuable testing and feedback from a user's point of view.
637
f77c574 @rcaputo revised documentation
authored
638 =item Dennis Taylor
197063a @rcaputo gutted and rewrote Filter::Line's innards for extra options
authored
639
640 Dennis Taylor is <dennis@funkplanet.com>. Dennis has been testing,
641 debugging and patching bits here and there, such as Filter::Line which
642 he improved by leaps in 0.1102. He's also the author of
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
643 L<POE::Component::IRC|POE::Component::IRC>, the widely popular POE-based successor to his
644 wildly popular L<Net::IRC|Net::IRC> library.
197063a @rcaputo gutted and rewrote Filter::Line's innards for extra options
authored
645
80972fc @xantus add blurb about myself to the contributers list
xantus authored
646 =item David Davis
647
648 David Davis, aka Xantus is <xantus@cpan.org>. David contributed patches
fd8c1b4 All L<module> to L<module|module> to prevent pod2html outputing 'the …
Philip Gwyn authored
649 to the HTTPD filter, and added CALLER_STATE to L<POE::Session|POE::Session>. He is the
80972fc @xantus add blurb about myself to the contributers list
xantus authored
650 author of L<Sprocket>, a networking framework built on POE.
651
f77c574 @rcaputo revised documentation
authored
652 =item Others?
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
653
793304b @rcaputo Revise documentation in a major way.
authored
654 Please contact the author if you've been forgotten and would like to
655 be included here.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
656
8f0c235 @rcaputo Move the POE.pm use lines to POE::Kernel. Mark that contributors nee…
authored
657 TODO - This section has fallen into disrepair. A POE historian needs
658 to cull the CHANGES for the names of major contributors.
659
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
660 =back
661
662 =head2 Author
663
d8788af @rcaputo Big documentation rewrite
authored
664 =over 2
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
665
f77c574 @rcaputo revised documentation
authored
666 =item Rocco Caputo
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
667
793304b @rcaputo Revise documentation in a major way.
authored
668 Rocco Caputo is <rcaputo@cpan.org>. POE is his brainchild. He wishes
669 to thank you for your interest, and he has more thanks than he can
670 count for all the people who have contributed. POE would not be
671 nearly as cool without you.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
672
793304b @rcaputo Revise documentation in a major way.
authored
673 Except where otherwise noted, POE is Copyright 1998-2007 Rocco Caputo.
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
674 All rights reserved. POE is free software; you may redistribute it
675 and/or modify it under the same terms as Perl itself.
676
d8788af @rcaputo Big documentation rewrite
authored
677 =back
678
679 Thank you for reading!
680
0d6f19d @rcaputo Revised all the manpages. Split the manpages into separate PODs, and
authored
681 =cut
82929ed @rcaputo Mark files that need to be redocumented.
authored
682
683 # rocco // vim: ts=2 sw=2 expandtab
Something went wrong with that request. Please try again.