105
}
106
107
>
func (s *SliceImpl) splitByRange(key tasks.Key) (left *SliceImpl, right *SliceImpl) {
slice.go
108
>
109
>
leftScope, rightScope := s.scope.SplitByRange(key)
110
>
leftTaskTracker, rightTaskTracker := s.split(leftScope, rightScope)
111
>
112
>
leftIterators := make([]Iterator, 0, len(s.iterators)/2)
113
>
rightIterators := make([]Iterator, 0, len(s.iterators)/2)
114
>
for _, iter := range s.iterators {
115
>
iterRange := iter.Range()
116
>
if leftScope.Range.ContainsRange(iterRange) {
117
>
leftIterators = append(leftIterators, iter)
118
>
continue
119
}
120
121
>
if rightScope.Range.ContainsRange(iterRange) {
slice.go
122
rightIterators = append(rightIterators, iter)
123
continue