簡體   English   中英

平面緩沖區中的多個根表

[英]Multiple root tables in flatbuffers

我正在檢查Flatbuffers以實現通信協議。 在我看來,當收到一條消息時,它可能包含許多不同的表。 如果我正確理解,則在Flatbuffers中實現此目的的方法是使用“根”表,該表在一個聯合中具有每個可能的不同表。

就我而言,我已經知道傳入的類型(類型是標頭的一部分)=>我不一定需要能夠將每種類型放在單個表中。 但是,似乎無法將多個表標記為“根”類型。 這意味着,如果我定義了表FooBar ,則只能獲得用於反序列化的GetFoo()GetBar()方法,但不能同時獲得兩者。

我假設也可以將定義拆分到不同的模式文件中,但是由於它們將共享某些子類,因此我也需要一個共享的模式文件來定義常見的定義。 對於簡單的情況,這似乎比必需的要復雜一些。

是否有另一種方法可以使用Flatbuffers反序列化多個不同類型?

是的,您可以這樣做。 請注意,生成的GetMyType()只是可用於任何類型的模板化GetRootAs<MyType>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM