forked from 2009Scape/Server
More junk management server code cleanup
This commit is contained in:
parent
8efd877a11
commit
aeddd72790
6 changed files with 9 additions and 252 deletions
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue