/** * Set write flags. Write flags specify the behaviour of writes * * @param writeFlags the flags * * @return the builder itself */ default CreateBuilder withWriteFlags(WriteFlag ... writeFlags) { return withWriteFlags(EnumSet.copyOf(Arrays.asList(writeFlags))); }
@Override protected void run(BookKeeper bk, Flags flags) throws Exception { byte[] data = new byte[100]; // test data try (WriteHandle wh = result(bk.newCreateLedgerOp() .withEnsembleSize(flags.ensembleSize) .withWriteQuorumSize(flags.writeQuorumSize) .withAckQuorumSize(flags.ackQuorumSize) .withDigestType(DigestType.CRC32C) .withPassword(new byte[0]) .execute())) { System.out.println("Ledger ID: " + wh.getId()); long lastReport = System.nanoTime(); for (int i = 0; i < flags.numEntries; i++) { wh.append(data); if (TimeUnit.SECONDS.convert(System.nanoTime() - lastReport, TimeUnit.NANOSECONDS) > 1) { System.out.println(i + " entries written"); lastReport = System.nanoTime(); } } System.out.println(flags.numEntries + " entries written to ledger " + wh.getId()); } } }