On 27-Jun-2001 Rocco Caputo wrote:
> I see Sessions as sessions. That's why I originally named them that.
> One session can invoke several objects, and an object environment can
> have several sessions at once.
>
> 1 kernel
> -> many environments
> -> many sessions per environment
> -> many objects per session
>
> Objects don't interact directly with the Kernel. They talk amongst
> themselves with functions provided by the object layer. The object
> layer talks to the Kernel transparently on behalf of objects, as
> necessary. This is part of making objects more fun than sessions.
Yes, I think I've groked this. pied.nu/Perl/objects.perl works this way,
only it has one object per session. Only trouble I see is interoperating
with other environments. Of course, if I like a compontent in environment
Foo, I'll write a compatiblity hack. This rapidly becomes annoying, so we
should start thinking about routing and nameing and namespaces.
> Since all object/kernel interaction goes through the object layer, it
> can monitor everything that happens.
Not having session monitoring means that I can't robustly implement IKC
publish/subscribe. So, I will be removing this feature from IKC in the
next major release (version 1.0) and moving it to some object layer.
Version 1.0 will also move the pre-forking code and babysitting code
elsewhere and refactor the negociation phase/protocol. Yes, this will
break a huge pile of code, but either a) backward compatibility hacks will
be avaiable, b) can stay with a 0.x version or c) tough, you want to use
1.x you have to use the object layer. IKC will be back to what it was
originally should have been: getting events from kernel A to kernel B.
-Philip