void RdExtBase::on_wire_received()

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))
	}
}