Interface OffloadIndexBlockV2Builder

  • All Known Implementing Classes:
    OffloadIndexBlockV2BuilderImpl

    @Unstable
    @LimitedPrivate
    public interface OffloadIndexBlockV2Builder
    Interface for builder of index block used for offload a ledger to long term storage.
    • Method Detail

      • addLedgerMeta

        OffloadIndexBlockV2Builder addLedgerMeta​(java.lang.Long ledgerId,
                                                 org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo metadata)
        Build index block with the passed in ledger metadata.
        Parameters:
        ledgerId -
        metadata - the ledger metadata
      • addBlock

        OffloadIndexBlockV2Builder addBlock​(long ledgerId,
                                            long firstEntryId,
                                            int partId,
                                            int blockSize)
        Add one payload block related information into index block. It contains the first entryId in payload block, the payload block Id, and payload block size. This information will be used to consist one index entry in OffloadIndexBlock.
        Parameters:
        firstEntryId - the first entryId in payload block
        partId - the payload block Id
        blockSize - the payload block size
      • withDataObjectLength

        OffloadIndexBlockV2Builder withDataObjectLength​(long dataObjectLength)
        Specify the length of data object this index is associated with.
        Parameters:
        dataObjectLength - the length of the data object
      • withDataBlockHeaderLength

        OffloadIndexBlockV2Builder withDataBlockHeaderLength​(long dataHeaderLength)
        Specify the length of the block headers in the data object.
        Parameters:
        dataHeaderLength - the length of the headers
      • fromStream

        OffloadIndexBlockV2 fromStream​(java.io.InputStream is)
                                throws java.io.IOException
        Construct OffloadIndex from an InputStream.
        Throws:
        java.io.IOException