Skip to content

Commit

Permalink
tweak(core/sbag): delete state bags that get passed as nil
Browse files Browse the repository at this point in the history
  • Loading branch information
AvarianKnight committed Aug 16, 2024
1 parent 705cd79 commit 5da1f26
Showing 1 changed file with 6 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -245,12 +245,16 @@ void StateBagImpl::SetKey(int source, std::string_view key, std::string_view dat
continuation(key, data);
}

// https://github.com/msgpack/msgpack/blob/master/spec.md#formats
constexpr char MsgPackNil = static_cast<char>(0xc0);
void StateBagImpl::SetKeyInternal(int source, std::string_view key, std::string_view data, bool replicated)
{
{
std::unique_lock _(m_dataMutex);

if (auto it = m_data.find(key); it != m_data.end())
if (data[0] == MsgPackNil) {
m_data.erase(std::string { key });
}
else if (auto it = m_data.find(key); it != m_data.end())
{
if (data != it->second)
{
Expand Down

0 comments on commit 5da1f26

Please sign in to comment.