Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

POE is a portable perl multitasking and networking framework for any event loop.

Fetching latest commit…

Cannot retrieve the latest commit at this time

README
$Id$


The bulk of this README's information has migrated to the POE manpage.

--------------------
Distribution Details
--------------------

This distribution comes with several sample and tutorial programs in
its samples/ directory.  These programs are NOT installed because they
have limited use and take up about 400 kilobytes (around half of the
total distribution).

The lib/ directory includes a few useful utilities, including a
relatively portable pipe creator.  It uses pipe() or falls back to
INET domain sockets.  There's also a small test coverage tracer
module, harness, and report.  The test coverage summary at the end of
this file is part of the report.  These utilities aren't installed
either.

The test programs, in t/, may also be interesting examples, although
they're more geared towards exercising POE's bits.  The tests also
aren't installed.

All in all, the actual installed bits of POE are probably around 1/4
of the total distribution, and half of them are PODs.

------------------------------
Compatibility Between Versions
------------------------------

As POE moves closer towards the Common Sense axis, it sometimes
diverges away from the Backwards Compatible axis.  If this version is
being installed over a previous one, please check the Changes file to
see what it might break.  Interface changes usually are documented and
set off with a little text icon.

------------------
Basic Installation
------------------

POE may be installed through the CPAN shell in the usual CPAN shell
manner.  It typically is:

  perl -MCPAN -e 'install POE'

It involves a little more work if you have an older CPAN shell:

  perl -MCPAN -e shell
  install POE

-------------------
Manual Installation
-------------------

POE can also be installed manually.  The latest CPAN version can be
found at <ftp://ftp.cpan.org/pub/CPAN/authors/id/R/RC/RCAPUTO/> or in
a similarly named directory at your favorite CPAN mirror.  The most
recent development snapshot, which only rarely contains heinous
showstopper bugs, is available from POE's web site at
<http://poe.perl.org/>.

Downloading and unpacking the distribution are left as an exercise for
the reader.  To "build" and test it afterwards:

  perl Makefile.PL
  make test

The POE manpage discusses system requirements and compatibility
issues.  You can preview it with:

  perldoc ./POE.pm

There are several sample programs in the samples subdirectory.  The
POE manpage briefly explains them.

  ls -l samples

Finally you can install it:

  make install

-------------------------
Test Results and Coverage
-------------------------

These are the `make test' results for POE 0.1110 on OS/2:

Hardware: Cyrix P166+; 64MB RAM.
Software: OS/2 4, fix 13; perl 5.6.0; no Perl/Tk; no Event; no Gtk.

  All tests successful, 4 tests skipped.
  Files=22, Tests=374, 173 wallclock secs ( [line shortened] )

These are the `make test' results for POE 0.1110 or FreeBSD:

Hardware: AMD 486-40; 16MB RAM.
Software: FreeBSD 4.0-STABLE; perl 5.6.0; Perl/Tk 800.021; Event 0.79;
          Gtk/Perl 0.7000.

  All tests successful.
  Files=22, Tests=399, 620 wallclock secs ( [line shortened] )

These are the `make test' results for POE 0.1109 on Dave Paris' Linux
system:

Hardware: Unknown.
Software: Linux (unknown); perl 5.005_03; Perl/Tk (unknown); Event (unknown);
          Gtk/Perl (unknown).

  All tests successful.
  Files=22, Tests=399, 124 wallclock secs (20.75 cusr + 1.29 csys = 22.04 CPU)

  <a-mused> that's really odd, I just had it spawn 80 children without
            incident or hiccup
  <a-mused> (using Linux & 5.005_03)
  <a-mused> last test.. letting it run 120 forked children.
  <a-mused> not even a hiccup using 120 forked children in test 11.

These coverage results are for POE 0.1109 on the FreeBSD machine.
This machine more thoroughly tests different POE options, so the
coverage results are more meaningful.  The results are misleading,
however, even at their best.

  Source File                         =   Ran / Total = Covered
  POE.pm                              =    23 /    24 =  95.83%
  POE/Component/Server/TCP.pm         =    23 /    23 = 100.00%
  POE/Driver/SysRW.pm                 =    42 /    54 =  77.78%
  POE/Filter/Block.pm                 =    37 /    37 = 100.00%
  POE/Filter/HTTPD.pm                 =    11 /    88 =  12.50%
  POE/Filter/Line.pm                  =    77 /    82 =  93.90%
  POE/Filter/Reference.pm             =    60 /    66 =  90.91%
  POE/Filter/Stream.pm                =    11 /    11 = 100.00%
  POE/Kernel.pm                       =   643 /   815 =  78.90%
  POE/NFA.pm                          =     9 /   144 =   6.25%
  POE/Preprocessor.pm                 =   146 /   166 =  87.95%
  POE/Session.pm                      =    82 /   178 =  46.07%
  POE/Wheel.pm                        =     9 /    11 =  81.82%
  POE/Wheel/FollowTail.pm             =    69 /    87 =  79.31%
  POE/Wheel/ListenAccept.pm           =    33 /    47 =  70.21%
  POE/Wheel/ReadWrite.pm              =   111 /   184 =  60.33%
  POE/Wheel/SocketFactory.pm          =   181 /   216 =  83.80%
  All Told                            =  1567 /  2233 =  70.17%


Thanks for reading!

-- Rocco Caputo / troc@netrus.net
Something went wrong with that request. Please try again.