|
FAST Protocol
< Previous Next >
Re: FAST Extension proposal - MAP
Rolf Andersson / Pantor Engineering 29 Sep 2008 12:42PM ETusing the pbit to distinguish between definition and reference has the following effects:
1. multiple pmap bits must be used to apply other operators
2. one pbit is used for each occurrence of a map field
3. the wire representation of definitions will be one byte shorter
More than one pbit may be used by decimal fields.
The effect of 2 and 3 is that the one byte in 3 gets amortized over 8 reference occurrences of the field. Less than 8 references per definitions results in pmap being more compact, more than 8 references means leading zero byte results in definition being more compact.
(Nullability can be expressed for the by using a nullable representation for the first byte of both reference and definition)
/Rolf
> My vote is for the following implementation
>
> 1. Map should not be able to combine with other operators
> 2. The presence bit should indicate reference or definition
> 3. Nullable fields should be encoded as a 0 presence bit and a
> zero reference
>
> Example:
>
> 4. Defining a new value:
>
> PBIT: 1 ENCODING: 0x81 0x49 0x42 0xCD
>
> Store the value "IBM" into cache index 1. Set field value to "IBM"
>
> 5. Referencing a value:
>
> PBIT: 0 ENCODING: 0x81
>
> Set field value to cached value "IBM"
>
> 6. Sending a null value:
>
> PBIT: 0 ENCODING: 0x80
>
> Set field value to null
Re: FAST Extension proposal - MAP Rolf Andersson / Pantor Engineering 29 Sep 2008 12:42PM ET
|