⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractencoder.java

📁 用mina框架编写的转发代理服务程序,含自动更新功能
💻 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 + -