================================ 2011-07-30 22:41:53 -0400 v0_090 ================================ commit 98db344273bd63e97283aef4690f1147ebd26e05 Author: Rocco Caputo Date: Sat Jul 30 22:41:53 2011 -0400 Bump the version for release. commit e9fb8dd2b684c2332cfa914f737f20a263b03c41 Author: Rocco Caputo Date: Sat Jul 30 22:36:46 2011 -0400 Apply Sébastien Aperghis-Tramoni's patch to allow Reflex to compile on Perl 5.8.8. Resolves rt.cpan.org ticket 66275. commit fc48064961e2bc9a85b83eb41d80a20a33fc3ae9 Author: Rocco Caputo Date: Sat Jul 30 22:33:53 2011 -0400 Remove PodPlexus plugin for now. That's a bigger yak than will fit in any recent release. commit a94504ff16cdb05c11469e20c4dcd38b5eab9832 Author: Rocco Caputo Date: Sat Jul 30 22:33:17 2011 -0400 Commit experimental things for others to consider. commit 4dba6022a1d977f170c21a4d4efb01a3d38a47bf Author: Rocco Caputo Date: Sat Jul 30 22:29:03 2011 -0400 Reorganize to make a little more accessible, based on feedback from YAPC::NA. commit 000a5036fd9342f67b51c77e3dd59f5d6853f471 Author: Rocco Caputo Date: Sat Jul 16 20:18:06 2011 -0400 Implement a non-Moose inheritance example. Test the new Pod::Plexus "=include" directive. commit b72e530173db48f39ca2bee0a410ddb34411cb84 Author: Rocco Caputo Date: Sat Jul 16 15:07:27 2011 -0400 Begin using Pod::Plexus and Pod::Weaver. commit 30bfa45994926534e5c94bc0dd83edf980edd8d6 Author: Rocco Caputo Date: Tue Jul 5 23:13:55 2011 -0400 Implement a couple prototypes for injecting event loops into Reflex::Base. Heavily leaning on confound's advice from irc.perl.org #moose. commit 8b5146ac2e8090a0190ded77039f61b00a2950e8 Author: Rocco Caputo Date: Tue Jul 5 22:22:37 2011 -0400 Prototype a Reflexive ZeroMQ socket, with basic publish and subscribe examples. commit 9479f27167e894e18f36a4a7fbbb72155549156a Author: Rocco Caputo Date: Tue Jun 28 02:16:14 2011 -0400 Experimentally coerce callbacks from contextual parameters. commit 4dcae463a99d85c05d2cb03356bb721e3c84fc3a Author: Rocco Caputo Date: Tue May 31 01:10:20 2011 -0400 Whitespace fixes. commit e0d6b992e52a4f93e58bd96f985f82896d563ce4 Author: Rocco Caputo Date: Tue May 31 01:04:43 2011 -0400 Explicitly export watches() and emits() from their corresponding Reflex traits. commit 71a77f8dbcbc35125b1e7ee3238a740746da57e6 Author: Rocco Caputo Date: Tue May 31 01:03:56 2011 -0400 Revise documentation. commit 5b0127b4bad48d1b5a48f39309859e693a8738d8 Author: Rocco Caputo Date: Sun May 29 22:17:46 2011 -0400 Remove emit() from roles. Roles are all about static composition, and events are for dynamic composition. Roles that emit() events blur this distinction, so I'm deeming them to be "bad". Additionally, one of Reflex's prime directives is for consumers to decide how they'll handle things. Implementing "interface" callbacks in roles (even default ones) takes this away from the consumer. The current solution is to provide declarative helpers to define the defaults. They also make more explicit that it's the consumer's role (har) to define callbacks in all cases. This is slightly less convenient, but it's a lot cleaner. Also add vim format lines so I stop dealing with whitespace inconsistencies. commit 18c07d9577fb4e77d0bef4ecb680c31277a6beea Author: Rocco Caputo Date: Thu May 26 09:46:28 2011 -0400 Avoid breaking code that uses Reflex::Trait::Observed. Add a Reflex::Trait::Observed that's implemented by Reflex::Trait::Watched. This is a temporary plceholder to avoid upgrade awkwardness. It'll go away in a few releases of Reflex. commit 354b571ef2509485a2cc4f3a660738dcec20bcc9 Author: Rocco Caputo Date: Thu May 26 00:55:38 2011 -0400 Remove the "Empty" message. undef is just fine for this purpose. commit 9513af3bd7026db10548a3071870be7a2e21749f Author: Rocco Caputo Date: Wed May 25 23:05:52 2011 -0400 Rename "observe" to "watch". It's shorter, and it aligns the names of things with what node.js people understand. commit 20c1bb9c51c40c519dd311f1932b47be926972c5 Author: Rocco Caputo Date: Wed May 18 01:09:03 2011 -0400 Experimental queued I/O model, like a pared down STREAMS system. Meant to address ordering issues when I/O races with notifications like EOF and SIGCHLD, which can happen in pipe/fork/exec situations. commit 8cbeb92e5b2a9833a40cf7496b9c082a32838666 Author: Rocco Caputo Date: Sat May 7 19:12:58 2011 -0400 Outline more multiprocess and ransparent RPC considerations. commit 3d7a5058b539fa631a3f894e6aa95122ee81c7a2 Author: Rocco Caputo Date: Sat Apr 16 03:24:43 2011 -0400 "Lifeguard" was confusing, so call it "Pool Manager" for now. commit b0db25334d1592fdefe2ebd8bd7e04824d7afb2d Author: Rocco Caputo Date: Sat Mar 26 04:19:02 2011 -0400 Add Andy Gorman's requirements for worker management. Begin generic worker management requirements. commit 9ee64987571c3734d03c6de6215dd52ccdc49af2 Author: Rocco Caputo Date: Sun Mar 20 00:20:15 2011 -0400 Add experimental support to merge promise queues, but I think this isn't flexible enough to be generic. Expect it to be replaced by... better. commit 97fe645e9ad687b414a9983774d9abd25da1c42b Author: Rocco Caputo Date: Sun Mar 20 00:18:42 2011 -0400 Reflex objects seem to interact in ways similar to the Enterprise Integration Patterns. Summarize some of those patterns in the TODO outline, and add tasks to investigate more. commit c5a86a1985c373e3ef0f96d71692a83acaa5d1e9 Author: Rocco Caputo Date: Sat Mar 19 14:02:34 2011 -0400 Add ability to wait for the next() occurrence of a particular event. Using it in my rx-firmata work: $uno->put_handle("\xF0\x6B\xF7"); $uno->next('initialized'); commit f279d0812b7e19acd87a0b24befb23b443e25b66 Author: Rocco Caputo Date: Tue Mar 15 23:05:37 2011 -0400 Braindump Erlang inspiration for distributed Reflex. New tasks set the project back 3%. :( commit 49fbf78c1626e65d6ce158b5a643732888b43396 Author: Dylan William Hardison Date: Fri Mar 4 22:09:06 2011 -0500 Don't assume handle is named handle. commit fb03bf2b03759d781c92b3d3f5d8ca9ff3da6642 Author: Rocco Caputo Date: Sun Feb 13 13:02:31 2011 -0500 Add get_id() to Reflex::Role::Reactive. Rekey all object-keyed data on object ID instead, improving iThread-safety and fork()-safety on Windows. commit f56955440e184f5377840040974ae871505a288c Author: Jason May Date: Sat Feb 12 15:22:08 2011 -0500 Add objects() trait delegate. commit 1d07a7687db51ceefffc94d2fa7688d8382b58e6 Author: Rocco Caputo Date: Sun Feb 13 11:43:38 2011 -0500 Reweaken the sender. While it would be nice to keep the sender around, it was causing resource deadlocks in example programs. commit 8e6117cfc8beaab82bd73d0c4c13ea6965a8d0db Author: Rocco Caputo Date: Sun Feb 13 11:42:27 2011 -0500 Start each Reflex object with a Promise. Previously the call to next() would trigger creation of a Promise. Messages delivered before next() could be called would be discarded. commit da49313800ae599d5e4d290c83bc0f80f782419c Author: Rocco Caputo Date: Sun Feb 13 11:41:41 2011 -0500 Doc fix. Make it explicit that input that input streams are asynchronous. commit 048f18992504b5e149bab77e75ee5f6ee94cd1b1 Author: Rocco Caputo Date: Sun Feb 13 11:40:18 2011 -0500 Don't allow events to enqueue forever in a Promise callback. commit 3bd9acb1e815ed4966afaa56baf932331e6b09ba Author: Rocco Caputo Date: Mon Jan 24 19:27:14 2011 -0500 Explain that request() is a convenience method to gloss over the details of $poe_kernel->post(). commit f32ece5c9228d31ab73f6c4182b5fae2bcbcaf0c Author: Rocco Caputo Date: Mon Jan 24 18:45:21 2011 -0500 Improve the comments in the POE component examples. Rob Bloodgood pointed out that the code's not self-explanatory. commit 94eb8a53c1c60525aa4d782c5ef6b68e62f3d754 Author: Rocco Caputo Date: Thu Jan 6 18:32:53 2011 -0500 Forgot to document a couple newish classes. ================================ 2011-01-06 18:32:53 -0500 v0_088 ================================ commit 67a5a537be32ac2475e8a6bc245faa1167c9ee51 Author: Rocco Caputo Date: Thu Jan 6 18:32:53 2011 -0500 Forgot to document a couple newish classes. commit 96596b2d80d6e143a16407cc8aa6e8b1db341cb9 Author: Rocco Caputo Date: Thu Jan 6 17:43:37 2011 -0500 Update experimental promise collection to use Sender. Make promise collections (Reflex::Collections that propagate events from their contents) work with Nick Perez's Reflex::Sender. commit 4a78509d41f54a9777377898738256653803aa08 Author: nperez Date: Tue Jan 4 10:27:23 2011 -0600 Implement Reflex::Sender and basic test for it. commit eeef1bcd5874252083f6829c6ed8a86351786dad Author: nperez Date: Thu Dec 16 12:48:05 2010 -0600 Implement _sender as a stack commit 3af0b450fdb7cc79a6fdaaaa65103c8ed41a8ef8 Author: Rocco Caputo Date: Sun Jan 2 20:38:20 2011 -0500 Promote some of the eg files to tests. commit 80a2572fbd0b46bfbdc94f3680144fc73a487310 Merge: b454d6c 3d79c43 Author: Rocco Caputo Date: Sun Jan 2 19:26:03 2011 -0500 Merge branch 'agorman' commit 3d79c43cd73061ff7ee18fc1ecb81f320e21386e Author: Rocco Caputo Date: Sun Jan 2 19:06:54 2011 -0500 Update dist.ini and add MANIFEST.SKIP. commit b454d6c2c1786a2f8e83bacc15f7d91f4f9d2c94 Author: Rocco Caputo Date: Tue Dec 7 01:55:14 2010 -0500 Fix Reflex::Role::Streaming's implementation and docs, a bug found by Nick Perez. commit 3b760a4e15053ab5c4a894243f0984bde5f0ccf3 Author: Rocco Caputo Date: Fri Nov 26 02:08:14 2010 -0500 Document why emit() is bad inside Reflex roles and the plan to replace them. commit 2c8c01acbfd922a69ebb0fdbce8ec309e4a0dcc3 Author: Rocco Caputo Date: Mon Nov 22 12:58:52 2010 -0500 Document "Reflexive" namespace as the preferred sandbox. Document the alternatives that were considered, pros and cons. commit f68bbe4830fc41ae468a6b796c16b44dc9584596 Author: Rocco Caputo Date: Mon Nov 8 13:15:55 2010 -0500 Fix an example error discovered out by Matt S. Trout. commit 12580b3daaf62955af4c81ee556c70936f315074 Author: Rocco Caputo Date: Mon Oct 18 11:42:31 2010 -0400 Add the one-way streaming roles needed for IPC::Run integration. commit 0ccc7a7966119cc83266c6dee8fc8ef2d755e133 Author: Rocco Caputo Date: Mon Oct 18 11:42:05 2010 -0400 Skip installing some really crufty files. commit 6bd0de8fade38ee84c4f2cf5d8df370406c86477 Author: Rocco Caputo Date: Thu Oct 14 12:49:35 2010 -0400 Note why Reflex::Types might be needed in the future. commit 5585824f2e2022ba646b9fec665322fe137dbb2c Author: Rocco Caputo Date: Wed Sep 29 12:00:34 2010 -0400 Explore a couple of agorman's questions about collections emitting events. commit 541a1f6120bf13dae2294a47e99a05224fd8b575 Author: Andy Gorman Date: Tue Sep 28 20:30:28 2010 -0700 Added functionality that provides a callback interface for elements in the Collection ================================ 2010-10-14 11:14:38 -0400 v0_085 ================================ commit 98811eeeb1bf80793be3d0c807c0fbc898a1f3b8 Author: Rocco Caputo Date: Thu Oct 14 11:14:38 2010 -0400 Fix Reflex handling of terminal POE signals. The presence of a Reflex signal handler should imply POE::Kernel->sig_handled(). Fixes a bug found by confound in irc.perl.org #poe. commit 971a7acf28cd095b8947d1ab54cbd13a3c9e2ed7 Author: Rocco Caputo Date: Thu Oct 14 11:13:17 2010 -0400 Fix Reflex::Role::Collectible's use of type constraints. HDP pointed out that it was bypassing type constraints by using its objects hash directly and explained how to do it correctly. commit b4f2d1952b5b404ae951b63cb844568555cad42d Author: Rocco Caputo Date: Wed Oct 13 23:09:18 2010 -0400 Add Acceptor and Connector role events. commit 2ea8fb890f7eec4bdfe31124e059bab4aebd1dcf Author: Rocco Caputo Date: Sun Oct 3 05:08:33 2010 -0400 Parameterize events the roles can emit. Create eg-15-ipc-run.pl and a supporting role and class. commit 5b2d561d9f51493d4d4189918a70679a2a67c352 Author: Rocco Caputo Date: Mon Sep 27 01:50:19 2010 -0400 Send parameters to cross-session callbacks. Agorman (irc.perl.org #reflex) discovered that they weren't being received. commit ade0cdc6b6ebf1a7ab31c217d8c86d37fef55bf0 Author: Rocco Caputo Date: Thu Sep 23 13:30:10 2010 -0400 Close a hole where the singleton session goes away and isn't rebuilt as needed. Fixes agorman's test case from irc.perl.org #reflex. ================================ 2010-09-08 22:33:44 -0400 v0_081 ================================ commit 1b7423a2c48f6137ed8c01c3fe94f293a967f164 Author: Rocco Caputo Date: Wed Sep 8 22:33:44 2010 -0400 Add agorman's test for run_all() called twice, and fix the problem. Agorman (irc.perl.org #reflex) discovered that run_all() called more than once asplodes ugly-like. He provided a nice test case, which I've added to Reflex's tests. It uses Reflex::POE::Wheel::Run, and that might need to be removed to make the test more portable. ================================ 2010-09-06 22:10:35 -0400 v0_080 ================================ commit 02cbace86c93007760218a9ad6dbfe3a07f6eacc Author: Rocco Caputo Date: Mon Sep 6 22:10:35 2010 -0400 Fix emitting/observing attributes in the weak TTL examples. They still don't work, however. commit 6eae87cc7b55520bb6803d6ce52176927611b8b4 Author: Rocco Caputo Date: Mon Sep 6 21:50:10 2010 -0400 Add "emits" and "observes" attribute declarations. "emits" is a shortcut for Reflex::Trait::EmitsOnChange. "observes" is a shortcut for Reflex::Trait::Observed. Names and locations may change. commit 134c7e07d5a25f8006f822137c319d8773df7424 Author: Rocco Caputo Date: Mon Sep 6 15:47:39 2010 -0400 Add simpler has_many syntax for Reflex::Collection. commit aeb38523e9c6c6dc1a19ae0af0eee4753c1ad86b Author: Rocco Caputo Date: Mon Sep 6 12:18:07 2010 -0400 Document another urgent TODO and expand upon the less urgent one. commit 253508c3e1acf0308a648ad4cd885439bf6d4d17 Author: Rocco Caputo Date: Mon Sep 6 04:31:27 2010 -0400 New example using Reflex within Bot::BasicBot. Incomplete, per TODO notes within this commit. commit c3ae474440a5a6eefaf05561e5411402d0675761 Author: Rocco Caputo Date: Sun Sep 5 17:31:02 2010 -0400 Document a new example idea: Using Reflex from POE programs. If this can be made to work, it represents an incremental migration path from POE to Reflex. Begin with a POE program, and gradually incorporate Reflex code. Eventually (har) port everything over. commit 394ca1407078520763ca8e72a190feb5f4d2d1d1 Author: Rocco Caputo Date: Sat Sep 4 15:21:32 2010 -0400 Require cutting edge POE. commit 344d969e7647059de8a988d18b1eb01d4bc7b885 Author: Rocco Caputo Date: Sat Sep 4 15:13:16 2010 -0400 Deliver PID exit noficiations only to interested objects. Agorman in irc.perl.org #reflex discovered that multiple PID watchers receive notification of all exiting child processes. This commit limits notification to just those PIDs that are watched. commit fc6cbf2d1428249cd70e2be12f2e178a13da8b34 Author: Chris Prather Date: Sat Sep 4 13:34:30 2010 -0400 Fix BUILD usage in Reflex::Role::Reactive. commit db1a28d896d4bdfdb0b30427f036a671821eb4e2 Author: Rocco Caputo Date: Thu Sep 2 12:48:59 2010 -0400 Bump version and dependencies for a new release. commit 948a8725f927bffaca5ba328c86d5c52394d7461 Author: Rocco Caputo Date: Thu Sep 2 12:29:59 2010 -0400 Fix the method_parameter key attribute. Was "name"; should be "delay". Thanks to "batman" in irc.perl.org #reflex. commit a5308ee78fa2e2da7db44aba3d95ca94bf721cd5 Author: Rocco Caputo Date: Thu Sep 2 12:26:13 2010 -0400 Make a note of SIGCHLD delivery problem before I forget. Reported by agorman in irc.perl.org #reflex. commit 57d7de0172a6e026780660d0170a1fd1a851cc48 Author: Rocco Caputo Date: Sun Aug 8 23:03:05 2010 -0400 Add MooseX::Role::Parameterized dependency. Chris Fedde pointed out its absence in freenode #perl. commit 5f76cdde13f1d633db7024a93c064168f25de67b Author: Rocco Caputo Date: Thu Aug 5 01:58:41 2010 -0400 requirements.otl becomes TODO.otl, as it ought to be. commit d1e2210e3c08c76e69515d0d6e7fb722e63bdf1b Author: Rocco Caputo Date: Thu Aug 5 01:50:39 2010 -0400 The Great Renaming is complete. commit e5e89df56a11e066e7a4dcde5d8ef49d8953e9fe Author: Rocco Caputo Date: Sat Jul 31 23:50:04 2010 -0400 Hoist writability callback management from Writing to Streaming. It's up to the Writing role's consumer to decide how flushes are to be triggered. The Writing role is only to be concerned with writing. =================================== End of changes in the last 365 days ===================================