Idea for message serialization

keev - a Key-Value Serialization format with a concept of optionality on each side.

tl;dr:

  • All messages exist in a "top level" namespace
  • There is no versioning of messages. New message, new number.
  • Protocol speakers should expect to "negotiate" which versions they CAN speak, and which they will use.
    • Input/Output capabilities?
    • This should probably only happen once, on connection
  • For anachro: Remove the concept of paths
  • Use an enum, make it non-exhaustive
  • Have a method for generating the RX and TX capabilities