in src/codecs/field_codecs.h [1077:1092]
inline void encode(PyObject *message, DxApi::DataWriter &writer) {
if (message == NULL || message == Py_None) {
if (!is_nullable_) {
THROW_EXCEPTION("Field '%s' is not nullable.", field_name_.c_str());
}
writer.writeObjectNull();
return;
}
int32_t type_id = getTypeId(message);
writer.writeObjectStart(type_id);
codecs_[type_id]->encode(message, writer);
writer.writeObjectEnd();
}