Connection Service



[1]

[2] There has been much discussion as to whether disconnect() is "polite" or not. That is, does disconnect() mean to immediately disconnect regardless of any activity on that connection, or does it mean that only once the component Using the connection is through should the disconnect occur? The second case is easier to implement, as it means there will be no nasty cleanups to take care of. However, both are going to be needed, since a user might want to simply kill a connection that's causing a resource drain. For the purposes of SC99 we will be implementing a "rude" disconnect, as we don't have time to wait for things to finish before we scurry away to debugging. Disconnects are also non-blocking, so that the Component attempting the disconnect can get on with what needs to be done.

[3] There is no limitation on which Ports a component can Export, provided it has a valid ComponentID. This means that if Component A passes its ComponentID to Component B, then B can export all of the Ports of Component A as if they were its own. There currently is no way to prevent this from happening. The only way to keep your Ports from being exportable via your ComponentID is by not registering them.

[4] If you don't register your ports so that they cannot be exported, then you can still provide them to other Components via the provideTo function. This is the only real security measure we are taking at this time for Ports. Our motto is, if you register it, be ready to share it. It is now, anyway.


Benjamin Temko

Last modified: Tue Sep 28 00:11:22 EST 1999