2016-12-01 36 views
0

我试过了项目apache mesos ZooKeeper部分,我想了解更多关于internal::state:Entry 的用法我看不到它在哪里定义或如果是班级,有人可以提供有关此部分的更多信息什么是internal :: state :: Entry和它在mesos中定义的位置

+0

我认为它与谷歌protobuf消息处理的用法有关,但是我不知道如何创建这个“类”或以什么方式在apache mesos中真正使用它 – serup

+0

看一看[这里]( https://github.com/apache/mesos/blob/81cd023eb9945a22c220edc966393dcfcdbce256/include/mesos/state/state.proto#L19-L24) – janisz

+0

是的,这是与编译器一起使用来生成Entry类的.proto文件 - 然而,它是如何编译的,以及什么是实际用于mesos的? – serup

回答

2

条目是由include/mesos/state/state.proto定义的消息。它由Make制作的其他protobuf消息编译(拨打电话protoc)。生成protobuf编译的C++文件。建立后,您可以在build/include/mesos/state/state.pb.h中找到Entry,前提是您遵循the official build guide

输入用作Data Access Object,并且可以通过Variable被wrrapped“给力不变性”

条目的示例用法可见于src/state/leveldb.cppsrc/state/in_memory.cpp。正如你所看到的那样,它只是用一些可以找到它的名字来包装butes。

+0

是的,这是我发现我的自我,但为什么mesos会使用这个巨大的消息包装 - 使用这个项目获得什么? – serup

+0

这用于定义访问状态存储的接口。如果没有protobuf,开发人员需要手动检查它们对Entry的更改是否向后兼容。 Protobuf开箱即用。更重要的是它也处理序列化。 [MESOS-5171](https://issues.apache.org/jira/browse/MESOS-5171)。 – janisz

+0

所以它只用于状态处理? protobuf不仅仅是状态处理 - 不知道我完全理解 – serup

相关问题