Stop using monitored locks in Server
This commit is contained in:
@@ -38,13 +38,6 @@ import constants.net.ServerConstants;
|
|||||||
import net.netty.LoginServer;
|
import net.netty.LoginServer;
|
||||||
import net.packet.Packet;
|
import net.packet.Packet;
|
||||||
import net.server.audit.ThreadTracker;
|
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.channel.Channel;
|
||||||
import net.server.coordinator.session.IpAddresses;
|
import net.server.coordinator.session.IpAddresses;
|
||||||
import net.server.coordinator.session.SessionCoordinator;
|
import net.server.coordinator.session.SessionCoordinator;
|
||||||
@@ -79,6 +72,9 @@ import java.util.concurrent.Executors;
|
|||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
import java.util.concurrent.locks.Lock;
|
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.*;
|
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 List<List<Pair<String, Integer>>> playerRanking = new LinkedList<>();
|
||||||
|
|
||||||
private final Lock srvLock = MonitoredReentrantLockFactory.createLock(MonitoredLockType.SERVER);
|
private final Lock srvLock = new ReentrantLock();
|
||||||
private final Lock disLock = MonitoredReentrantLockFactory.createLock(MonitoredLockType.SERVER_DISEASES);
|
private final Lock disLock = new ReentrantLock();
|
||||||
|
|
||||||
private final MonitoredReentrantReadWriteLock wldLock = new MonitoredReentrantReadWriteLock(MonitoredLockType.SERVER_WORLDS, true);
|
private final Lock wldRLock;
|
||||||
private final MonitoredReadLock wldRLock = MonitoredReadLockFactory.createLock(wldLock);
|
private final Lock wldWLock;
|
||||||
private final MonitoredWriteLock wldWLock = MonitoredWriteLockFactory.createLock(wldLock);
|
|
||||||
|
|
||||||
private final MonitoredReentrantReadWriteLock lgnLock = new MonitoredReentrantReadWriteLock(MonitoredLockType.SERVER_LOGIN, true);
|
private final Lock lgnRLock;
|
||||||
private final MonitoredReadLock lgnRLock = MonitoredReadLockFactory.createLock(lgnLock);
|
private final Lock lgnWLock;
|
||||||
private final MonitoredWriteLock lgnWLock = MonitoredWriteLockFactory.createLock(lgnLock);
|
|
||||||
|
|
||||||
private final AtomicLong currentTime = new AtomicLong(0);
|
private final AtomicLong currentTime = new AtomicLong(0);
|
||||||
private long serverCurrentTime = 0;
|
private long serverCurrentTime = 0;
|
||||||
@@ -135,6 +129,16 @@ public class Server {
|
|||||||
private boolean online = false;
|
private boolean online = false;
|
||||||
public static long uptime = System.currentTimeMillis();
|
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() {
|
public int getCurrentTimestamp() {
|
||||||
return (int) (Server.getInstance().getCurrentTime() - Server.uptime);
|
return (int) (Server.getInstance().getCurrentTime() - Server.uptime);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user