private void retire() throws IOException {
  long nowMsSinceEpoch=now();
  while (true) {
    List<String> ackIds=ackedIds.poll();
    if (ackIds == null) {
      return;
    }
    numAcked.add(nowMsSinceEpoch,ackIds.size());
    for (    String ackId : ackIds) {
      inFlight.remove(ackId);
      safeToAckIds.remove(ackId);
    }
  }
}

private void retire ( ) throws IOException { long nowMsSinceEpoch = now ( ) ; while ( true ) { List < String > ackIds = ackedIds . poll ( ) ; if ( ackIds == null ) { return ; } numAcked . add ( nowMsSinceEpoch , ackIds . size ( ) ) ; for ( String ackId : ackIds ) { inFlight . remove ( ackId ) ; safeToAckIds . remove ( ackId ) ; } } }
messages which have been acked ( via the checkpoint finalize ) are no longer in flight . this is only used for flow control and stats .
