📄 abstractencoder.java
字号:
package com.frontMachine.codec;
import org.apache.mina.common.ByteBuffer;
import org.apache.mina.common.IoSession;
import org.apache.mina.filter.codec.ProtocolEncoderOutput;
import org.apache.mina.filter.codec.demux.MessageEncoder;
public abstract class AbstractEncoder implements MessageEncoder
{
//private static int count;
protected AbstractEncoder()
{
}
public void encode( IoSession session, Object message, ProtocolEncoderOutput out ) throws Exception
{
//System.out.println(++count+"次调用encode");
ByteBuffer buf;
if(message instanceof ByteBuffer)
{
buf=(ByteBuffer)message;
}
else
{
String s_msg=message.toString();
if (message==null) {
buf = ByteBuffer.allocate( 16 );
}else {
buf = ByteBuffer.allocate( s_msg.length() );
}
buf.setAutoExpand( true );
// Encode a body
encodeBody( s_msg, buf );
}
buf.flip();
out.write( buf );
}
protected abstract void encodeBody( String message, ByteBuffer out );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -