Class AbstractRocksDbApi<T>

  • All Implemented Interfaces:
    Api<T>
    Direct Known Subclasses:
    RocksDbApiClient

    public abstract class AbstractRocksDbApi<T>
    extends Object
    implements Api<T>
    • Constructor Detail

      • AbstractRocksDbApi

        public AbstractRocksDbApi()
    • Method Detail

      • backupDatabase

        public abstract void backupDatabase​(T ctx,
                                            BackupDatabaseRequest request,
                                            Observer<com.google.protobuf.Empty> observer)
          Backup database
         
      • compactDatabase

        public abstract void compactDatabase​(T ctx,
                                             CompactDatabaseRequest request,
                                             Observer<com.google.protobuf.Empty> observer)
          Compact database
         
      • describeRocksDb

        public abstract void describeRocksDb​(T ctx,
                                             com.google.protobuf.Empty request,
                                             Observer<HttpBody> observer)
          Get a text-dump with general RocksDB info
         
      • describeDatabase

        public abstract void describeDatabase​(T ctx,
                                              DescribeDatabaseRequest request,
                                              Observer<HttpBody> observer)
          Get a text-dump describing a database
         
          This operation can be used to debug the inner workings of RocksDB database.
          For example the property rocksdb.estimate-table-readers-mem will provide an
          estimation of how much memory is used by the index and filter cache of
          RocksDB (note that the memory used by RocksDB is outside the java heap space).
         
          See also: https://github.com/facebook/rocksdb/blob/master/include/rocksdb/db.h
         
          The response contains a dump of various rocksdb properties for each column
          family. The single value properties are presented in a "name: value" list.
          The multiline properties are preceded by a line including the property name
          between dashes.
         
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.ServiceDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface Api<T>
      • getRequestPrototype

        public final com.google.protobuf.Message getRequestPrototype​(com.google.protobuf.Descriptors.MethodDescriptor method)
        Specified by:
        getRequestPrototype in interface Api<T>
      • getResponsePrototype

        public final com.google.protobuf.Message getResponsePrototype​(com.google.protobuf.Descriptors.MethodDescriptor method)
        Specified by:
        getResponsePrototype in interface Api<T>
      • callMethod

        public final void callMethod​(com.google.protobuf.Descriptors.MethodDescriptor method,
                                     T ctx,
                                     com.google.protobuf.Message request,
                                     Observer<com.google.protobuf.Message> future)
        Specified by:
        callMethod in interface Api<T>
      • callMethod

        public final Observer<com.google.protobuf.Message> callMethod​(com.google.protobuf.Descriptors.MethodDescriptor method,
                                                                      T ctx,
                                                                      Observer<com.google.protobuf.Message> future)
        Specified by:
        callMethod in interface Api<T>