============================
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
==============