package com.meidusa.amoeba.manager.net.packet; import java.io.UnsupportedEncodingException; import com.meidusa.amoeba.manager.ManagerConstant; import com.meidusa.amoeba.net.packet.AbstractPacket; /** * @author struct */ public class ManagerAbstractPacket extends AbstractPacket<ManagerPacketBuffer> implements ManagerConstant { public int lenght; public byte funType; @Override protected void init(ManagerPacketBuffer buffer) { buffer.setPosition(0); lenght = buffer.readInt(); funType = buffer.readByte(); } @Override protected void write2Buffer(ManagerPacketBuffer buffer) throws UnsupportedEncodingException { buffer.setPosition(HEADER_SIZE); } @Override protected void afterPacketWritten(ManagerPacketBuffer buffer) { int position = buffer.getPosition(); lenght = position; buffer.setPosition(0); buffer.writeInt(lenght); buffer.writeByte(funType); buffer.setPosition(position); } @Override protected int calculatePacketSize() { return 5; } @Override protected void afterRead(ManagerPacketBuffer buffer) { buffer.setPosition(HEADER_SIZE); } @Override protected Class<ManagerPacketBuffer> getPacketBufferClass() { return ManagerPacketBuffer.class; } }