1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.dy.common.mw.protocol;
 
import org.apache.mina.core.buffer.IoBuffer;
 
import com.dy.common.mw.channel.tcp.PrefixedDataAvailableStatus;
 
public interface PrefixedDataAvailable {
 
    /**
     * 分析上线数据(网络连接后第一包数据)是否可获得
     * @param in IoBuffer
     * @param remain 一定时大于0的数据
     * @param minDataLength 最小数据长度
     * @param maxDataLength 最大数据长度,达到或超过此长度,认为是垃圾数据。例如:数据头部是正确的,但合法数据结尾总不出现,认为此数据垃圾数据
     * @return 不时本协议数据时返回空
     * @throws Exception 异常
     */
    PrefixedDataAvailableStatus forOnLine(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(IoBuffer in,
            int remain,
            int minDataLength,
            int maxDataLength) throws Exception;
 
}