On Fri, Aug 09, 2002 at 01:42:39PM +0200, [EMAIL PROTECTED] wrote:
> On Fri, Aug 09, 2002 at 03:18:55AM -0400, Rocco Caputo wrote:
> > 
> > This sounds like role-based addressing, which I seem to have omitted.
> > The idea is for each component to advertise its role in the overall
> > system.
> > 
> >   "I am a host resolver."
> >   "I am a web client."
> >   "I am a console interface."
> > 
> > but in a way that is also readable by Perl.  When a component needs a
> > host resolved, it could post its request to the role of "host
> > resolver" rather than any specific component.
> > 
> > Comparing interfaces is not enough.  In your example, you say "talks
> > to 1-200 components that have the client interface".  There may be
> > many components that share a client interface, but each performing
> > some variation on it.
> > 
> > Perhaps a role is just a specific enough interface.  "pop3 client"
> > instead of simply "client".  Or do you mean that the combination of an
> > interface and some data within the component determines its role?  For
> > example: "pop3 client connected to pobox.com".
> 
> 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.
> 
> It's sufficient for our component that it knows that there will be
> other components which understand the client interface. it can handle 1 to
> 200 instances. It doesn't matter if these do more, our component just want's
> to be understood. And that was all the component's designer had in mind.

So a component might accept MutexRequest messages and emit
MutexResponse messages.  It would be said to implement the
MutexTransaction interface, and it would have the role of "mutex
manager".  Is this correct?

-- Rocco Caputo / [EMAIL PROTECTED] / poe.perl.org / poe.sf.net

Reply via email to