/** * determines if buffer should be forced to disk. * * <p>If there are any waiting threads, then buffer * is forced when it is 50 ms old. Otherwise, if there * are no waiting threads, we wait 1/4 second before we * force. * * @return true if buffer should be forced now. */ boolean shouldForce() { int forceDelta = getWaitingThreads() > 0 ? 50 : 250; long now = System.currentTimeMillis(); return ((todPut + forceDelta) < now); }
if (!compareBytes(headerId, HEADER_ID)) throw new InvalidLogBufferException("HEADER_ID" + bufferInfo()); throw new InvalidLogBufferException("bufferSize" + bufferInfo()); throw new InvalidLogBufferException("data used: " + bytesUsed + bufferInfo()); int expectedChecksum = checksum(); buffer.clear().position(checksumOffset); throw new InvalidLogBufferException("CHECKSUM expected: " + Integer.toHexString(expectedChecksum) + bufferInfo()); if (!compareBytes(crlf, CRLF)) throw new InvalidLogBufferException("HEADER_CRLF" + bufferInfo()); if (!compareBytes(footerId, FOOTER_ID)) throw new InvalidLogBufferException("FOOTER_ID" + bufferInfo()); throw new InvalidLogBufferException("FOOTER_BSN" + bufferInfo()); throw new InvalidLogBufferException("FOOTER_TOD" + bufferInfo()); if (!compareBytes(crlf, CRLF)) throw new InvalidLogBufferException("FOOTER_CRLF" + bufferInfo());
buffer.putInt(checksumOffset, 0); if (doChecksum) { int checksum = checksum(); buffer.putInt(checksumOffset, checksum);
if (!compareBytes(headerId, HEADER_ID)) throw new InvalidLogBufferException("HEADER_ID" + bufferInfo()); throw new InvalidLogBufferException("bufferSize" + bufferInfo()); throw new InvalidLogBufferException("data used: " + bytesUsed + bufferInfo()); int expectedChecksum = checksum(); buffer.clear().position(checksumOffset); throw new InvalidLogBufferException("CHECKSUM expected: " + Integer.toHexString(expectedChecksum) + bufferInfo()); if (!compareBytes(crlf, CRLF)) throw new InvalidLogBufferException("HEADER_CRLF" + bufferInfo()); if (!compareBytes(footerId, FOOTER_ID)) throw new InvalidLogBufferException("FOOTER_ID" + bufferInfo()); throw new InvalidLogBufferException("FOOTER_BSN" + bufferInfo()); throw new InvalidLogBufferException("FOOTER_TOD" + bufferInfo()); if (!compareBytes(crlf, CRLF)) throw new InvalidLogBufferException("FOOTER_CRLF" + bufferInfo());
buffer.putInt(checksumOffset, 0); if (doChecksum) { int checksum = checksum(); buffer.putInt(checksumOffset, checksum);
if (!compareBytes(headerId, HEADER_ID)) throw new InvalidLogBufferException("HEADER_ID" + bufferInfo()); throw new InvalidLogBufferException("bufferSize" + bufferInfo()); throw new InvalidLogBufferException("data used: " + bytesUsed + bufferInfo()); int expectedChecksum = checksum(); buffer.clear().position(checksumOffset); throw new InvalidLogBufferException("CHECKSUM expected: " + Integer.toHexString(expectedChecksum) + bufferInfo()); if (!compareBytes(crlf, CRLF)) throw new InvalidLogBufferException("HEADER_CRLF" + bufferInfo()); if (!compareBytes(footerId, FOOTER_ID)) throw new InvalidLogBufferException("FOOTER_ID" + bufferInfo()); throw new InvalidLogBufferException("FOOTER_BSN" + bufferInfo()); throw new InvalidLogBufferException("FOOTER_TOD" + bufferInfo()); if (!compareBytes(crlf, CRLF)) throw new InvalidLogBufferException("FOOTER_CRLF" + bufferInfo());
/** * determines if buffer should be forced to disk. * * <p>If there are any waiting threads, then buffer * is forced when it is 50 ms old. Otherwise, if there * are no waiting threads, we wait 1/4 second before we * force. * * @return true if buffer should be forced now. */ boolean shouldForce() { int forceDelta = getWaitingThreads() > 0 ? 50 : 250; long now = System.currentTimeMillis(); return ((todPut + forceDelta) < now); }
buffer.putInt(checksumOffset, 0); if (doChecksum) { int checksum = checksum(); buffer.putInt(checksumOffset, checksum);
/** * determines if buffer should be forced to disk. * * <p>If there are any waiting threads, then buffer * is forced when it is 50 ms old. Otherwise, if there * are no waiting threads, we wait 1/4 second before we * force. * * @return true if buffer should be forced now. */ boolean shouldForce() { int forceDelta = getWaitingThreads() > 0 ? 50 : 250; long now = System.currentTimeMillis(); return ((todPut + forceDelta) < now); }