File size: 566 Bytes
84d2a97
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use common::types::PointOffsetType;

use crate::index::visited_pool::VisitedListHandle;
use crate::payload_storage::FilterContext;

pub struct BuildConditionChecker<'a> {
    pub filter_list: &'a VisitedListHandle<'a>,
    pub current_point: PointOffsetType,
}

impl<'a> FilterContext for BuildConditionChecker<'a> {
    fn check(&self, point_id: PointOffsetType) -> bool {
        if point_id == self.current_point {
            return false; // Do not match current point while inserting it (second time)
        }
        self.filter_list.check(point_id)
    }
}