private void emitFinished(Map.Entry<String, Querier> query) { emitFinished(query.getKey(), query.getValue()); }
private void emitFinished(Map.Entry<String, Querier> query) { emitFinished(query.getKey(), query.getValue()); }
private void emitOrBufferFinished(String id, Querier querier) { /* * Three cases: * 1) If we shouldn't buffer, then emit it and return. If it was being delayed and somehow finished, it is * cleaned up and removed. There should be no query that needs delaying AND buffering. * 2) If the query became closed after it finished (wherever it is), we emit it. We should still honor isClosed. * 3) If it should buffer and it isn't closed, postFinishBuffer it till it becomes closed or ticks emit it. */ if (!querier.shouldBuffer()) { log.debug("Emitting query since it shouldn't be buffered {}", id); emitFinished(id, querier); } else if (querier.isClosed()) { log.debug("Emitting query since it finished but this is the last window for it {}", id); emitFinished(id, querier); } else if (queries.containsKey(id)) { log.debug("Starting to buffer while waiting for more final results for query {}", id); queries.remove(id); postFinishBuffer.put(id, querier); } }
private void emitOrBufferFinished(String id, Querier querier) { /* * Three cases: * 1) If we shouldn't buffer, then emit it and return. If it was being delayed and somehow finished, it is * cleaned up and removed. There should be no query that needs delaying AND buffering. * 2) If the query became closed after it finished (wherever it is), we emit it. We should still honor isClosed. * 3) If it should buffer and it isn't closed, postFinishBuffer it till it becomes closed or ticks emit it. */ if (!querier.shouldBuffer()) { log.debug("Emitting query since it shouldn't be buffered {}", id); emitFinished(id, querier); } else if (querier.isClosed()) { log.debug("Emitting query since it finished but this is the last window for it {}", id); emitFinished(id, querier); } else if (queries.containsKey(id)) { log.debug("Starting to buffer while waiting for more final results for query {}", id); queries.remove(id); postFinishBuffer.put(id, querier); } }