[coyotos-dev] IDL compatibility

Charles Landau clandau at macslab.com
Tue Jul 10 17:26:58 EDT 2007


At 12:22 PM -0400 6/19/07, Jonathan S. Shapiro wrote:
>On Tue, 2007-06-19 at 08:36 -0700, Charles Landau wrote:
>  > At 10:46 AM -0400 6/19/07, Jonathan S. Shapiro wrote:
>  > >Cryptographic code points are regrettable because they cannot be
>>  >efficiently demultiplexed. The problem with any *other* method code
>>  >synthesis scheme is that central coordination is required to avoid code
>>  >point collisions.
>>
>>  There are many schemes that could avoid collisions in a single chain
>>  of inheritance. You could have an easily-demultiplexed method index
>>  in the low bits, and (only for robustness, in case a method code is
>>  misused) a hash in the high bits.
>
>The current scheme is that the most-significant 8 bits encode the
>inheritance depth, with the "root" value being 1 (to guarantee
>non-collision with RC_OK). The least-significant 24 bits are the method
>number in order of appearance within the interface.
>
>This is not a good scheme. It is vulnerable to many innocuous edits that
>can cause method codes to be inadvertently altered. Unfortunately, I do
>not know of any implicit code point assignment strategy *other* than a
>pure hash on fully-qualified name (or reliably random generation) that
>does not share this issue.

How about:
- the most-significant 8 bits encode the inheritance depth, as now, and
- The least-significant 24 bits are the method number in alphabetical order

The alphabetical order will not change unless you add, delete, or 
rename a method, all of which are incompatible changes, not innocuous 
edits.



More information about the coyotos-dev mailing list