[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.
--Erik