public List txnIds()

in accord-core/src/main/java/accord/primitives/Deps.java [178:216]


    public List<TxnId> txnIds(Seekable keyOrRange)
    {
        List<TxnId> keyIds, rangeIds;
        switch (keyOrRange.domain())
        {
            default: throw new AssertionError();
            case Key:
            {
                Key key = keyOrRange.asKey();
                keyIds = keyDeps.txnIds(key);
                rangeIds = rangeDeps.txnIds(key);
                break;
            }
            case Range:
            {
                Range range = keyOrRange.asRange();
                keyIds = keyDeps.txnIds(range);
                rangeIds = rangeDeps.txnIds(range);
            }
        }

        if (rangeIds.isEmpty()) return keyIds;
        if (keyIds.isEmpty()) return rangeIds;

        List<TxnId> output = new ArrayList<>(keyIds.size() + rangeIds.size());
        int ki = 0, ri = 0;
        while (ki < keyIds.size() && ri < rangeIds.size())
        {
            int c = keyIds.get(ki).compareTo(rangeIds.get(ri));
            Invariants.checkState(c != 0);
            if (c < 0) output.add(keyIds.get(ki++));
            else output.add(rangeIds.get(ri++));
        }
        while (ki < keyIds.size())
            output.add(keyIds.get(ki++));
        while (ri < rangeIds.size())
            output.add(rangeIds.get(ri++));
        return output;
    }