org.apache.cassandra.db.commitlog

## Class AbstractCommitLogService

- java.lang.Object
- - org.apache.cassandra.db.commitlog.AbstractCommitLogService

    public abstract class AbstractCommitLogService
    extends java.lang.Object

### Field Summary

Fields
`protected long` `lastSyncedAt`
`protected java.util.concurrent.atomic.AtomicLong` `pending`
`protected WaitQueue` `syncComplete`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`void` `awaitTermination()`
`void` `finishWriteFor(CommitLogSegment.Allocation alloc)` Block for @param alloc to be sync'd as necessary, and handle bookkeeping
`long` `getCompletedTasks()`
`long` `getPendingTasks()`
`protected abstract void` `maybeWaitForSync(CommitLogSegment.Allocation alloc)`
`void` `shutdown()`
`void` `syncBlocking()` Request sync and wait until the current state is synced.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### lastSyncedAt

    protected volatile long lastSyncedAt

#### pending

    protected final java.util.concurrent.atomic.AtomicLong pending

#### syncComplete

    protected final WaitQueue syncComplete

### Method Detail

#### finishWriteFor

    public void finishWriteFor(CommitLogSegment.Allocation alloc)

Block for @param alloc to be sync'd as necessary, and handle bookkeeping

#### maybeWaitForSync

    protected abstract void maybeWaitForSync(CommitLogSegment.Allocation alloc)

#### shutdown

    public void shutdown()

#### syncBlocking

    public void syncBlocking()

Request sync and wait until the current state is synced. Note: If a sync is in progress at the time of this request, the call will return after both it and a cycle initiated immediately afterwards complete.

#### awaitTermination

    public void awaitTermination()
                          throws java.lang.InterruptedException

Throws:
  `java.lang.InterruptedException`

#### getCompletedTasks

    public long getCompletedTasks()

#### getPendingTasks

    public long getPendingTasks()