THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||
---|---|---|
| ||
Headers (bytes) => Set(Key, ValueLength, Value) Set => Key => int32Typed <---------------------- NEW int key of the header ValueLengthValue => int32Typed <-------------------- NEW size of the byte[]serialised form of the serialised header value Typed Type Value => bytesbyte <---------------------- NEW0x00 serialised form of the header value= null 0x01 = boolean=true 0x02 = boolean=false 0x03 = byte 0x04 = char 0x05 = int16 0x06 = int32 0x07 = int64 0x08 = float 0x09 = double 0x0A = string 0x0B = byte[] Bytes => bytes <-------------------- NEW byte array holding the corresponding value in byte array form, 0x00-0x002 - null and boolean this will be zero length 0x03-0x09 - will be the type length 0x0A-0x0B - string and byte this will contain the leading int32 length of the byte array. |
Example Key Allocation
As mentioned above ranges of keys would will be reserved for different usages, below is an example way this could be managed.
...