28 : m_rTransport(rTransport)
40 buffer.push_back(
'O');
41 buffer.push_back(
'x');
42 buffer.push_back(sessionTimeout);
45 buffer.insert(buffer.end(), {0, 0});
46 *
reinterpret_cast<uint16_t*
>(&buffer[19]) = nativeToColaByteOrder<uint16_t>(2u);
49 buffer.insert(buffer.end(), {
'E',
'x'});
52 *
reinterpret_cast<uint32_t*
>(&buffer[4]) =
68 const std::vector<uint8_t> MagicBytes = {0x02, 0x02, 0x02, 0x02};
69 bool result = std::equal(MagicBytes.begin(), MagicBytes.end(), buffer.begin());
74 const uint32_t length = readUnalignBigEndian<uint32_t>(buffer.data());
84 m_sessionID = readUnalignBigEndian<uint32_t>(buffer.data() + 2);
100 std::vector<std::uint8_t> header;
103 const uint8_t MAGIC_BYTE = 0x02;
105 for (uint8_t i = 0; i < 8; i++)
107 header.push_back(MAGIC_BYTE);
119 header.insert(header.end(), {0, 0, 0, 0});
122 header.insert(header.end(), {0, 0});
134 std::vector<std::uint8_t> buffer;
139 buffer.erase(buffer.begin());
140 buffer.insert(buffer.begin(), header.begin(), header.end());
144 *
reinterpret_cast<uint32_t*
>(&buffer[4]) =
163 const std::vector<uint8_t> MagicBytes = {0x02, 0x02, 0x02, 0x02};
164 bool result = std::equal(MagicBytes.begin(), MagicBytes.end(), buffer.begin());
169 const uint32_t length = readUnalignBigEndian<uint32_t>(buffer.data());
177 buffer.erase(buffer.begin(), buffer.begin() + 8);
178 buffer.insert(buffer.begin(),
's');
185 uint8_t checksum = 0;
186 for (
size_t i = 8; i < buffer.size(); i++)
188 checksum ^= buffer[i];