📄 crbtmessagerecognizer.java
字号:
package com.wireless.crbt.gwif.global.pub;
import java.nio.ByteBuffer;
import com.wireless.sms.pub.net.netty2.MOMessage;
//import com.wireless.sms.pub.net.netty2.MTMessage;
import com.wireless.sms.pub.net.netty2.ResponseMessage;
import net.gleamynode.netty2.Message;
import net.gleamynode.netty2.MessageParseException;
import net.gleamynode.netty2.MessageRecognizer;
public class CRBTMessageRecognizer implements MessageRecognizer {
public static final int MO = 1;
public static final int CRBT = 2;
public static final int RESPONSE = 3;
private int mode;
/**
* 构造方法
* @param mode int
*/
public CRBTMessageRecognizer(int mode) {
switch (mode) {
case MO:
case CRBT:
case RESPONSE:
this.mode = mode;
break;
default:
throw new IllegalArgumentException("invalid mode: " + mode);
}
}
/**
* 根据mode值确定应用哪个message
* @param buf ByteBuffer
* @throws MessageParseException
* @return Message
*/
public Message recognize(ByteBuffer buf) throws MessageParseException {
// return null if message is not arrived yet.
if (buf.remaining() < 0)
return null;
switch (mode) {
// server can receive MO message only.
case MO:
return new MOMessage();
// client can receive MT message only.
case CRBT:
return new CRBTMessage();
case RESPONSE:
return new ResponseMessage();
default:
throw new InternalError(); // this cannot happen
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -