*
* We are keeping a boxed version here, as we stick it into a map anyway.
*/
- private Long version;
+ private long version;
private T data;
// We bump versions only if we took a snapshot since last data update
return data;
}
- Long getVersion() {
+ long getVersion() {
return version;
}
boolean setData(final T data) {
this.data = Preconditions.checkNotNull(data);
- if (bumpVersion) {
- final long next = version.longValue() + 1;
- if ((next & 0xffff_ffffL) == 0) {
- return true;
- }
-
- version = next;
- bumpVersion = false;
+ if (!bumpVersion) {
+ return false;
}
- return false;
+
+ bumpVersion = false;
+ return (++version & 0xffff_ffffL) == 0;
}
}