оптимизировали keepAlive
This commit is contained in:
@@ -6,11 +6,8 @@ import mc.core.player.PlayerManager;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class KeepAliveThread extends Thread {
|
public class KeepAliveThread extends Thread {
|
||||||
private static final Random RAND = new Random();
|
|
||||||
private final Object lock = new Object();
|
private final Object lock = new Object();
|
||||||
@Autowired
|
@Autowired
|
||||||
private PlayerManager playerManager;
|
private PlayerManager playerManager;
|
||||||
@@ -25,6 +22,8 @@ public class KeepAliveThread extends Thread {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
final KeepAlivePacket keepAlivePacket = new KeepAlivePacket();
|
||||||
|
|
||||||
while (!Thread.currentThread().isInterrupted()) {
|
while (!Thread.currentThread().isInterrupted()) {
|
||||||
while(playerManager.getCountPlayers() == 0) {
|
while(playerManager.getCountPlayers() == 0) {
|
||||||
synchronized (lock) {
|
synchronized (lock) {
|
||||||
@@ -36,7 +35,8 @@ public class KeepAliveThread extends Thread {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
playerManager.getBroadcastChannel().writeAndFlush(new KeepAlivePacket(RAND.nextLong()));
|
keepAlivePacket.setPayload(System.currentTimeMillis());
|
||||||
|
playerManager.getBroadcastChannel().writeAndFlush(keepAlivePacket);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Thread.sleep(interval);
|
Thread.sleep(interval);
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ public class WrapperNetChannel implements NetChannel {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeAndFlush(SCPacket pkt) {
|
public void writeAndFlush(SCPacket pkt) {
|
||||||
channel.writeAndFlush(pkt);
|
channel.writeAndFlush(pkt, channel.voidPromise());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user