a100affda2
Unified kotlin and java into just src/main Unified the rs09 and core packages Took all content out of the core package, and placed it into the new content package Reorganised all source code relating to content to be easier to find and explore
50 lines
926 B
Java
50 lines
926 B
Java
package core.net;
|
|
|
|
import java.nio.channels.CancelledKeyException;
|
|
|
|
/**
|
|
* Handles a writing event.
|
|
* @author Emperor
|
|
*/
|
|
public abstract class IoWriteEvent implements Runnable {
|
|
|
|
/**
|
|
* The I/O session.
|
|
*/
|
|
private final IoSession session;
|
|
|
|
/**
|
|
* The buffer.
|
|
*/
|
|
private final Object context;
|
|
|
|
/**
|
|
* Constructs a new {@code IoWriteEvent}.
|
|
* @param session The session.
|
|
* @param context The write event context.
|
|
*/
|
|
public IoWriteEvent(IoSession session, Object context) {
|
|
this.session = session;
|
|
this.context = context;
|
|
}
|
|
|
|
@Override
|
|
public void run() {
|
|
try {
|
|
write(session, context);
|
|
} catch (Throwable t) {
|
|
if (!(t instanceof CancelledKeyException)) {
|
|
t.printStackTrace();
|
|
}
|
|
session.disconnect();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Writes the data.
|
|
* @param session The session.
|
|
* @param context The write event context.
|
|
*/
|
|
public abstract void write(IoSession session, Object context);
|
|
|
|
} |