private void processPendingBytes ( ) { // After flushing or setting a preset dictionary there will be // pending data that hasn't been ran through the match finder yet. // Run it through the match finder now if there is enough new data // available (readPos < readLimit) that the encoder may encode at // least one more input byte. This way we don't waste any time // looping in the match finder (and marking the same bytes as // pending again) if the application provides very little new data // per write call. if ( pendingSize > 0 && readPos < readLimit ) { readPos -= pendingSize ; int oldPendingSize = pendingSize ; pendingSize = 0 ; skip ( oldPendingSize ) ; assert pendingSize < oldPendingSize ; } }
Process pending bytes remaining from preset dictionary initialization or encoder flush operation .