IKC2

These pages are intended to record a discussion about IKC2. They are split into many pages so that the discussion can follow serveral branches. It's to bad this wiki doesn't have automatic cross-linking.

Goal

The primary goal of IKC is to propagate a message from it's source (a session/state in kernel A) to it's destination (a session/state in kernel B). Kernel A and B could in fact be the same kernel.

Note that we assume one kernel per process.

First, some Nomenclature

This requires :

And an interface to tie all this together.

A secondary goal is to make IKC as transparent as possible, so that constituant parts do not realise that an event came from a local or remote kernel. The tricky bit is getting postbacks to work semlessly in their native kernel and foreign kernel.

Pursuant to this goal, the we must require as few changes to the POE source as possible. Ideally, none.

IKC2 must be modular. Things like auto-reconnect, interface exposing, etc auto-discovery, should be built on top of as simple a core as possible.

Note that IKC2 will not include process management.

There are, of course, complications.