in src/cpp/RiderLink/Source/RD/src/rd_framework_cpp/src/main/ext/RdExtBase.cpp [48:81]
void RdExtBase::on_wire_received(Buffer buffer) const
{
ExtState remoteState = buffer.read_enum<ExtState>();
traceMe(spdlog::get("logReceived"), "remote: " + to_string(remoteState));
switch (remoteState)
{
case ExtState::Ready:
{
sendState(*extWire->realWire, ExtState::ReceivedCounterpart);
extWire->connected.set(true);
break;
}
case ExtState::ReceivedCounterpart:
{
extWire->connected.set(true); // don't set anything if already set
break;
}
case ExtState::Disconnected:
{
extWire->connected.set(false);
break;
}
}
int64_t counterpartSerializationHash = buffer.read_integral<int64_t>();
if (serializationHash != counterpartSerializationHash)
{
RD_ASSERT_MSG(false, "serializationHash of ext " + to_string(location) +
" doesn't match to counterpart: maybe you forgot to generate models?\n"
"our: " +
to_string(serializationHash) + ", counterpart:" + to_string(counterpartSerializationHash))
}
}