in pyignite/datatypes/complex.py [0:0]
def parse_not_null(cls, stream):
int_sz, b_sz = ctypes.sizeof(ctypes.c_int), ctypes.sizeof(ctypes.c_byte)
length = int.from_bytes(
stream.slice(stream.tell() + b_sz, int_sz),
byteorder=PROTOCOL_BYTE_ORDER
)
final_class = type(
cls.__name__,
(ctypes.LittleEndianStructure,),
{
'_pack_': 1,
'_fields_': [
('type_code', ctypes.c_byte),
('length', ctypes.c_int),
('payload', ctypes.c_byte * length),
('offset', ctypes.c_int),
],
}
)
stream.seek(ctypes.sizeof(final_class), SEEK_CUR)
return final_class