============================
2006-09-23 18:14:57 v0_01_00
============================

  2006-09-23 18:13:50 (r106) by rcaputo; lib/POE/Stage.pm M

    Switch to manually selected version numbers. And make it 0.01_00. 

  2006-09-23 18:12:07 (r105) by rcaputo
  lib/POE/Request/Upward.pm M; lib/POE/Request/Recall.pm M;
  lib/POE/Watcher/Delay.pm M; lib/POE/Watcher/Input.pm M;
  lib/POE/Watcher.pm M; lib/POE/Stage/TiedAttributes.pm M;
  lib/POE/Watcher/Wheel.pm M; lib/POE/Stage.pm M;
  lib/POE/Stage/Resolver.pm M; lib/POE/Watcher/Wheel/Run.pm M;
  lib/POE/Stage/Receiver.pm M; lib/POE/Request/Return.pm M;
  lib/POE/Stage/Echoer.pm M; lib/POE/Watcher/Wheel/SocketFactory.pm M;
  lib/POE/Stage/Ticker.pm M; lib/POE/Request/Emit.pm M;
  lib/POE/Watcher/Wheel/ReadWrite.pm M; lib/POE/Request.pm M

    Add a note about the distribution's not-ready-for-primetime-ness to
    the BUGS section of each module. 

  2006-09-05 23:41:37 (r104) by hdp
  lib/POE/Watcher/Wheel/SocketFactory.pm A

    [push @ 4225f28a9441002fb4fa39af374b4518a1798017] SocketFactory
    watcher
    
    Original author: Hans Dieter Pearcey <hdp@vex.pobox.com> Date:
    2006-09-06 03:41:48

  2006-09-05 15:14:37 (r103) by hdp
  lib/POE/Watcher/Wheel.pm M; lib/POE/Watcher/Wheel/Run.pm M

    [push @ f0af741f1192328143b6bdd8aaf787179ab0fb31] refactoring wheel_*
    from Run to the base class, using Class::Data::Inheritable
    
    Original author: Hans Dieter Pearcey <hdp@vex.pobox.com> Date:
    2006-09-05 18:50:56

  2006-09-05 15:14:32 (r102) by hdp; lib/POE/Watcher/Wheel/ReadWrite.pm A

    [push @ 705e36aac0c42042fa8b66a7e796997b439d1d7a] working ReadWrite
    watcher
    
    Original author: Hans Dieter Pearcey <hdp@vex.pobox.com> Date:
    2006-09-05 18:48:42

  2006-09-05 01:54:13 (r101) by rcaputo; PATTERNS M

    Clarify some notes after a discussion with Dieter. 

  2006-08-14 03:13:27 (r100) by rcaputo; examples/attributes.perl A

    Totally comment up this example as a tutorial explaining WTF?! is
    going on with attributes and scopes and stuff. 

  2006-08-14 02:21:22 (r99) by rcaputo
  examples/self-requesting-stage.perl M; lib/POE/Request/Upward.pm M;
  examples/log-resolver.perl M; examples/udp-peer.perl M;
  examples/many-responses.perl M; lib/POE/Stage/TiedAttributes.pm M;
  lib/POE/Stage.pm M; lib/POE/Stage/Resolver.pm M;
  examples/tcp-server.perl M; lib/POE/Stage/Receiver.pm M;
  lib/POE/Stage/Echoer.pm M; examples/ping-pong.perl M;
  examples/01_basics.perl M; examples/wheel-run.perl M;
  lib/POE/Stage/Ticker.pm M; t/01_all_call_types.t M; lib/POE/Request.pm
  M

    Replace POE::Stage's Exporter import() with a custom one. The custom
    one honors :base, which mucks with the caller's @ISA to add
    POE::Stage as a base class for the user's.
    
    Also removed POE::Stage::TiedAttributes' exporter magic for REQUEST
    and RESPONSE. Everybody gets to use methods rather than reaching into
    the implementation from outside. Much better this way, even if it's a
    little slower. 

  2006-08-14 00:58:23 (r98) by rcaputo
  lib/POE/Stage/TiedAttributes.pm M; lib/POE/Stage.pm M

    Remove the last vestiges of direct $self->{member} access. The new
    attribute and sub syntax works fine here. 

  2006-08-14 00:38:16 (r97) by rcaputo
  examples/self-requesting-stage.perl M; lib/POE/Request/Recall.pm M;
  examples/log-resolver.perl M; examples/udp-peer.perl M;
  examples/many-responses.perl M; lib/POE/Stage/TiedAttributes.pm M;
  lib/POE/Stage.pm M; lib/POE/Stage/Resolver.pm M;
  examples/tcp-server.perl M; lib/POE/Stage/Receiver.pm M;
  lib/POE/Stage/Echoer.pm M; examples/ping-pong.perl M;
  examples/01_basics.perl M; lib/POE/Stage/Ticker.pm M;
  t/01_all_call_types.t M; lib/POE/Request.pm M

    Make self(), req() and rsp() for calling methods. Modify the
    attributes so that :Self is self's data members, and :Req and :Rsp
    are request and response data members, respectively. :Arg remains
    argumentative. 

  2006-08-13 21:23:44 (r96) by rcaputo
  MANIFEST M; lib/POE/Stage.pm M; lib/POE/Attribute D

    Replace the tied POE::Attribute classes with Devel::LexAlias. 

  2006-08-13 20:37:54 (r95) by rcaputo
  lib/POE/Member D; MANIFEST M; Makefile.PL M; lib/POE/Stage.pm M

    Replace the POE::Member tied redirects with Devel::LexAlias. A big
    shout out to Matt S. Trout for pointing me at a wheel I was
    reinventing poorly: Catalyst::Controller::BindLex. 

  2006-08-12 07:25:53 (r94) by rcaputo
  examples/ping-pong.perl M; examples/self-requesting-stage.perl M;
  examples/log-resolver.perl M; examples/udp-peer.perl M;
  examples/many-responses.perl M; examples/01_basics.perl M;
  examples/wheel-run.perl M; examples/tcp-server.perl M

    Upgrade the examples for the new :Self, :Arg, and :Memb attributes.
    Some issues arose from this: Argument filtering and hoisting need
    access to $args directly (for deleting). The "request" and "response"
    members aren't necessary---they may be attributes---but for now we
    still must access them via $self->{req} because they don't have
    sigils like the :Memb system uses internally. 

  2006-08-12 07:23:58 (r93) by rcaputo; lib/POE/Stage.pm M

    Add handlers for :Arg, :Memb, and :Self. 

  2006-08-12 07:23:07 (r92) by rcaputo
  lib/POE/Member/Hash.pm A; lib/POE/Member A; lib/POE/Member/Scalar.pm A;
  MANIFEST M; lib/POE/Member/Array.pm A

    Add classes for tied Stage members. 

  2006-08-12 07:20:50 (r91) by rcaputo
  lab/SweetAtUnder.pm M; lab/sweet-at-under.perl M

    Add proofs of concept for attributes to tie members. 

  2006-08-12 06:38:51 (r90) by rcaputo
  lib/POE/Attribute/Request/Array.pm M

    Fix a reference error in PUSH. 

  2006-08-09 15:51:45 (r89) by rcaputo; lab/sweet-at-under.perl M

    Add some sample output. 

  2006-08-09 15:31:32 (r88) by rcaputo
  lab/SweetAtUnder.pm A; lab/sweet-at-under.perl A

    Add an experiment to replace @_ use with scalar attributes. 

  2006-07-08 23:18:54 (r87) by rcaputo; examples/01_basics.perl M

    Append sample output to the basics example. 

===========================
2006-07-08 23:00:45 v0_0082
===========================

  2006-07-08 22:53:34 (r85) by rcaputo; MANIFEST M

    Add more examples to the MANIFEST. 

  2006-07-08 22:51:57 (r84) by rcaputo; examples/01_basics.perl M

    Add keywords expansion. 

  2006-07-08 22:51:28 (r83) by rcaputo; Makefile.PL M

    Add new dependencies. 

  2006-07-08 22:47:24 (r82) by rcaputo
  lib/POE/Stage.pm M; lib/POE/Request.pm M; t/01_all_call_types.t M

    Remove the need for overload.pm magic. 

  2006-07-08 22:11:46 (r81) by rcaputo
  lib/POE/Request/Upward.pm M; lib/POE/Request/Recall.pm M;
  lib/POE/Watcher/Delay.pm M; lib/POE/Watcher/Input.pm M;
  lib/POE/Watcher.pm M; lib/POE/Stage/TiedAttributes.pm M;
  lib/POE/Attribute/Request/Scalar.pm M; lib/POE/Watcher/Wheel.pm M;
  lib/POE/Stage.pm M; lib/POE/Stage/Resolver.pm M;
  lib/POE/Stage/Receiver.pm M; lib/POE/Request/Return.pm M;
  lib/POE/Stage/Echoer.pm M; lib/POE/Attribute/Request/Array.pm M;
  lib/POE/Attribute/Request/Hash.pm M; lib/POE/Stage/Ticker.pm M;
  lib/POE/Request/Emit.pm M; lib/POE/Request.pm M

    Major documentation revision. Reword things so they're more true in
    light of the recent syntax changes. Remove deprecated syntax. Clean
    up whatever looked iffy at the time. 

  2006-07-08 16:18:06 (r80) by rcaputo
  lib/POE/Request/TiedAttributes.pm D

    Not needed anymore! Yay! 

  2006-07-08 16:09:07 (r79) by rcaputo
  examples/ping-pong.perl M; examples/self-requesting-stage.perl M;
  examples/log-resolver.perl M; examples/udp-peer.perl M;
  examples/many-responses.perl M; lib/POE/Stage/TiedAttributes.pm M;
  examples/wheel-run.perl M; lib/POE/Stage/Resolver.pm M;
  lib/POE/Stage/Ticker.pm M; examples/tcp-server.perl M;
  lib/POE/Stage/Receiver.pm M

    Fix the sample stages ande example programs to use the attribute
    syntax rather than storing to requests directly. 

  2006-07-08 12:52:19 (r78) by rcaputo
  lib/POE/Request/Recall.pm M; lib/POE/Request/Upward.pm M; MANIFEST M;
  lib/POE/Request/TiedAttributes.pm M; lib/POE/Request/Emit.pm M;
  lib/POE/Request/Return.pm M; lib/POE/Request.pm M;
  t/01_all_call_types.t M

    Removed $self->{req}{foo} and $self->{rsp}{foo} support. Replaced
    their use with my $foo :Req and my $foo :Rsp support, at least in the
    test program. Still need to go through the examples. 

  2006-07-08 07:15:18 (r77) by rcaputo
  lib/POE/Request/Recall.pm M; lib/POE/Request/Upward.pm M;
  lib/POE/Watcher/Delay.pm M; lib/POE/Watcher/Input.pm M;
  examples/01_basics.perl M; lib/POE/Watcher/Wheel.pm M; lib/POE/Stage.pm
  M; lib/POE/Request.pm M

    Add ":Req($request_object)" attribute syntax. Lexicals declared with
    this attribute will be available as ":Rsp" for responses to the
    particular request. 

  2006-07-08 07:13:57 (r76) by rcaputo
  lab/SweetState.pm M; lab/sweet-state.perl M

    Test raw attribute data combined with PadWalker. Works great! 

  2006-07-05 08:09:57 (r75) by rcaputo; examples/01_basics.perl M

    Document an idea about using :Req or :Rsp to associate the front-end
    data with the back end data on the request. 

  2006-07-05 07:45:17 (r74) by rcaputo
  examples/01_basics.perl M; lib/POE/Stage.pm M

    Add initial :Rsp syntax, and extend examples/01_basic.perl to explore
    it. 

  2006-07-05 07:26:01 (r73) by rcaputo
  lib/POE/Attribute/Request/Array.pm M; lab/SweetState.pm M;
  lib/POE/Attribute/Request/Hash.pm M; examples/01_basics.perl A;
  lab/sweet-state.perl M; lib/POE/Attribute/Request/Scalar.pm M;
  lib/POE/Stage.pm M; lib/POE/Request.pm M

    Create the :Req attribute. Variables declared :Req become part of a
    request-scoped continuation. 

  2006-07-05 07:23:44 (r72) by rcaputo
  lib/POE/Attribute/Request/Array.pm A; lib/POE/Attribute/Request/Hash.pm
  A; lib/POE/Attribute/Request A; lib/POE/Attribute/Request/Scalar.pm A;
  lib/POE/Attribute A

    Add the hidden tie magic behind the :Req attribute. 

  2006-07-05 01:19:42 (r71) by rcaputo
  lab/SweetState.pm A; lab/sweet-state.perl M

    Move the sweet state management code into its own base class. This
    works, so we can move the attribute interface code into POE::Stage
    next. Once that's done, I think it needs to hook into the existing
    request/response state management code. After that, the magic that
    manages state through $self->{req} and $self->{rsp} can go away.
    Finally, I think $self->{req} and $self->{rsp} might be better off as
    accessors. 

  2006-07-04 08:51:42 (r70) by rcaputo; lab/sweet-state.perl A

    A prototype for a promising melange of lexical variable attributes,
    PadWalker, and tie(), giving us "my $foo :Req;" as a replacement for
    $self->{req}{foo}. 

  2006-07-04 03:37:08 (r69) by rcaputo; t/01_all_call_types.t M

    Grrr. Vim should treat this as Perl code. 

  2006-04-10 18:38:29 (r68) by mathieu
  lib/POE/Request/Return.pm M; lib/POE/Request.pm M;
  t/01_all_call_types.t M

    Default request return type to "return", and default emit type to
    "emit".

  2006-02-06 08:53:33 (r67) by rcaputo; examples/tcp-server.perl M

    Note a recurring theme. 

  2006-02-06 08:50:11 (r66) by rcaputo; examples/tcp-server.perl M

    Remove some commented out code. 

  2006-02-06 08:48:37 (r65) by rcaputo; lib/POE/Request.pm M

    Add initial support of on_my_messagetype() methods. This is a raw,
    unpolished feature and is subject to change. 

  2006-02-06 08:48:01 (r64) by rcaputo; examples/tcp-server.perl A

    Add an example of the on_my_messagetype() feature. Stages can handle
    their own messages by adding on_my_messagetype() methods. These
    methods are called whenever emit() or return() would send a message
    of the appropriate type. Subclasses of a stage can handle messages
    themselves. In this way self-contained stages can be written. 

  2006-01-30 04:54:18 (r63) by rcaputo; examples/udp-peer.perl M

    Needed POE::Stage loaded. base.pm doesn't do it for us. 

  2005-10-12 21:04:48 (r62) by rcaputo; lib/POE/Stage.pm M

    Wrap the wheel watcher callbacks in block eval so they don't
    necessarily kill off the entire program. 

  2005-10-10 05:33:05 (r61) by rcaputo
  .releaserc M; examples/wheel-run.perl M; lib/POE/Watcher/Wheel.pm M;
  lib/POE/Watcher/Wheel/Run.pm M

    Enabele $Id$ on the touched files. 

  2005-10-10 05:32:00 (r60) by rcaputo
  examples/wheel-run.perl A; lib/POE/Watcher/Wheel.pm A; lib/POE/Stage.pm
  M; lib/POE/Watcher/Wheel/Run.pm A; lib/POE/Watcher/Wheel A

    Add initial POE::Watcher::Wheel support, along with
    POE::Watcher::Wheel::Run as a proof of concept and a test case. Need
    to document this better. 

  2005-10-03 01:03:40 (r59) by rcaputo
  README D; Makefile.PL M; lib/POE/Stage.pm M

    Automatically generate the README from POE::Stage's perldoc. 

  2005-10-03 01:01:55 (r58) by rcaputo; .releaserc A

    So we can just "release" to fling a new version into the big, blue
    world. 

=========================
2005-10-03 00:49:01 v0_55
=========================

  2005-09-15 07:19:21 (r55) by rcaputo
  examples/self-requesting-stage.perl M; lib/POE/Request/Upward.pm M;
  lib/POE/Request/Recall.pm M; examples/log-resolver.perl M;
  lib/POE/Watcher/Delay.pm M; examples/udp-peer.perl M;
  lib/POE/Watcher/Input.pm M; examples/many-responses.perl M;
  lib/POE/Stage/TiedAttributes.pm M; lib/POE/Stage.pm M;
  lib/POE/Stage/Resolver.pm M; lib/POE/Request/Return.pm M;
  lib/POE/Stage/Receiver.pm M; lib/POE/Stage/Echoer.pm M;
  examples/ping-pong.perl M; lib/POE/Stage/Ticker.pm M;
  lib/POE/Request/Emit.pm M; t/01_all_call_types.t M; lib/POE/Request.pm
  M

    I decided to live by committee regarding the syntax for internal vs.
    external parameters. The vote was overwhelmingly in favor of an
    args=>{} parameter rather than special syntax to set pass-through
    arguments apart from others. This commit makes that change, closing
    ticket:12. 

  2005-09-15 01:41:34 (r54) by rcaputo
  lib/POE/Request/Recall.pm M; lib/POE/Request/Upward.pm M;
  lib/POE/Watcher/Delay.pm M; lib/POE/Watcher/Input.pm M;
  lib/POE/Watcher.pm M; lib/POE/Stage/TiedAttributes.pm M;
  lib/POE/Stage.pm M; lib/POE/Request/TiedAttributes.pm M;
  lib/POE/Stage/Resolver.pm M; lib/POE/Stage/Ticker.pm M;
  lib/POE/Request/Emit.pm M; lib/POE/Request/Return.pm M;
  lib/POE/Stage/Receiver.pm M; lib/POE/Request.pm M;
  lib/POE/Stage/Echoer.pm M

    Heavily revise the documentation, but it is not proofread. 

  2005-09-11 06:31:51 (r53) by rcaputo; lib/POE/Stage.pm M

    Rewrite Stage.pm's documentation. 

  2005-07-25 17:33:13 (r52) by rcaputo; TODO D

    Remove TODO. The todo list has been moved into POE::Stage's trac
    project. 

  2005-07-17 06:23:27 (r51) by rcaputo; examples/log-resolver.perl M

    Fix the comments. The leaks mentioned have been fixed. 

  2005-07-16 01:42:04 (r50) by rcaputo; TODO M

    Document the classes that stand between POE::Stage::Resolver and
    POE::Stage::ClientHttp. 

  2005-07-15 14:58:40 (r49) by rcaputo
  examples/self-requesting-stage.perl M; examples/log-resolver.perl M;
  TODO M; lib/POE/Stage/Resolver.pm M; lib/POE/Request.pm M

    Find and break a circular reference during $request->cancel(), which
    means it's also broken during return(). 

  2005-07-15 07:22:59 (r48) by rcaputo
  examples/log-resolver.perl M; lib/POE/Stage/Resolver.pm M

    Updated POE::Stage::Resolver to actually do something with
    Net::DNS::Resolver. Also modernized its interface to self-request
    from init(). Updated log-resolver.perl to reflect the new usage, and
    added some addresses to resolve against the Internet. 

  2005-07-15 07:21:35 (r47) by rcaputo
  examples/self-requesting-stage.perl A

    Add a test case for self-requesting stages. It was important to make
    sure they didn't leak. In fact, they did leak, but this test case
    illustrates rules to work around that. Later on those rules should be
    subsumed into POE::Stage. Also, it should be possible to create a
    POE::Stage::AutoRequest or something that assimilates the
    self-request pattern. 

  2005-07-15 07:20:09 (r46) by rcaputo
  lib/POE/Stage.pm M; lib/POE/Request.pm M

    Enable stage init() functions to fire off requests on behalf of the
    stages creating new stages. This is used in the upcoming
    POE::Stage::Resolver to greatly simplify its public interface. 

  2005-07-15 02:58:10 (r45) by rcaputo; lab/local-scoped-state.perl A

    Test whether local() affects exported variables. The answer seems to
    be no, it doesn't. Maybe wrapping the local() in the proper package
    will work? 

  2005-07-14 04:10:32 (r44) by rcaputo; PATTERNS M

    Discuss stage use patterns in more (or at least fresher) detail.
    Recommend that stages be use-pattern agnostic if at all possible. It
    remains to be seen whether they can achieve this in practice. I
    really hope so. 

  2005-07-14 03:58:29 (r43) by rcaputo; TODO M

    Document my progress. Module documentation is done. Resolver stage is
    prototyped, but it's not complete. 

  2005-07-14 02:26:06 (r42) by rcaputo
  lib/POE/Request.pm M; t/01_all_call_types.t M

    Change the format of stringified request objects. Also add tests to
    separately verify nummified and stringified requests. 

  2005-07-13 18:01:04 (r41) by rcaputo
  lib/POE/Watcher/Delay.pm M; lib/POE/Watcher/Input.pm M;
  lib/POE/Stage.pm M; lib/POE/Stage/Resolver.pm M;
  lib/POE/Stage/Ticker.pm M; lib/POE/Stage/Receiver.pm M;
  lib/POE/Request.pm M; lib/POE/Stage/Echoer.pm M

    Commit early drafts of all the other documentation. Now every module
    has something readable! 

  2005-07-13 08:14:34 (r40) by rcaputo
  lib/POE/Request/Recall.pm M; lib/POE/Request/Upward.pm M;
  lib/POE/Watcher/Delay.pm M; lib/POE/Watcher.pm M;
  lib/POE/Stage/TiedAttributes.pm M; lib/POE/Request/TiedAttributes.pm M;
  lib/POE/Request/Emit.pm M; lib/POE/Request/Return.pm M;
  lib/POE/Request.pm M

    First draft of several documents. Six more .pm files to go, but not
    tonight. 

  2005-07-13 03:29:11 (r39) by rcaputo; TODO M

    Fixed per-request data sequestering. Make a note of it in the TODO.
    Also note xantus' bug report. 

  2005-07-12 23:38:42 (r38) by rcaputo
  README A; MANIFEST A; Makefile.PL A

    Add the bits that make this a CPAN distribution, although it needs a
    final name before it can be uploaded. 

  2005-07-12 23:28:52 (r37) by rcaputo; lib/POE/Stage.pm M

    Add a $VERSION for MakeMaker and CPAN. 

  2005-07-12 23:28:13 (r36) by rcaputo; t/01_all_call_types.t M

    Remove the diag() messages. They don't really help here. 

  2005-07-12 23:22:01 (r35) by rcaputo
  lib/POE/Request R; lib/POE/Watcher.pm R; tests D; POE D; lib A;
  lib/POE/Watcher R; lib/POE/Stage.pm R; lib/POE A; lib/POE/Request.pm R;
  lib/POE/Stage R

    Move lib to POE. 

  2005-07-12 23:18:36 (r34) by rcaputo; POE/Stage/TiedAttributes.pm M

    Explain why most of POE::Stage's methods are in the tied attributes
    class instead. 

  2005-07-12 23:17:39 (r33) by rcaputo
  examples/all-call-types.perl D; t/01_all_call_types.t A

    Move the all-call-types test over to the tests directory. 

  2005-07-12 23:16:56 (r32) by rcaputo; t A

    Ok, now it's moved. 

  2005-07-12 23:16:39 (r31) by rcaputo; tests A

    Adding a tests directory. Unfortunately, now I need to rename it to
    "t". 

  2005-07-12 21:24:35 (r30) by rcaputo
  POE/Stage/TiedAttributes.pm M; POE/Request/TiedAttributes.pm M;
  POE/Request.pm M; POE/Request/Recall.pm M; POE/Request/Upward.pm M

    This commit perpetrates a most vile act against POE::Stage as a
    project in order to provide per-Stage contexts for each request.
    Prior to this change, a request object acted like shared memory
    between its creator and its target. Now each end of the transaction
    has its own per-transaction data space. POE::Stage's first test
    program finally cleanly passes. 

  2005-07-11 06:46:59 (r29) by rcaputo
  lab/stringified-objects.perl A; examples/log-resolver.perl A;
  examples/udp-peer.perl M; POE/Request/TiedAttributes.pm M;
  examples/all-call-types.perl M; POE/Stage/Resolver.pm A;
  examples/many-responses.perl M; lab/lvalue-test.perl M;
  POE/Request/Emit.pm M; POE/Request/Return.pm M; POE/Request.pm M;
  POE/Request/Recall.pm M; POE/Request/Upward.pm M

    Clean up most of the context problems that have plagued POE::Stage
    while switching to the new POE::Request based contexts. 

  2005-07-11 06:44:49 (r28) by rcaputo; examples/all-call-types.perl A

    Test the contexts and special "req" and "rsp" data members for
    expectations. This makes debugging this stuff SOOOO much easier. I
    should have done it HOURS ago! 

  2005-07-10 20:17:35 (r27) by rcaputo; POE/Request/Upward.pm M

    The array deletes were resetting data members to undef, which is
    against protocol in this application. The values should be 0 to avoid
    undefined-value warnings yet retain falsity. This replaces delete()
    with splice(). 

  2005-07-10 18:07:12 (r26) by rcaputo
  POE/Stage/TiedAttributes.pm M; examples/ping-pong.perl M;
  examples/udp-peer.perl M; POE/Request/TiedAttributes.pm A;
  POE/Stage/Ticker.pm M; examples/many-responses.perl M;
  POE/Request/Emit.pm M; POE/Request/Return.pm M; POE/Stage/Receiver.pm
  M; POE/Request.pm M; POE/Request/Recall.pm M; POE/Request/Upward.pm M

    Replace the $stage->{req_foo} and $stage->{rsp_foo} syntax with
    $stage->{req}{foo} and $stage->{rsp}{foo}. This MAY let us also say
    $stage->{other_request}{foo}, but I won't know for sure until an
    example program tries it. 

  2005-07-10 18:05:51 (r25) by rcaputo
  lab A; lab/lvalue-test.perl A; lab/tied-attributes-test.perl A

    Create a place for experiments and proofs of concepts. Move some of
    those programs into that place. 

  2005-06-22 04:24:08 (r24) by rcaputo
  POE/Stage/TiedAttributes.pm M; examples/udp-peer.perl M; PATTERNS M;
  POE/Stage.pm M; examples/many-responses.perl M; TODO M;
  POE/Request/Return.pm M; POE/Stage/Receiver.pm M; POE/Stage/Echoer.pm
  M; examples/ping-pong.perl M; POE/Stage/Ticker.pm M;
  POE/Request/Emit.pm M; POE/Request.pm M; NOTES M; POE/Request/Recall.pm
  M; POE/Request/Upward.pm M; POE/Watcher/Delay.pm M;
  POE/Watcher/Input.pm M; POE/Watcher.pm M

    Add the svn:keywords property to all these files. 

  2005-06-14 19:45:08 (r23) by rcaputo; PATTERNS M

    Ramble a little more about response contexts, their side effects, and
    perceived problems implementing them. 

  2005-06-14 05:14:15 (r22) by rcaputo; PATTERNS M

    I'm getting a little closer to resolving the sub-request scoping
    issues. Here are my latest notes on the subject. 

  2005-06-14 03:25:02 (r21) by rcaputo
  POE/Stage/TiedAttributes.pm M; TODO M; POE/Request.pm M

    Add stubs for /^rsp_/ POE::Stage data members. 

  2005-06-13 21:08:57 (r20) by rcaputo
  POE/Stage/TiedAttributes.pm M; examples/ping-pong.perl M;
  examples/udp-peer.perl M; POE/Stage.pm M; POE/Stage/Ticker.pm M;
  examples/many-responses.perl M; POE/Request/Emit.pm M;
  POE/Request/Return.pm M; POE/Stage/Receiver.pm M; POE/Request.pm M;
  POE/Stage/Echoer.pm M; POE/Request/Recall.pm M; POE/Request/Upward.pm M

    Replace the internal hash reference implementation of most objects
    (except the stages) with list references. It's faster, but more
    importantly it's immune to typos and easier to read: $self->[REQ_FOO]
    is obviously a request member access. $self->{foo} is therefore a
    stage member access.
    
    In the Stage classes, replace _req and _rsp with req and rsp. Also
    replace the _foo members with req_foo. rsp_foo will be added shortly. 

  2005-06-12 01:50:25 (r19) by rcaputo; PATTERNS M

    Document some new ideas for handling responses from sub-requests. 

  2005-06-06 07:01:35 (r18) by rcaputo; PATTERNS M

    Ramble on a bit about new scopes for POE::Stage objects. Specifically
    ways to match up responses to requests and their bookkeeping data. 

  2005-06-05 07:04:31 (r17) by rcaputo; PATTERNS M

    Document more ideas about matching responses to their originating
    requests. 

  2005-06-04 18:23:31 (r16) by rcaputo
  POE/Request/Emit.pm M; POE/Request/Return.pm M; TODO M; POE/Request.pm
  M; POE/Request/Recall.pm M; POE/Request/Upward.pm A;
  POE/Watcher/Delay.pm M; POE/Watcher/Input.pm M

    A round of refactoring. POE::Request::{Emit,Return} have been
    abstracted into a base class, POE::Request::Upward and some small
    tweaks. POE::Request's _recall() method was moved to
    POE::Request::Emit's recall() method since that's the only place it's
    used. Saves a pointless method call. Cleaned up POE::Watcher::Delay
    and ::Input a very little. Updated TODO with the current state of the
    project. 

  2005-06-04 06:04:38 (r15) by rcaputo; TODO M

    Map out where to go from here. 

  2005-06-03 18:25:14 (r14) by rcaputo; TODO M

    Created an input watcher. 

  2005-06-03 18:22:33 (r13) by rcaputo
  POE/Request/Returned.pm D; POE/Request/Return.pm A

    Renamed Returned.pm to follow the message naming conventions. 

  2005-06-03 18:22:06 (r12) by rcaputo
  POE/Stage/TiedAttributes.pm M; examples/ping-pong.perl M;
  POE/Request/Returned.pm M; PATTERNS M; examples/udp-peer.perl A;
  POE/Stage.pm M; POE/Request/Response.pm D; POE/Request/Emit.pm A;
  POE/Stage/Receiver.pm A; POE/Request.pm M; POE/Request/Recall.pm A;
  POE/Watcher/Delay.pm M; POE/Watcher/Input.pm A

    MAJOR overhaul of the message-passing between stages. Created
    recall() and emit(). Spent a lot of time tweaking the message linking
    to get the semantics right. Created an Input watcher, a UDP Receiver
    stage, and a test program to exercise them. 

  2005-06-02 19:11:53 (r11) by rcaputo; POE/Request/Returned.pm A

    Renamed from Response.pm 

  2005-06-02 07:09:14 (r10) by rcaputo; PATTERNS M

    Discuss the UDP example at length, since this is where third-sortie
    POE::Stage has difficulty. Determine that _rsp might actually work,
    and investigate a plan. 

  2005-06-02 02:38:08 (r9) by rcaputo; PATTERNS M

    Flesh out the idea of connections representing poetalk-like
    attributes and watchers. Also explain the final TODO in "requests as
    connections" a little more. 

  2005-06-02 02:07:39 (r8) by rcaputo; PATTERNS A

    Initial add. This document tries to catalog the different kinds of
    component interaction patterns and mechanisms to support them
    completely. 

  2005-05-27 14:33:47 (r7) by rcaputo; POE/Watcher/Delay.pm M

    Change the "method" parameter to "_on_success" to fit with the
    general naming scheme for callbacks. 

  2005-05-27 14:33:14 (r6) by rcaputo; POE/Stage/Ticker.pm M

    Refactor: Move the delay setting code to a common subroutine. 

  2005-05-27 06:49:43 (r3) by rcaputo; TODO A; NOTES M

    Add a TODO file for continuity between development sessions. Update
    the notes a little. 

  2005-05-27 06:47:01 (r2) by rcaputo; examples/many-responses.perl M

    The timers were set to REALLY FREAKING TINY for memory leak checking.
    Changed them back to 1 second to make sure the timers were working. 

  2005-05-27 06:20:43 (r1) by rcaputo
  POE/Stage/TiedAttributes.pm A; /trunk A; POE/Stage.pm A;
  examples/many-responses.perl A; POE/Stage/Echoer.pm A; POE/Request A;
  examples/ping-pong.perl A; examples A; POE/Watcher A; /branches A;
  POE/Stage/Ticker.pm A; POE A; POE/Request/Response.pm A; POE/Stage A;
  POE/Request.pm A; NOTES A; POE/Watcher/Delay.pm A; /tags A;
  POE/Watcher.pm A

    Initial import. This is a complete if simple working prototype of an
    experimental object system. The goal of this project (and others like
    it) is to explore what it means to be a POE component/object/thingy
    and attempt to create a standard framework in which they may
    interact. 

==============
End of Excerpt
==============