void awaitAvailableSegment(CommitLogSegment currentAllocatingFrom) { do { WaitQueue.Signal prepared = segmentPrepared.register(commitLog.metrics.waitingOnSegmentAllocation.time()); if (availableSegment == null && allocatingFrom == currentAllocatingFrom) prepared.awaitUninterruptibly(); else prepared.cancel(); } while (availableSegment == null && allocatingFrom == currentAllocatingFrom); }
void awaitAvailableSegment(CommitLogSegment currentAllocatingFrom) { do { WaitQueue.Signal prepared = segmentPrepared.register(commitLog.metrics.waitingOnSegmentAllocation.time()); if (availableSegment == null && allocatingFrom == currentAllocatingFrom) prepared.awaitUninterruptibly(); else prepared.cancel(); } while (availableSegment == null && allocatingFrom == currentAllocatingFrom); }
void awaitAvailableSegment(CommitLogSegment currentAllocatingFrom) { do { WaitQueue.Signal prepared = segmentPrepared.register(commitLog.metrics.waitingOnSegmentAllocation.time()); if (availableSegment == null && allocatingFrom == currentAllocatingFrom) prepared.awaitUninterruptibly(); else prepared.cancel(); } while (availableSegment == null && allocatingFrom == currentAllocatingFrom); }
@Override public void run() { while (true) { while (!needsCleaning()) { final WaitQueue.Signal signal = wait.register(); if (!needsCleaning()) signal.awaitUninterruptibly(); else signal.cancel(); } cleaner.run(); } } }
/** * wait for all operations started prior to issuing the barrier to complete */ public void await() { while (!allPriorOpsAreFinished()) { WaitQueue.Signal signal = register(); if (allPriorOpsAreFinished()) { signal.cancel(); return; } else signal.awaitUninterruptibly(); } assert orderOnOrBefore.running == FINISHED; }
/** * wait for all operations started prior to issuing the barrier to complete */ public void await() { while (!allPriorOpsAreFinished()) { WaitQueue.Signal signal = register(); if (allPriorOpsAreFinished()) { signal.cancel(); return; } else signal.awaitUninterruptibly(); } assert orderOnOrBefore.running == FINISHED; }
@Override public void run() { while (true) { while (!needsCleaning()) { final WaitQueue.Signal signal = wait.register(); if (!needsCleaning()) signal.awaitUninterruptibly(); else signal.cancel(); } cleaner.run(); } } }
@Override public void run() { while (true) { while (!needsCleaning()) { final WaitQueue.Signal signal = wait.register(); if (!needsCleaning()) signal.awaitUninterruptibly(); else signal.cancel(); } cleaner.run(); } } }
void waitForFinalSync() { while (true) { WaitQueue.Signal signal = syncComplete.register(); if (lastSyncedOffset < buffer.capacity()) { signal.awaitUninterruptibly(); } else { signal.cancel(); break; } } }
void waitForFinalSync() { while (true) { WaitQueue.Signal signal = syncComplete.register(); if (lastSyncedOffset < endOfBuffer) { signal.awaitUninterruptibly(); } else { signal.cancel(); break; } } }
@Override public void run() { while (true) { while (!needsCleaning()) { final WaitQueue.Signal signal = wait.register(); if (!needsCleaning()) signal.awaitUninterruptibly(); else signal.cancel(); } cleaner.run(); } } }
void waitForFinalSync() { while (true) { WaitQueue.Signal signal = syncComplete.register(); if (lastSyncedOffset < endOfBuffer) { signal.awaitUninterruptibly(); } else { signal.cancel(); break; } } }
void waitForFinalSync() { while (true) { WaitQueue.Signal signal = syncComplete.register(); if (lastSyncedOffset < endOfBuffer) { signal.awaitUninterruptibly(); } else { signal.cancel(); break; } } }
void waitForSync(int position, Timer waitingOnCommit) { while (lastSyncedOffset < position) { WaitQueue.Signal signal = waitingOnCommit != null ? syncComplete.register(waitingOnCommit.time()) : syncComplete.register(); if (lastSyncedOffset < position) signal.awaitUninterruptibly(); else signal.cancel(); } }
void waitForSync(int position, Timer waitingOnCommit) { while (lastSyncedOffset < position) { WaitQueue.Signal signal = waitingOnCommit != null ? syncComplete.register(waitingOnCommit.time()) : syncComplete.register(); if (lastSyncedOffset < position) signal.awaitUninterruptibly(); else signal.cancel(); } }
void awaitSyncAt(long syncTime, Context context) { do { WaitQueue.Signal signal = context != null ? syncComplete.register(context) : syncComplete.register(); if (lastSyncedAt < syncTime) signal.awaitUninterruptibly(); else signal.cancel(); } while (lastSyncedAt < syncTime); }
void awaitDiskSync() { while (segment.lastSyncedOffset < position) { WaitQueue.Signal signal = segment.syncComplete.register(CommitLog.instance.metrics.waitingOnCommit.time()); if (segment.lastSyncedOffset < position) signal.awaitUninterruptibly(); else signal.cancel(); } }
void awaitSyncAt(long syncTime, Context context) { do { WaitQueue.Signal signal = context != null ? syncComplete.register(context) : syncComplete.register(); if (lastSyncedAt < syncTime) signal.awaitUninterruptibly(); else signal.cancel(); } while (lastSyncedAt < syncTime); }
void waitForSync(int position, Timer waitingOnCommit) { while (lastSyncedOffset < position) { WaitQueue.Signal signal = waitingOnCommit != null ? syncComplete.register(waitingOnCommit.time()) : syncComplete.register(); if (lastSyncedOffset < position) signal.awaitUninterruptibly(); else signal.cancel(); } }
void awaitSyncAt(long syncTime, Context context) { do { WaitQueue.Signal signal = context != null ? syncComplete.register(context) : syncComplete.register(); if (lastSyncedAt < syncTime) signal.awaitUninterruptibly(); else signal.cancel(); } while (lastSyncedAt < syncTime); }