Lease: Store time as long rather than Date to save space

Add long methods, deprecate Date methods
This commit is contained in:
zzz
2020-11-11 15:15:44 +00:00
parent 6887c7edae
commit 3606a42ea8
10 changed files with 56 additions and 30 deletions

View File

@ -102,12 +102,12 @@ class RequestLeaseSetJob extends JobImpl {
rmsg.setSessionId(id);
for (int i = 0; i < requested.getLeaseCount(); i++) {
Lease lease = requested.getLease(i);
if (lease.getEndDate().getTime() < endTime) {
if (lease.getEndTime() < endTime) {
// don't modify old object, we don't know where it came from
Lease nl = new Lease();
nl.setGateway(lease.getGateway());
nl.setTunnelId(lease.getTunnelId());
nl.setEndDate(new Date(endTime));
nl.setEndDate(endTime);
lease = nl;
//if (_log.shouldLog(Log.INFO))
// _log.info("Adjusted end date to " + endTime + " for " + lease);

View File

@ -123,7 +123,7 @@ public class AliasedTunnelPool extends TunnelPool {
for (int i = 0; i < ls.getLeaseCount(); i++) {
Lease old = ls.getLease(i);
Lease lease = new Lease();
lease.setEndDate(old.getEndDate());
lease.setEndDate(old.getEndTime());
lease.setTunnelId(old.getTunnelId());
lease.setGateway(old.getGateway());
rv.addLease(lease);

View File

@ -652,7 +652,13 @@ public class TunnelPool {
*/
private static class LeaseComparator implements Comparator<Lease>, Serializable {
public int compare(Lease l, Lease r) {
return r.getEndDate().compareTo(l.getEndDate());
long lt = l.getEndTime();
long rt = r.getEndTime();
if (rt > lt)
return 1;
if (rt < lt)
return -1;
return 0;
}
}
@ -755,7 +761,7 @@ public class TunnelPool {
// Get the "real" expiration from the gateway hop config,
// HopConfig expirations are the same as the "real" expiration and don't change
// see configureNewTunnel()
lease.setEndDate(new Date(((TunnelCreatorConfig)tunnel).getConfig(0).getExpiration()));
lease.setEndDate(((TunnelCreatorConfig)tunnel).getConfig(0).getExpiration());
lease.setTunnelId(inId);
lease.setGateway(gw);
leases.add(lease);