Stop using monitored locks in Server

This commit is contained in:
P0nk
2022-08-11 12:07:38 +02:00
parent b6c17e944a
commit 7e848618e8

View File

@@ -38,13 +38,6 @@ import constants.net.ServerConstants;
import net.netty.LoginServer;
import net.packet.Packet;
import net.server.audit.ThreadTracker;
import net.server.audit.locks.MonitoredLockType;
import net.server.audit.locks.MonitoredReadLock;
import net.server.audit.locks.MonitoredReentrantReadWriteLock;
import net.server.audit.locks.MonitoredWriteLock;
import net.server.audit.locks.factory.MonitoredReadLockFactory;
import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
import net.server.audit.locks.factory.MonitoredWriteLockFactory;
import net.server.channel.Channel;
import net.server.coordinator.session.IpAddresses;
import net.server.coordinator.session.SessionCoordinator;
@@ -79,6 +72,9 @@ import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import static java.util.concurrent.TimeUnit.*;
@@ -117,16 +113,14 @@ public class Server {
private final List<List<Pair<String, Integer>>> playerRanking = new LinkedList<>();
private final Lock srvLock = MonitoredReentrantLockFactory.createLock(MonitoredLockType.SERVER);
private final Lock disLock = MonitoredReentrantLockFactory.createLock(MonitoredLockType.SERVER_DISEASES);
private final Lock srvLock = new ReentrantLock();
private final Lock disLock = new ReentrantLock();
private final MonitoredReentrantReadWriteLock wldLock = new MonitoredReentrantReadWriteLock(MonitoredLockType.SERVER_WORLDS, true);
private final MonitoredReadLock wldRLock = MonitoredReadLockFactory.createLock(wldLock);
private final MonitoredWriteLock wldWLock = MonitoredWriteLockFactory.createLock(wldLock);
private final Lock wldRLock;
private final Lock wldWLock;
private final MonitoredReentrantReadWriteLock lgnLock = new MonitoredReentrantReadWriteLock(MonitoredLockType.SERVER_LOGIN, true);
private final MonitoredReadLock lgnRLock = MonitoredReadLockFactory.createLock(lgnLock);
private final MonitoredWriteLock lgnWLock = MonitoredWriteLockFactory.createLock(lgnLock);
private final Lock lgnRLock;
private final Lock lgnWLock;
private final AtomicLong currentTime = new AtomicLong(0);
private long serverCurrentTime = 0;
@@ -135,6 +129,16 @@ public class Server {
private boolean online = false;
public static long uptime = System.currentTimeMillis();
private Server() {
ReadWriteLock worldLock = new ReentrantReadWriteLock(true);
this.wldRLock = worldLock.readLock();
this.wldWLock = worldLock.writeLock();
ReadWriteLock loginLock = new ReentrantReadWriteLock(true);
this.lgnRLock = loginLock.readLock();
this.lgnWLock = loginLock.writeLock();
}
public int getCurrentTimestamp() {
return (int) (Server.getInstance().getCurrentTime() - Server.uptime);
}