@ -35,6 +35,8 @@ import net.yacy.cora.document.ASCII;
import net.yacy.cora.storage.HandleSet ;
import net.yacy.cora.util.SpaceExceededException ;
import net.yacy.kelondro.data.meta.URIMetadata ;
import net.yacy.kelondro.data.meta.URIMetadataNode ;
import net.yacy.kelondro.data.meta.URIMetadataRow ;
import net.yacy.kelondro.data.word.Word ;
import net.yacy.kelondro.data.word.WordReference ;
import net.yacy.kelondro.data.word.WordReferenceRow ;
@ -91,7 +93,7 @@ public class Transmission {
* /
private final byte [ ] primaryTarget ;
private final ReferenceContainerCache < WordReference > containers ;
private final SortedMap < byte [ ] , URIMetadata > references ;
private final SortedMap < byte [ ] , URIMetadata Row > references ;
private final HandleSet badReferences ;
private final List < Seed > targets ;
private int hit , miss ;
@ -107,7 +109,7 @@ public class Transmission {
super ( ) ;
this . primaryTarget = primaryTarget ;
this . containers = new ReferenceContainerCache < WordReference > ( Segment . wordReferenceFactory , Segment . wordOrder , Word . commonHashLength ) ;
this . references = new TreeMap < byte [ ] , URIMetadata > ( Base64Order . enhancedCoder ) ;
this . references = new TreeMap < byte [ ] , URIMetadata Row > ( Base64Order . enhancedCoder ) ;
this . badReferences = new RowHandleSet ( WordReferenceRow . urlEntryRow . primaryKeyLength , WordReferenceRow . urlEntryRow . objectOrder , 0 ) ;
this . targets = targets ;
this . hit = 0 ;
@ -181,7 +183,11 @@ public class Transmission {
notFoundx . add ( e . urlhash ( ) ) ;
this . badReferences . put ( e . urlhash ( ) ) ;
} else {
this . references . put ( e . urlhash ( ) , r ) ;
if ( r instanceof URIMetadataRow ) {
this . references . put ( e . urlhash ( ) , ( URIMetadataRow ) r ) ;
} else if ( r instanceof URIMetadataNode ) {
this . references . put ( e . urlhash ( ) , ( ( URIMetadataNode ) r ) . toRow ( ) ) ;
}
}
}
// now delete all references that were not found