From 1b5cbebf9498249e52a9b0ae9f5d9ff74c852ed4 Mon Sep 17 00:00:00 2001 From: Dongsheng He Date: Mon, 10 Jun 2024 17:29:45 +0800 Subject: [PATCH] pick: pick braft#455 (#13) pick: https://github.com/baidu/braft/pull/455 Co-authored-by: yangzining.yzn --- src/braft/configuration.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/braft/configuration.h b/src/braft/configuration.h index cc11399..25e0bae 100644 --- a/src/braft/configuration.h +++ b/src/braft/configuration.h @@ -135,13 +135,21 @@ struct PeerId { inline bool operator<(const PeerId& id1, const PeerId& id2) { if (id1.addr < id2.addr) { return true; - } else { - return id1.addr == id2.addr && id1.idx < id2.idx; } + if (id2.addr < id1.addr) { + return false; + } + if (id1.idx < id2.idx) { + return true; + } + if (id2.idx < id1.idx) { + return false; + } + return id1.role < id2.role; } inline bool operator==(const PeerId& id1, const PeerId& id2) { - return (id1.addr == id2.addr && id1.idx == id2.idx); + return (id1.addr == id2.addr && id1.idx == id2.idx && id1.role == id2.role); } inline bool operator!=(const PeerId& id1, const PeerId& id2) {