Hi,
this is mainly directed at POE's author, but I though other users would be
interested in it too (and, of course, in your response :)
I would like to know a bit more about some design aims. One reason for that
being that I'd like to help with developing. On the other hand there are
some things I'd like to rely on when developing. I don't know wether you
want to share you concepts, so if not please just fix some points.
a)
There are comments in the postback code saying that it would be highly
experimental and it wouldn't be sure that it still exists in the next version.
Is this true?
Do you have any other plans about control flow and the like, some kinds
of event/handler chains. This probably interacts very deeply with the
exception model which the PoCo::IKC author requested. The two major directions
are just using the session's hierarchy or putting more semantics on
everything, to my mind. The last one being not trivial at all, of course.
The current with sessions and wheels etc. (and POE::NFA) takes everything
on a nice little abstract level, but maybe it could be even better ...
b)
obsolete with the style guide you announced :)
this will be very helpful, so everyone knows were development is going to ...
c)
about the wheels, the docs' bug section says they should be replaced by
a proper stream abstraction. do you have any plans/ideas about it yet?
i'm really interested in this because i would need some features (the
different handling of input) and because it's an important piece of POE.
to me there is another issue: the decision on how much logic should be
handled by the filters. up to now tehy just translate. it could be useful
for some applications to be able to call other states in case of errors
for example. it is not really needed since everything can be done in a
session and filters could just pass stuff through unchanged. but maybe you
another approach.
d)
NFA, again :) (for the list members, i suggested to make state transitions
immediate because to me this would not brake cause/effect order/relations)
just to give an example for the problem: a sessions sends a command (cause),
and gets to responses, if response two is to be handled in the context of
the first one, one would have to set a flag. you cannot use a state
transition because it would race against the second response. and the
reason to use poe::nfa would be not having to handle an internal state.
would it be possibly to implement the nfa functionality in poe::session?
there could be a global state in which behaviour would be like with
current sessions. if the sessiosn state wouldn't be the global one it
should act like poe::nfa. this would be one more test for normal sessions
and no difference for nfas. it would solve the nfa start state and global
handler issues too. the main difference is that presently poe::nfa posts
synchronous calls back to make them asynchronous, isn't it? Rocco, do you
have any samples illustrating the problems you spoke about (cause and effect
misbehaviour with immediate state changes and calls)?
hmm, that's it for now. Rocco, I don't want to get on your nerves. so please
tell me if i should stop that and rather wait for something to appear :)
torvald