crbtmessagerecognizer.java
来自「中国联通炫铃业务接口开发」· Java 代码 · 共 59 行
JAVA
59 行
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 + =
减小字号Ctrl + -
显示快捷键?