Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In order to achieve this goal we are going to introduce a ICreateBuilder CreateBuilder and ICreateAdvBuilder CreateBuilderAdv interfaces

Code Block
interface CreateBuilder {
     CreateBuilder withEnsembleSize(...);
     CreateBuilder withWriteQuorumSize(...);
     ...
     CreateAdvBuilder makeAdv();

     // old style callbacks
     void execute(CreateCallback callback, Object ctx);
     // support java8 completable future
     CompletableFuture<WriteHandler> apply();
     // sync method
     WriteHandler create() throws BKException, InterruptedException;
 }
interface CreateAdvBuilderCreateBuilderAdv {
     // old style callbacks
     void execute(CreateCallback callback, Object ctx);
     // support java8 completable future
     CompletableFuture<WriteHandlerAdv> apply();
     // sync method
     WriteHandlerAdv create() throws BKException, InterruptedException;

}

...

We are going to introduce an IBookKeeper BookKeeperClient interface

Code Block
interface IBookKeeperBookKeeperClient extends AutoCloseable { 
      ICreateBuilderCreateBuilder createLedger();
      IOpenBuilderOpenBuilder   openLedger();
}

We are going to introduce WriteHandler and WriteHandlerAdv interfaces which contains only the API related to writing to a Ledger, following the LedgerHandler/LedgerHandlerAdv semantics.

...