| package com.dy.common.mw.protocol; | 
|   | 
| import org.apache.mina.core.buffer.IoBuffer; | 
|   | 
| import com.dy.common.mw.channel.tcp.PrefixedDataAvailableStatus; | 
| import org.apache.mina.core.session.IoSession; | 
|   | 
| public interface PrefixedDataAvailable { | 
|   | 
|     /** | 
|      * 分析上线数据(网络连接后第一包数据)是否可获得 | 
|      * @param in IoBuffer | 
|      * @param remain 一定时大于0的数据 | 
|      * @param minDataLength 最小数据长度 | 
|      * @param maxDataLength 最大数据长度,达到或超过此长度,认为是垃圾数据。例如:数据头部是正确的,但合法数据结尾总不出现,认为此数据垃圾数据 | 
|      * @return 不时本协议数据时返回空 | 
|      * @throws Exception 异常 | 
|      */ | 
|     PrefixedDataAvailableStatus forOnLine(IoSession ioSession, | 
|                                           IoBuffer in, | 
|                                           int remain, | 
|                                           int minDataLength, | 
|                                           int maxDataLength) throws Exception ; | 
|   | 
|     /** | 
|      * 分析上线后(网络连接后非第一包数据)是否可获得 | 
|      * @param in IoBuffer | 
|      * @param remain 一定时大于0的数据 | 
|      * @param minDataLength 最小数据长度 | 
|      * @param maxDataLength 最大数据长度,达到或超过此长度,认为是垃圾数据。例如:数据头部是正确的,但合法数据结尾总不出现,认为此数据垃圾数据 | 
|      * @return PrefixedDataAvailableStatus | 
|      * @throws Exception 异常 | 
|      */ | 
|     PrefixedDataAvailableStatus forUpData(IoSession ioSession, | 
|                                           IoBuffer in, | 
|                                           int remain, | 
|                                           int minDataLength, | 
|                                           int maxDataLength) throws Exception; | 
|   | 
| } |