class RocksDBStore implements KeyValueStore<Bytes, byte[]>, BatchWritingStore {

    @Override
    public void init(final ProcessorContext context,
                     final StateStore root) {
        // open the DB dir
        internalProcessorContext = context;
        metricsRecorder.init((StreamsMetricsImpl) context.metrics(), context.taskId());
        openDB(context);
        batchingStateRestoreCallback = new RocksDBBatchingRestoreCallback(this);

        // value getter should always read directly from rocksDB
        // since it is only for values that are already flushed
        context.register(root, batchingStateRestoreCallback);
    }

      RocksDBStore(final String name,
                 final String metricsScope);
      RocksDBStore(final String name,
                 final String parentDir,
                 final RocksDBMetricsRecorder metricsRecorder);

}