On 02/01/2010 01:50 PM, Luiz Capitulino wrote:
Capability selection could be done as an object where the name/value
pairs are capability/argument.  If you need multiple arguments for a
capability, make the capability's value an object.
  That's exactly what seems complicated to me, because besides performing
two functions (enable/configure) some feature setup could require
more commands to be done in a clear way.

I think the way to do this would be:

server -> client: version & capabilities offer (including cap NEGOTIATE_FEATURES)
client -> server: capability selection (including cap NEGOTIATE_FEATURES)
server -> client: okay or error
(session is now in negotiation mode)
client -> server: configure features
server -> client: ack/nack
client -> server: change to command mode
server -> client: ack/nack

So Markus' proposal solves our immediate needs while making it possible to implement something more sophisticated IFF we end up needing it for some reason. It's a little more chatty than Luiz's proposal but since there isn't an obvious need now, I think it's a reasonable trade off to make.

Regards,

Anthony Liguori


Reply via email to