本文整理汇总了C++中LogEntry::message_id方法的典型用法代码示例。如果您正苦于以下问题:C++ LogEntry::message_id方法的具体用法?C++ LogEntry::message_id怎么用?C++ LogEntry::message_id使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LogEntry
的用法示例。
在下文中一共展示了LogEntry::message_id方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: on_commit_fuse
// -----------------------------------------------------------------------------
void hub::on_commit_fuse(LogEntry entry) {
if (!entry.acked_by_quorum()) return;
auto new_graph = acks_to_graph(entry.acks);
_broadcast_routing_table->recalculate(new_graph);
LOG("Commit config: ", entry.message_id(), ": ", new_graph);
ASSERT(!_configs.empty());
auto prev_quorum = _configs.rbegin()->second;
Diff diff(prev_quorum, entry.quorum);
_configs.emplace(entry.message_id(), std::move(entry.quorum));
// Forget about the lost nodes
for (auto id : diff.removed) {
_seen->forget_messages_from_user(id);
_nodes.erase(id);
}
if (!diff.added.empty()) {
if (destroys_this([&]() { _callbacks->on_insert(move(diff.added)); })) {
return;
}
}
if (!diff.removed.empty()) {
if (destroys_this([&]() { _callbacks->on_remove(move(diff.removed)); })) {
return;
}
}
}