Example #1
0
func RangeSub(large *mesosproto.Value_Range, small *mesosproto.Value_Range) (*mesosproto.Value_Range, *mesosproto.Value_Range) {
	subedLeftBegin := large.GetBegin()
	subedLeftEnd := small.GetBegin() - 1
	subedLeftRange := &mesosproto.Value_Range{
		Begin: &subedLeftBegin,
		End:   &subedLeftEnd,
	}
	if subedLeftEnd < subedLeftBegin {
		subedLeftRange = nil
	}

	subedRightBegin := small.GetEnd() + 1
	subedRightEnd := large.GetEnd()
	subedRightRange := &mesosproto.Value_Range{
		Begin: &subedRightBegin,
		End:   &subedRightEnd,
	}
	if subedRightBegin > subedRightEnd {
		subedRightRange = nil
	}
	return subedLeftRange, subedRightRange
}
Example #2
0
func RangeInside(large *mesosproto.Value_Range, small *mesosproto.Value_Range) bool {
	return large.GetBegin() <= small.GetBegin() && large.GetEnd() >= small.GetEnd()
}
Example #3
0
func GetPointOfRange(r *mesosproto.Value_Range) uint64 {
	return r.GetBegin()
}