File tree Expand file tree Collapse file tree 3 files changed +6
-10
lines changed Expand file tree Collapse file tree 3 files changed +6
-10
lines changed Original file line number Diff line number Diff line change @@ -407,7 +407,8 @@ void OverlayImpl::update_neighbours(td::uint32 nodes_to_change) {
407407 continue ;
408408 }
409409
410- if (X->get_version () <= td::Clocks::system () - Overlays::overlay_peer_ttl ()) {
410+ if (overlay_type_ != OverlayType::FixedMemberList && X->get_version () <= td::Clocks::system () -
411+ Overlays::overlay_peer_ttl ()) {
411412 if (X->is_permanent_member ()) {
412413 del_from_neighbour_list (X);
413414 } else {
@@ -656,14 +657,9 @@ size_t OverlayImpl::neighbours_cnt() const {
656657
657658void OverlayImpl::update_root_member_list (std::vector<adnl::AdnlNodeIdShort> ids,
658659 std::vector<PublicKeyHash> root_public_keys, OverlayMemberCertificate cert) {
659- td::uint32 expectd_size =
660+ auto expected_size =
660661 (td::uint32)(ids.size () + root_public_keys.size () * opts_.max_slaves_in_semiprivate_overlay_ );
661- if (expectd_size > opts_.max_peers_ ) {
662- opts_.max_peers_ = expectd_size;
663- }
664- if (expectd_size > opts_.max_neighbours_ ) {
665- opts_.max_neighbours_ = expectd_size;
666- }
662+ opts_.max_peers_ = std::max (opts_.max_peers_ , expected_size);
667663 std::sort (ids.begin (), ids.end ());
668664 auto old_root_public_keys = std::move (peer_list_.root_public_keys_ );
669665 for (const auto &pub_key : root_public_keys) {
Original file line number Diff line number Diff line change @@ -78,7 +78,7 @@ class Overlay : public td::actor::Actor {
7878 bool is_response) = 0;
7979 virtual void update_peer_ip_str (adnl::AdnlNodeIdShort peer_id, td::string ip_str) = 0;
8080 virtual void update_member_certificate (OverlayMemberCertificate cert) = 0;
81- virtual void update_root_member_list (std::vector<adnl::AdnlNodeIdShort> nodes ,
81+ virtual void update_root_member_list (std::vector<adnl::AdnlNodeIdShort> ids ,
8282 std::vector<PublicKeyHash> root_public_keys, OverlayMemberCertificate cert) = 0;
8383 // virtual void receive_broadcast(td::BufferSlice data) = 0;
8484 // virtual void subscribe(std::unique_ptr<Overlays::Callback> callback) = 0;
Original file line number Diff line number Diff line change @@ -280,7 +280,7 @@ class OverlayImpl : public Overlay {
280280
281281 void update_peer_ip_str (adnl::AdnlNodeIdShort peer_id, td::string ip_str) override ;
282282
283- void update_root_member_list (std::vector<adnl::AdnlNodeIdShort> nodes , std::vector<PublicKeyHash> root_public_keys,
283+ void update_root_member_list (std::vector<adnl::AdnlNodeIdShort> ids , std::vector<PublicKeyHash> root_public_keys,
284284 OverlayMemberCertificate cert) override ;
285285
286286 bool is_valid_peer (const adnl::AdnlNodeIdShort &id, const ton_api::overlay_MemberCertificate *certificate);
You can’t perform that action at this time.
0 commit comments