Vladimir Ozerov created IGNITE-1901:
---------------------------------------

             Summary: CPP: Adopt new marshalling flags.
                 Key: IGNITE-1901
                 URL: https://issues.apache.org/jira/browse/IGNITE-1901
             Project: Ignite
          Issue Type: Sub-task
          Components: interop
    Affects Versions: ignite-1.4
            Reporter: Vladimir Ozerov
            Priority: Critical
             Fix For: 1.5


As a part of IGNITE-1816 I had to revisit our flags. Here are how they look now:

{code}
/** Flag: user type. */
public static final short FLAG_USR_TYP = 0x0001;

/** Flag: schema exists. */
public static final short FLAG_HAS_SCHEMA = 0x0002;

/** Flag indicating that object has raw data. */
public static final short FLAG_HAS_RAW = 0x0004;

/** Flag: offsets take 1 byte. */
public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;

/** Flag: offsets take 2 bytes. */
public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;

/** Flag: compact footer, no field IDs. */
public static final short FLAG_COMPACT_FOOTER = 0x0020;
{code}

The following changes must be made to CPP:
1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ SCHEMA 
flag is set to true. This is the inversed version of what previously was 
"RAW_ONLY".
2) When raw data exists, HAS_RAW flag is set to true. This flag should be used 
to determine location of raw data. 
*DO NOT USE % for this anymore!*
3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to