在cpp中的平面缓冲区中序列化对象
Serializing object in flatbuffers in cpp
我正在尝试使用平面缓冲区作为 master/slave 服务器之间的通信方式。我面临的问题是,在我将数据从 char*
读入 flatbuffer 后,我找不到将其写回 char*
的方法。第一个配置:
flatc --cpp --gen-mutable --gen-object-api -o ${OUT} ${IN}
这是令我困扰的代码:
char* buffer = <MY_FLATBUFFER_DATA>;
auto managedObject = GetMutableManagedObject(buffer);
makeChanges(managedObject);
char* newBuffer = managedObject.deserialize(); // This is my imaginative method
我希望能够反序列化已修改的对象并将其发送回从机。可能吗?或者我必须使用 "slower"(如教程所述)Pack
/UnPack
方法?
(我不介意另一种回答方式)
是的,您需要 Pack/UnPack。 --gen-mutable 只允许非常有限的修改(一些标量),如果你想能够修改你需要的对象 api.
我正在尝试使用平面缓冲区作为 master/slave 服务器之间的通信方式。我面临的问题是,在我将数据从 char*
读入 flatbuffer 后,我找不到将其写回 char*
的方法。第一个配置:
flatc --cpp --gen-mutable --gen-object-api -o ${OUT} ${IN}
这是令我困扰的代码:
char* buffer = <MY_FLATBUFFER_DATA>;
auto managedObject = GetMutableManagedObject(buffer);
makeChanges(managedObject);
char* newBuffer = managedObject.deserialize(); // This is my imaginative method
我希望能够反序列化已修改的对象并将其发送回从机。可能吗?或者我必须使用 "slower"(如教程所述)Pack
/UnPack
方法?
(我不介意另一种回答方式)
是的,您需要 Pack/UnPack。 --gen-mutable 只允许非常有限的修改(一些标量),如果你想能够修改你需要的对象 api.