| 101 | } |
| 102 | |
| 103 | void QuerySaver::Serialize(string & data) const |
| 104 | { |
| 105 | vector<uint8_t> rawData; |
| 106 | MemWriter<vector<uint8_t>> writer(rawData); |
| 107 | auto size = base::checked_cast<Length>(m_topQueries.size()); |
| 108 | WriteToSink(writer, size); |
| 109 | for (auto const & query : m_topQueries) |
| 110 | { |
| 111 | size = base::checked_cast<Length>(query.first.size()); |
| 112 | WriteToSink(writer, size); |
| 113 | writer.Write(query.first.c_str(), size); |
| 114 | size = base::checked_cast<Length>(query.second.size()); |
| 115 | WriteToSink(writer, size); |
| 116 | writer.Write(query.second.c_str(), size); |
| 117 | } |
| 118 | data = base64::Encode(string(rawData.begin(), rawData.end())); |
| 119 | } |
| 120 | |
| 121 | void QuerySaver::Deserialize(string const & data) |
| 122 | { |