The thread / socket cleanup
process now works properly; there is no need to call Dispose(). No more
The socket communication
handler now works properly. When communicating with remote objects, you
will no longer experience "hidden exceptions" during periods of
inactivity. No more quirky demos!
The platform, stub-skeleton
registry, and interceptor-chain registry are all registered with every
platform. That is, remote management of targets / interceptors is now
possible. (Please see the 'RemoteTest2' demo.)
A bootstrapping process has
been put in place. Every platform, stub-skeleton registry, and
interceptor-chain registry can be accessed using only the IP address of
the containing platform. This enables remote discovery; you should no
longer use the file-system for this purpose. (Please see the 'RemoteTest2'
Private state query and update
facilities have been added to the framework. Objects deriving from
ExternalizingObject expose their internal state through the
'Representation' property of the class. (Please see the
A call to Start() is no longer
required to initialize platform services.
A default constructor, which
should be used, has been added to Platform() to hide some of the timeout