Interface OffloadIndexBlock

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable, OffloadIndexBlockV2
    All Known Implementing Classes:
    OffloadIndexBlockImpl

    @Unstable
    public interface OffloadIndexBlock
    extends java.io.Closeable, OffloadIndexBlockV2
    The Index block abstraction used for offload a ledger to long term storage.
    • Method Detail

      • toStream

        OffloadIndexBlock.IndexInputStream toStream()
                                             throws java.io.IOException
        Get the content of the index block as InputStream. Read out in format: | index_magic_header | index_block_len | index_entry_count | | data_object_size | segment_metadata_length | segment metadata | index entries ... |
        Specified by:
        toStream in interface OffloadIndexBlockV2
        Throws:
        java.io.IOException
      • getIndexEntryForEntry

        OffloadIndexEntry getIndexEntryForEntry​(long messageEntryId)
                                         throws java.io.IOException
        Get the related OffloadIndexEntry that contains the given messageEntryId.
        Parameters:
        messageEntryId - the entry id of message
        Returns:
        the offload index entry
        Throws:
        java.io.IOException
      • getLedgerMetadata

        org.apache.bookkeeper.client.api.LedgerMetadata getLedgerMetadata()
        Get LedgerMetadata.
      • getIndexEntryForEntry

        default OffloadIndexEntry getIndexEntryForEntry​(long ledgerId,
                                                        long messageEntryId)
                                                 throws java.io.IOException
        Description copied from interface: OffloadIndexBlockV2
        Get the related OffloadIndexEntry that contains the given messageEntryId.
        Specified by:
        getIndexEntryForEntry in interface OffloadIndexBlockV2
        messageEntryId - the entry id of message
        Returns:
        the offload index entry
        Throws:
        java.io.IOException