org.apache.cassandra.db.commitlog

## Interface ICommitLogExecutorService

All Known Implementing Classes:
  AbstractCommitLogExecutorService

    public interface ICommitLogExecutorService

Like ExecutorService, but customized for batch and periodic commitlog execution.

### Method Summary

Methods
`void` `add(org.apache.cassandra.db.commitlog.CommitLog.LogRecordAdder adder)` submits the adder for execution and blocks for it to be synced, if necessary
`void` `awaitTermination()` Blocks until shutdown is complete.
`long` `getCompletedTasks()` Get the number of completed tasks
`long` `getPendingTasks()` Get the number of tasks waiting to be executed
`void` `shutdown()` shuts down the CommitLogExecutor in an orderly fashion
`<T> java.util.concurrent.Future<T>` `submit(java.util.concurrent.Callable<T> task)`

### Method Detail

#### getCompletedTasks

    long getCompletedTasks()

Get the number of completed tasks

#### getPendingTasks

    long getPendingTasks()

Get the number of tasks waiting to be executed

#### submit

    <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)

#### add

    void add(org.apache.cassandra.db.commitlog.CommitLog.LogRecordAdder adder)

submits the adder for execution and blocks for it to be synced, if necessary

#### shutdown

    void shutdown()

shuts down the CommitLogExecutor in an orderly fashion

#### awaitTermination

    void awaitTermination()
                          throws java.lang.InterruptedException

Blocks until shutdown is complete.

Throws:
  `java.lang.InterruptedException`