@Override
public JoinUtil.JoinResult contains(byte[] keyBytes, int keyStart, int keyLength,
VectorMapJoinHashSetResult hashSetResult) {
VectorMapJoinFastHashSet.HashSetResult optimizedHashSetResult =
(VectorMapJoinFastHashSet.HashSetResult) hashSetResult;
optimizedHashSetResult.forget();
long hashCode = HashCodeUtil.murmurHash(keyBytes, keyStart, keyLength);
long existance = findReadSlot(keyBytes, keyStart, keyLength, hashCode, hashSetResult.getReadPos());
JoinUtil.JoinResult joinResult;
if (existance == -1) {
joinResult = JoinUtil.JoinResult.NOMATCH;
} else {
joinResult = JoinUtil.JoinResult.MATCH;
}
optimizedHashSetResult.setJoinResult(joinResult);
return joinResult;
}