问题标签 [flatbuffers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
610 浏览

c++ - Flatbuffers 没有生成 Get* 方法,但生成了 *Builder(在 C++ 中)?

我最近开始尝试使用 flatbuffers 并面临一个非常奇怪的问题。我能够将 flatb 模式转换为 c++ 并编译我的 c++ 代码(包括生成的 c++)而不会出错。我什至可以使用 flatbuffers 对对象进行编码MyEventBuilder(...)。但是,没有对应的GetMyEvent(...)方法!

GetMyEvent在 flatc 生成的 .h 文件中进行了搜索,但没有显示任何相关信息。显然我做错了什么,这是一个太大的问题,不能只是一个错误。但是,我非常密切地关注文档。我也在 flatbuffers google 组中发布了这个问题,还没有回复。

有没有其他人看过这个?有什么想法可能导致这种情况(我希望并假设这只是我的一个愚蠢的错误,而不是 flatbuffers 的问题)?

TLDR:flatb 生成将我的 c++ 对象编码为字节数组的方法,但不是将字节数组转换回 c++ 对象的方法!

0 投票
1 回答
1367 浏览

c++ - flatbuffer c++: Is it possible to steal from flatbuffers::Vector

I'm new to flatbuffer and I want to know if it's possible to get full (not const*) access to data in flatbuffers::Vector. Looking at the example below, I want to steal the ownership of img2::mem::data to store it in an Img-struct and process it in any way I want. Is this somehow possible, without memcopy-ing?

0 投票
1 回答
2464 浏览

protocol-buffers - 如何使用 flatbuffer 模式重写 protobuf scheam?

例如,这是 protobuf 架构代码,我想用 flatbuffer 架构重写它们吗?代码是什么样的?

谢谢你,我的兄弟。

0 投票
2 回答
3187 浏览

python - 使用 flatbuffers 编写结构向量

我有以下课程:

命名空间消息;

要创建对象,我会做一些事情,例如

并且没有抛出错误

但是,当我尝试显示结果时,关键是好的,但是向量的大小和内容是错误的

0 投票
1 回答
512 浏览

c++ - flatbuffers:是否可以通过根指针删除缓冲区

我开始使用 flatbuffer 库。但是在删除缓冲区时,有一件事情让我感到不舒服。我不知道如何通过它的根指针元素删除缓冲区。如果这是可能的,根指针可以获取分配空间的所有权,我不必担心生命周期问题(悬空根指针,内存泄漏,......)

问:是否有可能(可能在某些限制下,因为怪物是不可变的,等等)写类似 delete_buffer 的东西

0 投票
2 回答
344 浏览

c++ - c ++使用flatbuffers在二进制文件中写入具有循环依赖关系的数据

我正在尝试使用 flatbuffers 将 Graph 写入二进制文件。图由节点和边组成。每个节点至少有一条边,每条边由两个节点组成。

摘自 MyGraph.fbs:

现在我想创建一个简单的图形并将其写入字节文件:

问题是,在创建节点后,我无法将边添加到节点 1 和节点 2 的边向量中。有没有解决两种类型之间的这种循环依赖的解决方案。

0 投票
1 回答
1827 浏览

java - 从 android (Flatbuffers) 中的 url 获取 byte[] 数组中的二进制数据

到目前为止我的代码

我将它作为字符串获取,然后将其转换为字节数组。

我想要的是

我想要它在Byte[] 数组而不是字符串中

它是一个 .bin 文件,从 url 获取字节

0 投票
3 回答
5974 浏览

grpc - 我们如何将 gRPC 与 Flatbuffers 一起使用?

我一直在研究 Apache Thrift、ProtoBuf 和 Flatbuffers。我在链接中找到了将 gRPC 与 protobuf 一起使用的教程,但我没有找到任何文档将 gRPC 与 Flatbuffers 一起使用。有人可以指出我的相关文件吗?我在 Google 和 Stackoverflow 上检查了它。任何帮助,将不胜感激。

0 投票
1 回答
72 浏览

c++ - 找不到 FinishMonsterBuffer() 方法

我按照 flatbuffers教程创建了一个表,并将其编译为 C++ 代码。说,它的名字是Doc。

在教程中,它说:

无论您使用的是 CreateMonster 还是 MonsterBuilder,您现在都有一个到数据根的偏移量,您可以使用以下方法完成缓冲区:

FinishMonsterBuffer(fbb, mloc);

但是,我找不到任何名为 FinishDocBuffer 的方法。生成的 Doc 类除了 getter 之外只有一个名为 Verify() 的方法。生成的 DocBuilder 类只有一个名为 Finish() 的方法。在这两个类之外只定义了一个名为 CreateDoc() 的函数。

我做错了什么,还是应该更新官方文档?

仅供参考,我正在使用从 git repo 克隆的最新 flatbuffers 代码。

更新:我发现示例代码也没有调用任何 Finish*Buffer() 方法。

0 投票
1 回答
3477 浏览

flatbuffers - 平面缓冲区:对象序列化不得嵌套

在上述行之后,我收到一条错误消息,提示线程“main”java.lang.AssertionError 中的异常:FlatBuffers:对象序列化不能嵌套。我在 fbb.createString 中遇到错误。

代码很简单,我无法弄清楚这里有什么问题