More junk management server code cleanup

This commit is contained in:
ceikry 2021-08-10 09:06:11 -05:00
parent 8efd877a11
commit aeddd72790
6 changed files with 9 additions and 252 deletions

View file

@ -67,6 +67,10 @@ public final class IoEventHandler {
ByteBuffer buffer = ByteBuffer.allocate(100_000);
IoSession session = (IoSession) key.attachment();
if (channel.read(buffer) == -1) {
if(session == null){
key.cancel();
return;
}
if(session.getGameServer() != null){
WorldDatabase.unRegister(session.getGameServer());
}
@ -87,8 +91,10 @@ public final class IoEventHandler {
*/
public void write(SelectionKey key) {
IoSession session = (IoSession) key.attachment();
key.interestOps(key.interestOps() & ~SelectionKey.OP_WRITE);
session.write();
if(session != null) {
key.interestOps(key.interestOps() & ~SelectionKey.OP_WRITE);
session.write();
}
}
/**

View file

@ -96,6 +96,7 @@ public final class NioReactor implements Runnable {
SelectionKey key = keys.next();
keys.remove();
try {
if(key == null) continue;
if (!key.isValid() || !key.channel().isOpen()) {
key.cancel();
continue;