fix: replaced has_conclusion with check for full
This commit is contained in:
parent
1d2a410867
commit
ac1dbd6222
3 changed files with 15 additions and 4 deletions
|
|
@ -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]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue