On Tue, Nov 12, 2002 at 09:40:35AM -0800, Erick Calder wrote:
> > I like the simplicity of this syntax.
> 
> me too.  I still prefer $kernel->yield() as it is simple, but certainly
> kernel()->yield would be better than $message->kernel->yield()? i.e. where
> "better" == "shorter" - me lazy and hate to read/type > I have to :)
> 
> > Rather than patching Session.pm, I recommend subclassing it in the
> > same vein as http://poe.perl.org/?POE_RFCs/Named_state_parameters
> 
> why not patch Session.pm?  a switch in the create() to enable it seems this
> functionality would make more sense.  in fact:
> 
>       options => { parameters => $my_choice }
>       where $my_choice could be "message" | "function" | "normal"
> 
> .... that way I don't have to select which package I want.  I much prefer to:
> 
>       use POE::Session;
> 
> than:
> 
>       use POE::Session::somethingorother;
> 
> ....it's just simpler to think about.  anyway, just my tuppence.

I like the options syntax, but I think combining all possible calling
conventions into Session will turn it into a monolith.  One compromise
would be to add the syntax while still using subclasses:

  options => { subclass => $my_choice }
  where $my_choice could be "MessageBased" | "Function" | default=none

Internally, the constructor can load the subclass module as necessary
and bless the new session into "POE::Session::$my_choice" rather than
POE::Session.

Combining all calling conventions into one class also introduces at
least one more runtime condition in some of POE's hottest code.
Dispatching events through a Session subclass would avoid the extra
cycles.

-- Rocco Caputo - [EMAIL PROTECTED] - http://poe.perl.org/

Reply via email to