public void put()

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;
        }
    }