Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 531 lines (381 sloc) 17.45 kb
96ceb8b Rocco Caputo Initial revision
authored
1 # $Id$
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
2 # Copyrights and documentation are after __END__.
96ceb8b Rocco Caputo 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, help m...
Larwan Berke authored
7 use Carp qw( croak );
372c3a1 Rocco Caputo Tweaking to get Makefile.PL working correctly.
authored
8
4dfde7b Rocco Caputo Ok. So I'm braindead from staring into SOAP modules all day. I
authored
9 use vars qw($VERSION $REVISION);
d0131a5 Rocco Caputo Some CPAN testers failures have been addressed. Time for 0.3601.
authored
10 $VERSION = '0.3601';
cd2db72 Rocco Caputo Change the VERSION strings from cvs style to subversion.
authored
11 $REVISION = do {my($r)=(q$Revision$=~/(\d+)/);sprintf"1.%04d",$r};
4cdc9c6 Rocco Caputo macros, optimizations, comments. a lot of changes.
authored
12
372c3a1 Rocco Caputo Tweaking to get Makefile.PL working correctly.
authored
13 sub import {
14 my $self = shift;
6f253c6 Rocco Caputo 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 Rocco Caputo 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 Rocco Caputo 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 Rocco Caputo add new tescase for POE::NFA
authored
22 croak "POE::Session and POE::NFA export conflicting constants"
6f253c6 Rocco Caputo 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 Rocco Caputo Tweaking to get Makefile.PL working correctly.
authored
32
cb72f14 Rocco Caputo 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 Rocco Caputo 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 Rocco Caputo Instrument some code in POE's import, especially the code for explicit
authored
51 }
cb72f14 Rocco Caputo Applying a patch by Martijn van Beers. This change adds syntax for
authored
52 }
8ae8b71 Rocco Caputo Propagate the POE::Kernel TRACE and ASSERT constants into any other
authored
53
cb72f14 Rocco Caputo Applying a patch by Martijn van Beers. This change adds syntax for
authored
54 # Load all the others.
8429c0a Rocco Caputo forward module exports to the package using POE directly
authored
55
372c3a1 Rocco Caputo Tweaking to get Makefile.PL working correctly.
authored
56 foreach my $module (@modules) {
8429c0a Rocco Caputo forward module exports to the package using POE directly
authored
57 my $code = "package $package; use POE::$module;";
cb72f14 Rocco Caputo Applying a patch by Martijn van Beers. This change adds syntax for
authored
58 # warn $code;
8429c0a Rocco Caputo forward module exports to the package using POE directly
authored
59 eval($code);
60 if ($@) {
babfbeb Rocco Caputo propagate error messages from modules to user
authored
61 warn $@;
62 push(@failed, $module);
63 }
372c3a1 Rocco Caputo Tweaking to get Makefile.PL working correctly.
authored
64 }
65
66 @failed and croak "could not import qw(" . join(' ', @failed) . ")";
67 }
96ceb8b Rocco Caputo Initial revision
authored
68
69 #------------------------------------------------------------------------------
70
71 sub new {
72 my $type = shift;
73 croak "$type is not meant to be used directly";
74 }
75
76 #------------------------------------------------------------------------------
77 1;
4cdc9c6 Rocco Caputo macros, optimizations, comments. a lot of changes.
authored
78
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
79 __END__
80
81 =head1 NAME
82
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
83 POE - portable multitasking and networking framework for Perl
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
84
85 =head1 SYNOPSIS
86
d8788af Rocco Caputo Big documentation rewrite
authored
87 #!/usr/bin/perl -w
88 use strict;
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
89
d8788af Rocco Caputo Big documentation rewrite
authored
90 # Use POE!
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
91 use POE;
6f47304 Rocco Caputo clean up POD and whitespace
authored
92
f77c574 Rocco Caputo revised documentation
authored
93 sub handler_start {
d8788af Rocco Caputo Big documentation rewrite
authored
94 my ($kernel, $heap, $session) = @_[KERNEL, HEAP, SESSION];
95 print "Session ", $session->ID, " has started.\n";
96 $heap->{count} = 0;
97 $kernel->yield('increment');
98 }
99
f77c574 Rocco Caputo revised documentation
authored
100 sub handler_increment {
d8788af Rocco Caputo Big documentation rewrite
authored
101 my ($kernel, $heap, $session) = @_[KERNEL, HEAP, SESSION];
102 print "Session ", $session->ID, " counted to ", ++$heap->{count}, ".\n";
103 $kernel->yield('increment') if $heap->{count} < 10;
104 }
105
f77c574 Rocco Caputo revised documentation
authored
106 sub handler_stop {
d8788af Rocco Caputo Big documentation rewrite
authored
107 print "Session ", $_[SESSION]->ID, " has stopped.\n";
108 }
109
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
110 for (1..10) {
d8788af Rocco Caputo Big documentation rewrite
authored
111 POE::Session->create(
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
112 inline_states => {
113 _start => \&handler_start,
114 increment => \&handler_increment,
115 _stop => \&handler_stop,
116 }
d8788af Rocco Caputo Big documentation rewrite
authored
117 );
118 }
119
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
120 POE::Kernel->run();
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
121 exit;
122
333ddb3 Rocco Caputo document other resources early, so people can find them sooner
authored
123 =head1 DESCRIPTION
124
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
125 POE is a framework for cooperative, event driven multitasking in Perl.
126 Other languages have similar frameworks. Python has Twisted. TCL has
127 "the event loop".
128
129 POE originally was developed as the core of a persistent object server
130 and runtime environment. It has evolved into a general purpose
131 multitasking and networking framework, encompassing and providing a
132 consistent interface to other event loops such as Event and the Tk and
133 Gtk toolkits.
134
82f8087 Rocco Caputo Attempt to resolve a documentation incongruity, per Tim Otten's report
authored
135 POE is written in layers, each building upon previous ones. It's
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
136 therefore possible to use POE at varying levels of abstraction.
137
82f8087 Rocco Caputo Attempt to resolve a documentation incongruity, per Tim Otten's report
authored
138 The most basic layer is comprised of POE::Kernel and POE::Session.
139 The former class acts as POE's event watcher and dispatcher, while the
140 latter encapsulates the notion of an event driven task.
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
141
142 POE::Wheel classes operate at a slightly higher level. They plug into
143 sessions and perform very common, general tasks. For example,
82f8087 Rocco Caputo Attempt to resolve a documentation incongruity, per Tim Otten's report
authored
144 POE::Wheel::ReadWrite performs buffered I/O. Unlike cheese, wheels do
145 not stand alone. They are customized by POE::Driver and POE::Filter
146 classes. Using the appropriate filter, a ReadWrite wheel can read and
147 write streams, lines, fixed-length blocks, HTTP requests and
148 responses, and so on.
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
149
150 The highest level of POE programming uses components. They may
151 perform narrowly defined tasks, such as POE::Component::Child (on the
152 CPAN). Often they encapsulate nearly everything necessary for an
153 entire program.
154
155 Every level eventually boils down to the lowest common
156 denominator---POE::Kernel and POE::Session. Because of this, classes
157 coexist and cooperate at every level of abstraction.
158
159 =head1 DOCUMENTATION ROADMAP
160
161 POE's documentation rewards the methodical reader. Skim everything,
162 and you should have a pretty good idea of what's available and where
163 to find it later.
164
165 You're reading the main POE document. It's the general entry point to
166 POE's documentation.
167
168 Documentation for POE's basic features is spread across POE::Kernel
169 and POE::Session in non-intuitive ways. POE turns out to be difficult
170 to document from either module's perspective, so there is a lot of
171 overlap and cross-referencing. We have plans to rewrite them, but
172 that only helps if you want to join in the fun.
173
174 POE::NFA is a second kind of session---a Non-deterministic Finite
175 Automaton class, which happens to be driven by events. This is an
176 abstract state machine, which can be either Mealy or Moore (or a
177 little bit of both, or neither) depending on how it's configured.
178
179 POE::Wheel, POE::Driver, POE::Filter, and POE::Component describe
180 entire classes of modules in broad strokes. Where applicable, they
181 document the features common among their subclasses. This is
182 confusing, since most people are inclined to read POE::Wheel::Foo and
183 assume that something doesn't exist if it's not there.
184
185 There are also some helper classes. POE::Pipe is the base class for
186 POE::Pipe::OneWay and POE::Pipe::TwoWay. They are portable pipe
187 creation functions, mainly for POE's test suite. POE::Preprocessor is
188 a macro language implemented as a source filter.
189
190 POE is a relatively large system. It includes internal classes that
191 allow it to be customized without needing to know too much about the
192 system as a whole. POE::Queue describes POE's event queue interface.
193 POE::Loop covers the commonalities of every event loop POE supports.
194 POE::Resource discusses the notion of system resources, which
195 correspond to event watchers and generators in other systems.
196
197 The SEE ALSO sections of each major module class will list the
198 subclasses beneath it. This document's SEE ALSO lists every module in
199 the distribution.
200
201 Finally, there are many POE resources on the web. The CPAN contains a
202 growing number of POE modules. POE's wiki, at
203 L<http://poe.perl.org/>, includes tutorials, an extensive set of
204 examples, documentation, and more.
4108539 Rocco Caputo Clean up the overview of Filter::Reference after someone (I forget!
authored
205
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
206 =head1 COMPATIBILITY ISSUES
d8788af Rocco Caputo Big documentation rewrite
authored
207
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
208 The developers of POE strive to make it as portable as possible. If
209 you discover a problem, please e-mail a report to
a9be908 sungo fix some pod issues that pod2man was complaining about
sungo authored
210 <bug-POE@rt.cpan.org>. If you can, include error messages, C<perl -V>
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
211 output, and/or test cases. The more information you can provide, the
212 quicker we can turn around a fix. Patches are also welcome, of
213 course.
dddc865 Rocco Caputo I discovered the podchecker utility, and ran it on POE's
authored
214
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
215 POE is known to work on FreeBSD, MacOS X, Linux, Solaris, and other
216 forms of UNIX. It also works to one extent or another on various
217 versions of Windows, including 98, ME, NT, 2000, and XP. It should
218 work on OS/2, although we no longer have a developer who uses it. It
219 has been reported to work on MacOS 9, of all things.
d8788af Rocco Caputo Big documentation rewrite
authored
220
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
221 POE has been tested with Perl versions as far back as 5.004_03 and as
222 recent as 5.8.3.
d8788af Rocco Caputo Big documentation rewrite
authored
223
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
224 Thanks go out to the CPAN testers, who have dedicated resources to
225 running new modules on a variety of platforms. The latest POE tests
226 are visible at <http://testers.cpan.org/search?request=dist&dist=POE>.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
227
b6b9e60 Rocco Caputo Remove mention of our homebrew test report system. It's been down
authored
228 We try to cover all of POE with our test suite, although we only
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
229 succeed in exercising about 70% of its code at any given time. A
230 coverage report is online at
231 <http://poe.perl.org/?POE's_test_coverage_report>.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
232
d8788af Rocco Caputo Big documentation rewrite
authored
233 Specific issues:
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
234
d8788af Rocco Caputo Big documentation rewrite
authored
235 =over 2
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
236
f77c574 Rocco Caputo revised documentation
authored
237 =item Various Unices
d8788af Rocco Caputo Big documentation rewrite
authored
238
239 No known problems.
240
f77c574 Rocco Caputo revised documentation
authored
241 =item OS/2
ad0d40f Rocco Caputo 0.08_05
authored
242
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
243 No known problems. POE has no OS/2 tester as of version 0.1206.
ad0d40f Rocco Caputo 0.08_05
authored
244
f77c574 Rocco Caputo revised documentation
authored
245 =item Windows
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
246
792d01e Rocco Caputo Documentation tweaks. Bump the version up to 0.31 for release.
authored
247 POE seems to work very nicely with Perl compiled for Cygwin. If you
248 must use ActiveState Perl, please use the absolute latest version.
249 ActiveState Perl's compatibility fluctuates from one build to another,
250 so we only support the most recent build prior to POE's release.
626fc71 Rocco Caputo Bump the version number and halfheartedly revise the man page. The
authored
251
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
252 POE's Windows port is current maintained by Rocco Caputo, but he has
253 only limited knowledge of Windows development. Please contact Rocco
254 if you or someone you know would like to accelerate POE's Windows
255 support.
256
792d01e Rocco Caputo Documentation tweaks. Bump the version up to 0.31 for release.
authored
257 A number of people have helped bring POE's Windows support this far,
258 through contributions of time, patches, and other resources. Some of
259 them are: Sean Puckett, Douglas Couch, Andrew Chen, Uhlarik Ondoej,
260 and Nick Williams.
3ddd789 Rocco Caputo Updated Windows and MacOS support info. in POE's man page.
authored
261
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
262 TODO: I'm sure there are others. Find them in the changelog and thank
263 them here.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
264
f77c574 Rocco Caputo revised documentation
authored
265 =item MacOS
d8788af Rocco Caputo Big documentation rewrite
authored
266
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
267 No known problems on MacOS X.
626fc71 Rocco Caputo Bump the version number and halfheartedly revise the man page. The
authored
268
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
269 Mac Classic (versions 9.x and before) was reported to work at one
270 time, but it seems like a lost cause unless someone would like to step
271 forward and make it happen.
d8788af Rocco Caputo Big documentation rewrite
authored
272
273 =back
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
274
d8788af Rocco Caputo Big documentation rewrite
authored
275 =head1 SYSTEM REQUIREMENTS
276
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
277 POE's installer will prompt for required and optional modules. It's
278 important to read the prompts and only install what you will need.
279 You may always reinstall it later, adding new prerequisites as the
792d01e Rocco Caputo Documentation tweaks. Bump the version up to 0.31 for release.
authored
280 need arises.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
281
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
282 Time::HiRes is recommended. POE will work without it, but alarms and
283 other features will be much more accurate with it.
3ddd789 Rocco Caputo Updated Windows and MacOS support info. in POE's man page.
authored
284
f77c574 Rocco Caputo revised documentation
authored
285 POE relies heavily on constants in the POSIX module. Some of the
626fc71 Rocco Caputo Bump the version number and halfheartedly revise the man page. The
authored
286 constants aren't defined on some platforms. POE works around this as
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
287 best it can, but problems occasionally crop up. Please let us know if
288 you run into problems, and we'll work with you to fix them.
d8788af Rocco Caputo Big documentation rewrite
authored
289
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
290 Filter::Reference needs a module to serialize data for transporting it
291 across a network. It will use Storable, FreezeThaw, YAML, or some
292 other package with freeze() and thaw() methods. It can also use
293 Compress::Zlib to conserve bandwidth and reduce latency over slow
294 links, but it's not required.
d8788af Rocco Caputo Big documentation rewrite
authored
295
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
296 If you want to write web servers, you'll need to install libwww-perl,
297 which requires libnet. This is a small world of modules that includes
298 HTTP::Status, HTTP::Request, HTTP::Date, and HTTP::Response. They are
299 generally good to have, and recent versions of Perl include them.
d8788af Rocco Caputo Big documentation rewrite
authored
300
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
301 Programs that use Wheel::Curses require the Curses module, which in
302 turn requires some sort of curses library.
a4c9dd9 Rocco Caputo update Windows support docs, and a few other bits
authored
303
f77c574 Rocco Caputo revised documentation
authored
304 =head1 SUPPORT RESOURCES
d8788af Rocco Caputo Big documentation rewrite
authored
305
f77c574 Rocco Caputo revised documentation
authored
306 These are Internet resources where you may find more information about
307 POE.
d8788af Rocco Caputo Big documentation rewrite
authored
308
f77c574 Rocco Caputo revised documentation
authored
309 =over 2
310
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
311 =item POE's Mailing List
312
313 POE has a mailing list where you can discuss it with the community at
792d01e Rocco Caputo Documentation tweaks. Bump the version up to 0.31 for release.
authored
314 large. You can receive subscription information by sending e-mail to:
d8788af Rocco Caputo Big documentation rewrite
authored
315
f77c574 Rocco Caputo revised documentation
authored
316 To: poe-help@perl.org
317 Subject: (anything will do)
d8788af Rocco Caputo Big documentation rewrite
authored
318
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
319 The message body is ignored.
d8788af Rocco Caputo Big documentation rewrite
authored
320
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
321 =item POE's Web Site
d814423 Rocco Caputo doc patch and 19_filterchange.t Storable tweak
authored
322
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
323 POE's web site contains the latest development snapshot along with
324 examples, tutorials, and other fun stuff. It's at
325 <http://poe.perl.org/>.
d8788af Rocco Caputo Big documentation rewrite
authored
326
f77c574 Rocco Caputo revised documentation
authored
327 =item SourceForge
d8788af Rocco Caputo Big documentation rewrite
authored
328
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
329 POE is developed at SourceForge. The project is hosted at
626fc71 Rocco Caputo Bump the version number and halfheartedly revise the man page. The
authored
330 http://sourceforge.net/projects/poe/
d8788af Rocco Caputo Big documentation rewrite
authored
331
332 =back
333
f77c574 Rocco Caputo revised documentation
authored
334 =head1 SEE ALSO
d8788af Rocco Caputo Big documentation rewrite
authored
335
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
336 POE::Kernel, POE::Session, POE::NFA
f77c574 Rocco Caputo revised documentation
authored
337
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
338 POE::Wheel, POE::Wheel::Curses, POE::Wheel::FollowTail,
339 POE::Wheel::ListenAccept, POE::Wheel::ReadLine, POE::Wheel::ReadWrite,
340 POE::Wheel::Run, POE::Wheel::SocketFactory
f77c574 Rocco Caputo revised documentation
authored
341
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
342 POE::Driver, POE::Driver::SysRW
296aa91 Rocco Caputo finally add Dieter Pearcey's stackable filters
authored
343
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
344 POE::Filter, POE::Filter::Block, POE::Filter::Grep,
345 POE::Filter::HTTPD, POE::Filter::Line, POE::Filter::Map,
346 POE::Filter::RecordBlock, POE::Filter::Reference,
347 POE::Filter::Stackable, POE::Filter::Stream
296aa91 Rocco Caputo finally add Dieter Pearcey's stackable filters
authored
348
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
349 POE::Component, POE::Component::Client::TCP,
350 POE::Component::Server::TCP
f77c574 Rocco Caputo revised documentation
authored
351
f06f820 Rocco Caputo Mike Castle found references to the old POE::Loop::Poll in the
authored
352 POE::Loop, POE::Loop::Event, POE::Loop::Gtk, POE::Loop::IO_Poll,
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
353 POE::Loop::Select, POE::Loop::Tk
f77c574 Rocco Caputo revised documentation
authored
354
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
355 POE::Pipe, POE::Pipe::OneWay, POE::Pipe::TwoWay
f77c574 Rocco Caputo revised documentation
authored
356
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
357 POE::Preprocessor
f77c574 Rocco Caputo revised documentation
authored
358
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
359 POE::Queue, POE::Queue::Array
296aa91 Rocco Caputo finally add Dieter Pearcey's stackable filters
authored
360
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
361 POE::Resource, POE::Resource::Aliases, POE::Resource::Events,
362 POE::Resource::Extrefs, POE::Resource::FileHandles,
363 POE::Resource::Performance, POE::Resource::SIDs,
364 POE::Resource::Sessions, POE::Resource::Signals
f77c574 Rocco Caputo revised documentation
authored
365
366 =head1 BUGS
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
367
792d01e Rocco Caputo Documentation tweaks. Bump the version up to 0.31 for release.
authored
368 The tests only cover about 70% of POE.
369
370 Bug reports, suggestions, and feedback of all kinds should be e-mailed
371 to <bug-POE@rt.cpan.org>. It will be entered into our request queue
372 where it will remain until addressed. If your return address is
373 valid, you will be notified when the status of your request changes.
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
374
375 Outstanding issues, including wish list items, are available in POE's
792d01e Rocco Caputo Documentation tweaks. Bump the version up to 0.31 for release.
authored
376 RT queue at L<http://rt.cpan.org/>.
ad0d40f Rocco Caputo 0.08_05
authored
377
d8788af Rocco Caputo Big documentation rewrite
authored
378 =head1 AUTHORS & COPYRIGHT
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
379
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
380 POE is the combined effort of several people. Please let us know if
381 someone is missing from this list.
382
383 TODO: Scour the CHANGES file for credit where it's due.
d8788af Rocco Caputo Big documentation rewrite
authored
384
385 =over 2
386
726aee4 Rocco Caputo credit more people
authored
387 =item Ann Barcomb
d8788af Rocco Caputo Big documentation rewrite
authored
388
726aee4 Rocco Caputo credit more people
authored
389 Ann Barcomb is <kudra@domaintje.com>, aka C<kudra>. Ann contributed
626fc71 Rocco Caputo Bump the version number and halfheartedly revise the man page. The
authored
390 large portions of POE::Simple and the code that became the ReadWrite
da6a2f2 Rocco Caputo Matt Sergeant contributed POE::Kernel::Poll, an event loop substrate
authored
391 support in POE::Component::Server::TCP. Her ideas also inspired
392 Client::TCP component, introduced in version 0.1702.
d8788af Rocco Caputo Big documentation rewrite
authored
393
f77c574 Rocco Caputo revised documentation
authored
394 =item Artur Bergman
d8788af Rocco Caputo Big documentation rewrite
authored
395
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
396 Artur Bergman is <sky@cpan.org>. He contributed many hours' work into
397 POE and quite a lot of ideas. Years later, I decide he's right and
398 actually implement them.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
399
f77c574 Rocco Caputo revised documentation
authored
400 Artur is the author of Filter::HTTPD and Filter::Reference, as well as
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
401 bits and pieces throughout POE. His feedback, testing, design and
402 inspiration have been instrumental in making POE what it is today.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
403
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
404 Artur is investing his time heavily into perl 5's iThreads and PONIE
405 at the moment. This project has far-reaching implications for POE's
406 future.
726aee4 Rocco Caputo credit more people
authored
407
408 =item Jos Boumans
409
410 Jos Boumans is <boumans@frg.eur.nl>, aka C<Co-Kane>. Jos is a major
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
411 driving force behind the POE::Simple movement and has helped inspire
412 the POE::Components for TCP clients and servers.
726aee4 Rocco Caputo credit more people
authored
413
414 =item Matt Cashner
415
957c350 sungo update my email address
sungo authored
416 Matt Cashner is <sungo@pobox.com>, aka C<sungo>. Matt is one of POE's
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
417 core developers. He's spearheaded the movement to simplify POE for
418 new users, flattening the learning curve and making the system more
419 accessible to everyone. He uses the system in mission critical
420 applications, folding feedback and features back into the distribution
421 for everyone's enjoyment.
726aee4 Rocco Caputo credit more people
authored
422
423 =item Andrew Chen
424
626fc71 Rocco Caputo Bump the version number and halfheartedly revise the man page. The
authored
425 Andrew Chen is <achen-poe@micropixel.com>. Andrew is the resident
426 POE/Windows guru. He contributes much needed testing for Solaris on
427 the SPARC and Windows on various Intel platforms.
726aee4 Rocco Caputo credit more people
authored
428
f77c574 Rocco Caputo revised documentation
authored
429 =item Douglas Couch
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
430
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
431 Douglas Couch is <dscouch@purdue.edu>. Douglas helped port and
432 maintain POE for Windows early on.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
433
726aee4 Rocco Caputo credit more people
authored
434 =item Jeffrey Goff
435
436 Jeffrey Goff is <jgoff@blackboard.com>. Jeffrey is the author of
437 several POE modules, including a tokenizing filter and a component for
438 managing user information, PoCo::UserBase. He's also co-author of "A
439 Beginner's Introduction to POE" at www.perl.com.
440
f77c574 Rocco Caputo revised documentation
authored
441 =item Philip Gwyn
d8788af Rocco Caputo Big documentation rewrite
authored
442
f77c574 Rocco Caputo revised documentation
authored
443 Philip Gwyn is <gwynp@artware.qc.ca>. He extended the Wheels I/O
444 abstraction to support hot-swappable filters, and he eventually
626fc71 Rocco Caputo Bump the version number and halfheartedly revise the man page. The
authored
445 convinced Rocco that unique session and kernel IDs were a good thing.
d8788af Rocco Caputo Big documentation rewrite
authored
446
f77c574 Rocco Caputo revised documentation
authored
447 Philip also enhanced Filter::Reference to support different
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
448 serialization methods. He has also improved POE's quality by finding
449 and fixing several bugs. He provided POE a much needed code review
450 around version 0.06.
d8788af Rocco Caputo Big documentation rewrite
authored
451
726aee4 Rocco Caputo credit more people
authored
452 =item Arnar M. Hrafnkelsson
453
454 Arnar is <addi@umich.edu>. Addi tested POE and POE::Component::IRC on
455 Windows, finding bugs and testing fixes. He appears throughout the
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
456 Changes file. He has also written "cpoe", which is a POE-like library
457 for C.
726aee4 Rocco Caputo credit more people
authored
458
f77c574 Rocco Caputo revised documentation
authored
459 =item Dave Paris
d8788af Rocco Caputo Big documentation rewrite
authored
460
f77c574 Rocco Caputo revised documentation
authored
461 Dave Paris is <dparis@w3works.com>. Dave tested and benchmarked POE
462 around version 0.05, discovering some subtle (and not so subtle)
463 timing problems. The pre-forking server sample was his idea.
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
464 Versions 0.06 and later scaled to higher loads because of his work.
465 He has contributed a lot of testing and feedback, much of which is
466 tagged in the Changes file as a-mused. The man is scarily good at
467 testing and troubleshooting.
761b0d6 Rocco Caputo speed up kernel; fix bad filehandle in test 4
authored
468
f77c574 Rocco Caputo revised documentation
authored
469 =item Dieter Pearcey
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
470
c575666 Rocco Caputo added Filter::Block and Dieter's FollowTail patches; finishing touches f...
authored
471 Dieter Pearcey is <dieter@bullfrog.perlhacker.org>. He goes by
626fc71 Rocco Caputo Bump the version number and halfheartedly revise the man page. The
authored
472 several Japanese nicknames. Dieter's current area of expertise is in
473 Wheels and Filters. He greatly improved Wheel::FollowTail, and his
474 Filter contributions include the basic Block filter, as well as
475 Stackable, RecordBlock, Grep and Map.
c575666 Rocco Caputo added Filter::Block and Dieter's FollowTail patches; finishing touches f...
authored
476
f77c574 Rocco Caputo revised documentation
authored
477 =item Robert Seifer
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
478
d8788af Rocco Caputo Big documentation rewrite
authored
479 Robert Seifer is <e-mail unknown>. He rotates IRC nicknames
480 regularly.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
481
d8788af Rocco Caputo Big documentation rewrite
authored
482 Robert contributed entirely too much time, both his own and his
483 computers, towards the detection and eradication of a memory
484 corruption bug that POE tickled in earlier Perl versions. In the end,
485 his work produced a simple compile-time hack that worked around a
486 problem relating to anonymous subs, scope and @{} processing.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
487
da6a2f2 Rocco Caputo Matt Sergeant contributed POE::Kernel::Poll, an event loop substrate
authored
488 =item Matt Sergeant
489
490 Matt contributed POE::Kernel::Poll, a more efficient way to watch
f06f820 Rocco Caputo Mike Castle found references to the old POE::Loop::Poll in the
authored
491 multiple files than select(). It's since been moved to
492 POE::Loop::IO_Poll.
da6a2f2 Rocco Caputo Matt Sergeant contributed POE::Kernel::Poll, an event loop substrate
authored
493
726aee4 Rocco Caputo credit more people
authored
494 =item Richard Soderberg
495
496 Richard Soderberg is <poe@crystalflame.net>, aka C<coral>. Richard is
497 a collaborator on several side projects involving POE. His work
498 provides valuable testing and feedback from a user's point of view.
499
f77c574 Rocco Caputo revised documentation
authored
500 =item Dennis Taylor
197063a Rocco Caputo gutted and rewrote Filter::Line's innards for extra options
authored
501
502 Dennis Taylor is <dennis@funkplanet.com>. Dennis has been testing,
503 debugging and patching bits here and there, such as Filter::Line which
504 he improved by leaps in 0.1102. He's also the author of
641566b Rocco Caputo I accidentally rewrote the documentation for this module.
authored
505 POE::Component::IRC, the widely popular POE-based successor to his
506 wildly popular Net::IRC library.
197063a Rocco Caputo gutted and rewrote Filter::Line's innards for extra options
authored
507
f77c574 Rocco Caputo revised documentation
authored
508 =item Others?
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
509
f77c574 Rocco Caputo revised documentation
authored
510 Please contact the author if you've been forgotten.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
511
512 =back
513
514 =head2 Author
515
d8788af Rocco Caputo Big documentation rewrite
authored
516 =over 2
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
517
f77c574 Rocco Caputo revised documentation
authored
518 =item Rocco Caputo
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
519
626fc71 Rocco Caputo Bump the version number and halfheartedly revise the man page. The
authored
520 Rocco Caputo is <rcaputo@cpan.org>. POE is his brainchild.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
521
792d01e Rocco Caputo Documentation tweaks. Bump the version up to 0.31 for release.
authored
522 Except where otherwise noted, POE is Copyright 1998-2005 Rocco Caputo.
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
523 All rights reserved. POE is free software; you may redistribute it
524 and/or modify it under the same terms as Perl itself.
525
d8788af Rocco Caputo Big documentation rewrite
authored
526 =back
527
528 Thank you for reading!
529
0d6f19d Rocco Caputo Revised all the manpages. Split the manpages into separate PODs, and
authored
530 =cut
Something went wrong with that request. Please try again.