Conversation
|
In the interest of consistency it probably makes sense to encode the list of options in the same manner as we do SvcParams (a flat list with interleaving optnum-optval-pairs). We do that their, because SvcParams MUST have a predetermined order, but does not hurt to do it here as well. Will do! |
|
I support making it array (so that everything structured is array which allows for subset coding in CBAPT, but this I'll write more detailed later in #12), however did not quite understand why name compression was that nail. The only possible thing I may be suggesting here is to add a phrase that order of key-value pairs is, like in original DNS, not important (behaves like map) - for those fearless who could try to add determinism here in future... |
Because the order, strings appear within the object, is important with name compression. Unless when using deterministic encoding (or more specific just what used to be called |
|
Ah, so we could get different compressed size depending on order of strings within maps. Got it. |
Not a different size. Depending on how you write and in which programming language your encoder, e.g., use an in-memory representation of a hash map of objects first, and then convert to binary. This can actually completely mess up your references, as strings might not be in the same order in the binary as they were in your in-memory representation. |
Under the "Files changed" tab. |
And sure, a smart programmer will not make such a mistake, but let's try to prevent potentials for programmers to shoot themselves in the foot directly here. |
Thought I amended something for that, but apparently, I forgot. Please wait with the merge until tomorrow when I can check my work machine. |
Ah, not thought about it. So I am not so smart programmer :) let's prevent foot guns directly.
Don't see it here either, but OK, let's wait. |
Done. |
TBD28259 (see section Name Compression) put the final death nail into the idea of the EDNS(0) options being a map.