public boolean handleCancel()

in orderbook-core/src/main/java/com/epam/deltix/orderbook/core/impl/L3ConsolidatedQuoteProcessor.java [246:271]


    public boolean handleCancel(final L3Processor<Quote> exchange,
                                final PackageHeaderInfo pck,
                                final L3EntryUpdateInfo msg) {
        final CharSequence quoteId = msg.getQuoteId();
        final QuoteSide side = msg.getSide() == ASK ? ASK : BID;

        Quote removed = exchange.getMarketSide(side).remove(quoteId);
        if (removed == null) {
            // setting it as ASK would suffice when side is set correctly or not set at all (null)
            removed = exchange.getMarketSide(side == ASK ? BID : ASK).remove(quoteId);
            if (removed != null) {
                getMarketSide(side == ASK ? BID : ASK).remove(removed);
            }
        } else {
            getMarketSide(side).remove(removed);
        }

        if (removed == null) {
            if (validationOptions.isQuoteUpdate()) {
                subtractExchange(exchange);
            }
            return exchange.processL3EntryUpdate(pck, msg);
        }
        pool.release(removed);
        return true;
    }