set method
Implementation
void set(T value, [SharedMemoryIndexHolder? ih = null]) {
final index = data.elementAt(0);
if (index < 0 || index >= cacheSize) {
UnitRCError.reportWithMsg(
"index out of range, index: $index, cacheSize: $cacheSize");
}
final targetIndex = (index + 1) % cacheSize;
final rangeStart = 1 + targetIndex * dataSize;
final rangeEnd = rangeStart + dataSize;
final byteData = ByteData(dataSize);
valueToData(byteData, value);
data.setRange(rangeStart, rangeEnd, byteData.buffer.asUint8List());
data.setRange(0, 1, [targetIndex]);
ih?.index = targetIndex;
}