Class OffloadIndexBlockV2Impl
- java.lang.Object
-
- org.apache.bookkeeper.mledger.offload.jcloud.impl.OffloadIndexBlockV2Impl
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,OffloadIndexBlockV2
public class OffloadIndexBlockV2Impl extends java.lang.Object implements OffloadIndexBlockV2
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()static OffloadIndexBlockV2Implget(int magic, java.io.DataInputStream stream)static OffloadIndexBlockV2Implget(java.util.Map<java.lang.Long,org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo> metadata, long dataObjectLength, long dataHeaderLength, java.util.Map<java.lang.Long,java.util.List<OffloadIndexEntryImpl>> entries)longgetDataBlockHeaderLength()Get the length of the header in the blocks in the data object.longgetDataObjectLength()Get the total size of the data object.intgetEntryCount()Get the entry count that contained in this index Block.OffloadIndexEntrygetIndexEntryForEntry(long ledgerId, long messageEntryId)Get the related OffloadIndexEntry that contains the given messageEntryId.static intgetIndexMagicWord()org.apache.bookkeeper.client.api.LedgerMetadatagetLedgerMetadata(long ledgerId)Get LedgerMetadata.longgetStartEntryId(long ledgerId)voidrecycle()OffloadIndexBlock.IndexInputStreamtoStream()Get the content of the index block as InputStream.
-
-
-
Method Detail
-
get
public static OffloadIndexBlockV2Impl get(java.util.Map<java.lang.Long,org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo> metadata, long dataObjectLength, long dataHeaderLength, java.util.Map<java.lang.Long,java.util.List<OffloadIndexEntryImpl>> entries)
-
get
public static OffloadIndexBlockV2Impl get(int magic, java.io.DataInputStream stream) throws java.io.IOException
- Throws:
java.io.IOException
-
recycle
public void recycle()
-
getIndexEntryForEntry
public OffloadIndexEntry getIndexEntryForEntry(long ledgerId, long messageEntryId) throws java.io.IOException
Description copied from interface:OffloadIndexBlockV2Get the related OffloadIndexEntry that contains the given messageEntryId.- Specified by:
getIndexEntryForEntryin interfaceOffloadIndexBlockV2messageEntryId- the entry id of message- Returns:
- the offload index entry
- Throws:
java.io.IOException
-
getStartEntryId
public long getStartEntryId(long ledgerId)
- Specified by:
getStartEntryIdin interfaceOffloadIndexBlockV2
-
getEntryCount
public int getEntryCount()
Description copied from interface:OffloadIndexBlockV2Get the entry count that contained in this index Block.- Specified by:
getEntryCountin interfaceOffloadIndexBlockV2
-
getLedgerMetadata
public org.apache.bookkeeper.client.api.LedgerMetadata getLedgerMetadata(long ledgerId)
Description copied from interface:OffloadIndexBlockV2Get LedgerMetadata.- Specified by:
getLedgerMetadatain interfaceOffloadIndexBlockV2- Returns:
-
getDataObjectLength
public long getDataObjectLength()
Description copied from interface:OffloadIndexBlockV2Get the total size of the data object.- Specified by:
getDataObjectLengthin interfaceOffloadIndexBlockV2
-
getDataBlockHeaderLength
public long getDataBlockHeaderLength()
Description copied from interface:OffloadIndexBlockV2Get the length of the header in the blocks in the data object.- Specified by:
getDataBlockHeaderLengthin interfaceOffloadIndexBlockV2
-
toStream
public 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 | data_object_len | data_header_len | | index_entry_count | segment_metadata_len | segment metadata | index entries... |- Specified by:
toStreamin interfaceOffloadIndexBlockV2- Throws:
java.io.IOException
-
getIndexMagicWord
public static int getIndexMagicWord()
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-
-