in fix/core/src/main/java/deltix/connector/fix/mapper/CancelIdCache.java [40:65]
public void put(final long sequence, final CharSequence requestId) {
final int length = requestId.length();
assert length >= 0 && !indexMap.containsKey(sequence);
if (length > MAX_REQUEST_ID_SIZE) {
throw new IllegalArgumentException("request id length: " + length + " exceeds max: " + MAX_REQUEST_ID_SIZE);
}
if (capacity == indexMap.size()) {
final long sequenceToRemove = buffer.getLong(index);
indexMap.remove(sequenceToRemove);
}
final long value = ((long) index << 32) | length;
indexMap.put(sequence, value);
buffer.putLong(index, sequence);
BufferUtil.putCharSequence(requestId, 0, buffer, index + SIZE_OF_LONG, length);
index += ENTRY_SIZE;
if (index == buffer.capacity()) {
index = 0;
}
}