diff --git a/adnl/adnl-peer.cpp b/adnl/adnl-peer.cpp index 108d5211..9e106585 100644 --- a/adnl/adnl-peer.cpp +++ b/adnl/adnl-peer.cpp @@ -70,7 +70,7 @@ void AdnlPeerPairImpl::alarm() { retry_send_at_ = td::Timestamp::never(); auto messages = std::move(pending_messages_); pending_messages_.clear(); - send_messages_in(std::move(messages), true); + send_messages_in(std::move(messages), false); } alarm_timestamp().relax(next_dht_query_at_); alarm_timestamp().relax(next_db_update_at_); @@ -267,7 +267,9 @@ void AdnlPeerPairImpl::send_messages_in(std::vector message size_t ptr = 0; bool first = true; do { - size_t s = (channel_ready_ ? channel_packet_header_max_size() : packet_header_max_size()); + bool try_reinit = try_reinit_at_ && try_reinit_at_.is_in_past(); + bool via_channel = channel_ready_ && !try_reinit; + size_t s = (via_channel ? channel_packet_header_max_size() : packet_header_max_size()); if (first) { s += 2 * addr_list_max_size(); } @@ -311,8 +313,6 @@ void AdnlPeerPairImpl::send_messages_in(std::vector message } } - bool try_reinit = try_reinit_at_ && try_reinit_at_.is_in_past(); - bool via_channel = channel_ready_ && !try_reinit; if (!via_channel) { packet.set_reinit_date(Adnl::adnl_start_time(), reinit_date_); packet.set_source(local_id_);