Peer: add field for keeping track of last known change ID.

This commit is contained in:
Nekojimi 2025-10-02 00:10:42 +01:00
parent 6685e6fd7e
commit 47b97c0485

View file

@ -1,5 +1,6 @@
package moe.nekojimi.friendcloud.objects; package moe.nekojimi.friendcloud.objects;
import moe.nekojimi.friendcloud.Util;
import moe.nekojimi.friendcloud.protos.ObjectStatements; import moe.nekojimi.friendcloud.protos.ObjectStatements;
import java.net.URI; import java.net.URI;
@ -13,6 +14,8 @@ public class Peer extends NetworkObject
private String userName = ""; private String userName = "";
private String systemName = ""; private String systemName = "";
private long lastKnownChangeID = 0L;
public Peer(ObjectID objectID) public Peer(ObjectID objectID)
{ {
super(objectID); super(objectID);
@ -71,6 +74,7 @@ public class Peer extends NetworkObject
ret.put("userName", userName); ret.put("userName", userName);
ret.put("systemName", systemName); ret.put("systemName", systemName);
ret.put("addresses", addresses); ret.put("addresses", addresses);
ret.put("lastKnownChangeID", lastKnownChangeID);
return ret; return ret;
} }
@ -81,6 +85,7 @@ public class Peer extends NetworkObject
systemName = map.get("systemName").toString(); systemName = map.get("systemName").toString();
addresses.clear(); addresses.clear();
addresses.addAll((Collection<? extends URI>) map.get("addresses")); addresses.addAll((Collection<? extends URI>) map.get("addresses"));
lastKnownChangeID = Util.unconditionalNumberToLong(map.getOrDefault("lastKnownChangeID", 0L));
} }
public void addAddress(URI address) public void addAddress(URI address)
@ -129,6 +134,16 @@ public class Peer extends NetworkObject
this.systemName = systemName; this.systemName = systemName;
} }
public long getLastKnownChangeID()
{
return lastKnownChangeID;
}
public void setLastKnownChangeID(long lastKnownChangeID)
{
this.lastKnownChangeID = lastKnownChangeID;
}
@Override @Override
public String getFriendlyName() public String getFriendlyName()
{ {