forked from 2009Scape/Server
43 lines
No EOL
950 B
Java
43 lines
No EOL
950 B
Java
package ms.net.event;
|
|
|
|
import java.nio.ByteBuffer;
|
|
|
|
import ms.net.EventProducer;
|
|
import ms.net.IoSession;
|
|
import ms.net.IoWriteEvent;
|
|
import ms.net.producer.PacketEventProducer;
|
|
|
|
/**
|
|
* Handles game world registry writing events.
|
|
* @author Emperor
|
|
*
|
|
*/
|
|
public final class RegistryWriteEvent extends IoWriteEvent {
|
|
|
|
/**
|
|
* The event producer.
|
|
*/
|
|
public static final EventProducer PRODUCER = new PacketEventProducer();
|
|
|
|
/**
|
|
* Constructs a new {@code RegistryWriteEvent} {@code Object}.
|
|
* @param session The I/O session.
|
|
* @param context The writing context.
|
|
*/
|
|
public RegistryWriteEvent(IoSession session, Object context) {
|
|
super(session, context);
|
|
}
|
|
|
|
@Override
|
|
public void write(IoSession session, Object context) {
|
|
ByteBuffer buffer = ByteBuffer.allocate(1);
|
|
int opcode = (int) context;
|
|
buffer.put((byte) opcode);
|
|
buffer.flip();
|
|
if (opcode == 1) {
|
|
session.setProducer(PRODUCER);
|
|
}
|
|
session.queue(buffer);
|
|
}
|
|
|
|
} |