fix: replaced has_conclusion with check for full

This commit is contained in:
Sara Gerretsen 2025-11-05 16:47:34 +01:00
parent 1d2a410867
commit ac1dbd6222
3 changed files with 15 additions and 4 deletions

View file

@ -37,9 +37,9 @@ void ClientNode::process() {
reveal_backlog();
}
}
bool const new_has_conclusion{ ydi::client::receive::has_conclusion() };
if (new_has_conclusion != this->conclusion.is_full()) {
this->conclusion = ydi::client::receive::conclusion();
FixedVector<NetworkData::ClueID, 3> &conclusion{ ydi::client::receive::conclusion() };
if (conclusion.is_full() != this->conclusion.is_full()) {
this->conclusion = conclusion;
emit_signal(sig_conclusion_received, this->conclusion[0], this->conclusion[1], this->conclusion[2]);
}
}

View file

@ -146,6 +146,18 @@ NetworkData::ConnectionStatus status() {
}
}
namespace receive {
FixedVector<NetworkData::ClueID, 3> &conclusion() {
static FixedVector<NetworkData::ClueID, 3> thread_safe_conclusion{};
if (connection) {
thread_safe_conclusion.clear();
} else {
std::scoped_lock lock{ connection->mtx };
thread_safe_conclusion = connection->conclusion;
}
return thread_safe_conclusion;
}
} //namespace receive
namespace send {
void reveal_clue(NetworkData::ClueID id) {
if (connection) {

View file

@ -10,7 +10,6 @@ void disconnect();
NetworkData::ConnectionStatus status();
namespace receive {
FixedVector<NetworkData::ClueID, 3> &conclusion();
bool has_conclusion();
} //namespace receive
namespace send {
void reveal_clue(NetworkData::ClueID id);