Giriş
Bu sınıf dahili bir kod, yani bilmemize ve kullanmamıza gerek yok. Ancak ben bazı şeyleri not almak istedim. Sınıf şöyle.
public class KeyedWatermarkCoalescer {private final int queueCount;private final Map<Byte, WatermarkCoalescer> coalescers = new HashMap<>();private final Set<Integer> doneQueues = new HashSet<>();private final boolean[] idleQueues;...}
idleQueues takibi
idleQueues neden takip ediliyor bilmiyorum.
Eğer bir kuyruğa event gelirse artık bu kuyruk idle değil
public void observeEvent(int queueIndex) { for (WatermarkCoalescer c : coalescers.values()) { c.observeEvent(queueIndex); } idleQueues[queueIndex] = false; }
Eğer Watermark gelirse ve bu IDLE_MESSAGE ise kuyruk idle yapılıyor
public List<Watermark> observeWm(int queueIndex, Watermark watermark) { if (watermark.equals(IDLE_MESSAGE)) { idleQueues[queueIndex] = true; ... } ... }
Hiç yorum yok:
Yorum Gönder