2016-12-01 25 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

相關問題