// Counter Directory packet (packet family=0; packet id=2)
// Request Counter Directory packet (packet family=0, packet id=3)
// Periodic Counter Selection packet (packet family=0, packet id=4)
- uint32_t packetVersionEntries = 5;
+ // Periodic Counter Capture packet (packet family=1, packet class=0, type=0)
+ uint32_t packetVersionEntries = 6;
uint32_t payloadSize = numeric_cast<uint32_t>(infoSize + hardwareVersionSize + softwareVersionSize +
processNameSize + packetVersionCountSize +
uint32_t packetId = 0;
offset += sizeUint32;
- for (uint32_t i = 0; i < packetVersionEntries; ++i) {
+ for (uint32_t i = 0; i < packetVersionEntries - 1; ++i)
+ {
WriteUint32(writeBuffer, offset, ((packetFamily & 0x3F) << 26) | ((packetId++ & 0x3FF) << 16));
offset += sizeUint32;
WriteUint32(writeBuffer, offset, EncodeVersion(1, 0, 0));
offset += sizeUint32;
}
+
+ packetFamily = 1;
+ packetId = 0;
+
+ WriteUint32(writeBuffer, offset, ((packetFamily & 0x3F) << 26) | ((packetId & 0x3FF) << 16));
+ offset += sizeUint32;
+ WriteUint32(writeBuffer, offset, EncodeVersion(1, 0, 0));
}
}
catch(...)
uint32_t processNameSize = numeric_cast<uint32_t>(processName.size()) > 0 ?
numeric_cast<uint32_t>(processName.size()) + 1 : 0;
- uint32_t packetEntries = 5;
+ uint32_t packetEntries = 6;
MockBuffer mockBuffer2(512);
SendCounterPacket sendPacket2(mockBuffer2);
{
BOOST_TEST((ReadUint32(readBuffer2, offset) >> 16) == packetEntries);
offset += sizeUint32;
- for (uint32_t i = 0; i < packetEntries; ++i)
+ for (uint32_t i = 0; i < packetEntries - 1; ++i)
{
BOOST_TEST(((ReadUint32(readBuffer2, offset) >> 26) & 0x3F) == 0);
BOOST_TEST(((ReadUint32(readBuffer2, offset) >> 16) & 0x3FF) == i);
BOOST_TEST(ReadUint32(readBuffer2, offset) == EncodeVersion(1, 0, 0));
offset += sizeUint32;
}
+
+ BOOST_TEST(((ReadUint32(readBuffer2, offset) >> 26) & 0x3F) == 1);
+ BOOST_TEST(((ReadUint32(readBuffer2, offset) >> 16) & 0x3FF) == 0);
+ offset += sizeUint32;
+ BOOST_TEST(ReadUint32(readBuffer2, offset) == EncodeVersion(1, 0, 0));
+ offset += sizeUint32;
}
BOOST_TEST(offset == totalLength);