writeFieldBeginInternal method
void
writeFieldBeginInternal(
- TField field,
- int typeOverride
)
Implementation
void writeFieldBeginInternal(TField field, int typeOverride) {
// if there's a type override, use that.
int typeToWrite = typeOverride == -1.toSigned(8)
? getCompactType(field.type)
: typeOverride;
// check if we can delta encode the field id
if (field.id > lastFieldId_ && field.id - lastFieldId_ <= 15) {
// include the type delta with the field ID
writeByteDirect((field.id - lastFieldId_) << 4 | typeToWrite);
} else {
// write separate type and ID values
writeByteDirect(typeToWrite);
writeI16(field.id);
}
lastFieldId_ = field.id;
}