private void endCurrentBeginNewWindow() throws InterruptedException {
  queue.put(new EndWindowTuple(baseSeconds | windowId));
  if (++checkPointWindowCount == checkpointCount) {
    queue.put(new Tuple(MessageType.CHECKPOINT,baseSeconds | windowId));
    checkPointWindowCount=0;
  }
  if (windowId == MAX_WINDOW_ID) {
    advanceWindow();
    run();
  }
 else {
    advanceWindow();
    queue.put(new Tuple(MessageType.BEGIN_WINDOW,baseSeconds | windowId));
  }
}

private void endCurrentBeginNewWindow ( ) throws InterruptedException { queue . put ( new EndWindowTuple ( baseSeconds | windowId ) ) ; if ( ++ checkPointWindowCount == checkpointCount ) { queue . put ( new Tuple ( MessageType . CHECKPOINT , baseSeconds | windowId ) ) ; checkPointWindowCount = 0 ; } if ( windowId == MAX_WINDOW_ID ) { advanceWindow ( ) ; run ( ) ; } else { advanceWindow ( ) ; queue . put ( new Tuple ( MessageType . BEGIN_WINDOW , baseSeconds | windowId ) ) ; } }
updates window in a circular buffer on inputadapters < p > this code generates the windows
