@@ -281,20 +281,15 @@ private void processV2BTreeLinks(HdfGroup group, LinkInfoMessage linkInfoMessage
281281 long fractalHeapOffset = linkInfoMessage .getFractalHeapAddress ().getInstance (Long .class );
282282 FractalHeap fractalHeap = FractalHeap .read (fileChannel , fractalHeapOffset , this ); // Assuming params
283283
284- for (BTreeV2Record bTreeV2Record : bTreeV2Reader .getAllRecords ()) {
284+ List <BTreeV2Record > allRecs = bTreeV2Reader .getAllRecords ();
285+ for (BTreeV2Record bTreeV2Record : allRecs ) {
285286 byte [] heapId = ((Type5Record ) bTreeV2Record ).heapId ;
286287 ParsedHeapId parsedHeapId = new ParsedHeapId (heapId , fractalHeap );
287288 byte [] objectData = fractalHeap .getObject (parsedHeapId );
288- ByteBuffer retrievedData = ByteBuffer .wrap (objectData ).order (ByteOrder .LITTLE_ENDIAN );
289289
290- retrievedData .position (10 ); // Skip rowHeader
291- int sLength = Byte .toUnsignedInt (retrievedData .get ());
292- byte [] stringBuffer = new byte [sLength ];
293- retrievedData .get (stringBuffer );
294- String linkName = new String (stringBuffer );
295- long objectHeaderOffset = retrievedData .getLong ();
290+ LinkMessage linkMessage = LinkMessage .parseHeaderMessage (0 , objectData , this );
296291
297- processLink (group , linkName , objectHeaderOffset );
292+ processLink (group , linkMessage . getLinkName (), linkMessage . getLinkInformation (). getInstance ( Long . class ) );
298293 }
299294 }
300295
@@ -1132,7 +1127,7 @@ static HdfObjectHeaderPrefixV2 readV2ObjectHeader(SeekableByteChannel fileChanne
11321127
11331128 // --- 6. Handle Continuation Messages ---
11341129 Function <ByteBuffer , HdfMessage .OBJECT_HEADER_PREFIX > prefixReader = (flags & 0b00000100) > 0 ? HdfMessage .V2OBJECT_HEADER_READ_PREFIX_WITHORDER : HdfMessage .V2_OBJECT_HEADER_READ_PREFIX ;
1135- ;
1130+
11361131 parseContinuationMessages (fileChannel , prefixReader , dataObjectHeaderMessages , hdfDataFile );
11371132 // --- 7. Create the V2 Header Prefix Instance ---
11381133 return new HdfObjectHeaderPrefixV2 (flags , sizeOfChunk0 , checksum ,
0 commit comments