void MOUL::NetMsgSharedState::write(DS::Stream* stream) { NetMsgObject::write(stream); // Save the state to a stream NetMsgStream msgStream; msgStream.m_compression = m_compression; DS::StringBuffer<chr8_t> name = m_stateName.toUtf8(); msgStream.m_stream.write<uint16_t>(name.length()); msgStream.m_stream.writeBytes(name.data(), name.length()); msgStream.m_stream.write<uint32_t>(m_vars.size()); msgStream.m_stream.writeBool(m_serverMayDelete); for (size_t i=0; i<m_vars.size(); ++i) m_vars[i].write(&msgStream.m_stream); msgStream.m_stream.seek(0, SEEK_SET); msgStream.write(stream); stream->write<uint8_t>(m_lockRequest); }