wuzeyu
2024-11-27 e2c28bc98587c6edd6a38f06b972ff51d998028f
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
38
39
40
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;
 
}