Optionaloptions: DataValueOptions | nullthe bytes not decoded yet; null once the fields have been decoded
the fields, made the first time one is used: decoded from the bytes, or by a subclass from its own form
a subclass that keeps the value in another form than bytes (its _bytes null) writes its encoding from there, as encodeDataValue() would from the fields, until they are made (_decodeFields)
Calculate the required size to store this object in a binary stream.
Encode the object to the binary stream.
verify that all object attributes values are valid according to schema
a DataValue still in its binary encoding, as another thread or process sent it: encoding it again writes those bytes as they are. A server that only passes a value on (a front thread answering a Read with what its engine read) then never decodes it, which for a large array saves decoding it, copying it to align its elements, and encoding it again.
Its fields are decoded the first time one of them is read or set; from then on it is an ordinary DataValue, encoded from its fields. Built by encodedDataValue(), never with
new.