To optimize the protocol, we should use shorter (single character?) names and values for our internal attributes
This is very unfortunate for logging/debugging.
One can use the ZippedJsonCodec instead in production (or just use https, which zips anyway)
I have worked with such protocols (e.g. FIX) and it is really no problem during development, because one learns and memorizes the important fields quickly. :) Optionally we could introduce a debug flag, which would switch to full names. But as I said, I do not deem that necessary.
Compressing data before encrypting it introduces new kinds of vulnerabilities, thus I would prefer if it remains optional and we try to get good performance without the need for compression.
Shortening command and attribute names sounds like a good idea to me. Having a flag that turns this feature on/off is also good. Further down the road, perhaps a BSON or binary YAML codecs can be created to make the payload even smaller.
when I get log output from clients for answering support questions (dev/test/prod) it is of extreme value to see the full picture.
This issue is to be handled at the codec level.
A delegating codec sounds like a good compromise to me
@Dierk Your idea is to create something like a FastJsonCodec class next to the normal one (JsonCodec) that uses smaller names for the attributes? If yes, I think that this can be done.
there already is