[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

what's in a protocol

I wrote:
> btw, is this point addressed in the space:  if i send
> "#$#mcp-negotiate-can protocol: foo-bar", does this imply i can
> understand protocols foo-bar-baz and foo-baz-quux?

(I meant "spec", not "space".)

I've noticed that the spec says protocols are a "flat namespace", which helps a little, but I think it needs to be stated more clearly what is and isn't implied by "i can handle protocol foo".  My guess is that actually _nothing_ is implied by it; which means that protocol specifications should indicate what is implied.  So, "mcp-negotiate 2.0" implies the mcp-negotiate-can message and something about its semantics.  A hypothetical "labspace 1.0" protocol might imply understanding of the labspace-whiteboard 1.0 protocol and the labspace-spam-counter protocol 2.0, and the equally hypothetical "labspace-whiteboard 1.0" might imply understanding of the labspace-whiteboard cord.  A "yoyo-edit 3.6" protocol might imply the S->C yoyo-edit message and the C->S yoyo-edit-set message.  And so on.

This may be obvious, but I have a feeling that at the least, the spec should state explicitly that stated protocol capability does not inherently imply anything about messages, cords, or "subprotocols" that are known by the implementation.