On Fri, Aug 09, 2002 at 08:30:00AM -0400, Richard Soderberg wrote: > On Friday, August 9, 2002, at 07:42 AM, [EMAIL PROTECTED] > wrote: > > >What I meant was something different. A directory in which components > >can > >publish their services can be helpful, like you said. > >The interfaces I'm talking about are real roles that components claim > >to be > >able to play. So "client" means it can play a client in the way that > >client was declared before (the protocol, which events are sent, ..., > >see > >below). Very similar to the interface that is spoken by the whole > >component, > >as outlined by the Emit: or "> .." "< ..." statements in your examples. > > Which allows components to deregister themselves as necessary -- say, > when you don't have any listeners connected, or if the service isn't > configured, there's no point in being listed as a "music broadcaster" > service (for example).
Added: === Reloadable Code === Within reason, POE should be able to reload the code for an active system without shutting it down. Role or interface based linking allows programs to dynamically load and unload their code as needed. When nothing actively requires a role to be fulfilled, the code or class that implements that role can be released. When it is needed again, it can be loaded from disk. We can also serve code requests across a network. A program may need a specific role fulfilled, and it could acquire the code to perform that role from a trusted network server. > I like the registry idea, too. Does that mean there'll be a component > exposing a service called "component registry"? Roles would probably be included in a component's description. They would be managed at a relatively low level, similar to how aliases are managed in POE now only with a fuller interface. I've already stated that I'm against exposing raw, low-level interfaces as components. Components should do more than the built-in features, if only to help justify the overhead of passing messages between them. I'm sure it won't stop someone from writing such a component, but that's my position on the matter. -- Rocco Caputo / [EMAIL PROTECTED] / poe.perl.org / poe.sf.net
