2
我是Netty的新手,需要以自定義的方式處理郵件。我有以下接口:Netty的處理信息
public interface Command{ }
public interface CommandFactory{
Command(byte b)
}
public interface CommandProcessor{
void process(Command c, Object arg)
}
現在我從客戶端收到一些數據並想要處理它。我爲實現ReplayingDecoder<Void>
:
public class CommandDecoder extends ReplayingDecoder<Void>{
private CommandFactory cmf;
private CommandProcessor cmp;
void decode(ChannelHandlerContext ctx, ByteBuf in, List<AnyRef> out){
Command command = cmf.command (
in.readByte()
);
String arg = new String (
in.readBytes (
in.readShort()
).array()
);
cmp.process(command, arg); //<------------ Here
}
}
的事情是我不知道這件事。我在解碼器內處理命令。至少可以說很奇怪。也許我應該通過解碼commmand
和arg
進一步到channel pipeline
。
但是哪個ChannelInboundHandler
可供選擇用於命令處理?