| New file | 
|  |  |  | 
|---|
|  |  |  | package com.dy.common.mw.channel.tcp; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public class PrefixedDataAvailableStatus { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public final static Integer status_rubbish = 0 ;//垃圾数据 | 
|---|
|  |  |  | public final static Integer status_break = 1 ;//断包 | 
|---|
|  |  |  | public final static Integer status_adjoin = 2 ;//粘包 | 
|---|
|  |  |  | public final static Integer status_complete = 3 ;//不断不粘 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Integer status ; | 
|---|
|  |  |  | private Integer dataLen ; | 
|---|
|  |  |  | public String protocolName; | 
|---|
|  |  |  | public Short protocolVersion; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public PrefixedDataAvailableStatus(){ | 
|---|
|  |  |  | status = null ; | 
|---|
|  |  |  | dataLen = null ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 垃圾数据 | 
|---|
|  |  |  | * @param dataLen 数据长度 | 
|---|
|  |  |  | * @return 状态 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @SuppressWarnings("unused") | 
|---|
|  |  |  | public PrefixedDataAvailableStatus rubbish(Integer dataLen){ | 
|---|
|  |  |  | this.status = status_rubbish ; | 
|---|
|  |  |  | this.dataLen = dataLen ; | 
|---|
|  |  |  | return this ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 发生断包 | 
|---|
|  |  |  | * @return 状态 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @SuppressWarnings("unused") | 
|---|
|  |  |  | public PrefixedDataAvailableStatus breaked(){ | 
|---|
|  |  |  | this.status = status_break ; | 
|---|
|  |  |  | this.dataLen = null ; | 
|---|
|  |  |  | return this ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 发生粘包 | 
|---|
|  |  |  | * @param dataLen 数据长度 | 
|---|
|  |  |  | * @return 状态 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @SuppressWarnings("unused") | 
|---|
|  |  |  | public PrefixedDataAvailableStatus adjoined(Integer dataLen, String protocolName, Short protocolVersion){ | 
|---|
|  |  |  | this.status = status_adjoin ; | 
|---|
|  |  |  | this.dataLen = dataLen ; | 
|---|
|  |  |  | this.protocolName = protocolName ; | 
|---|
|  |  |  | this.protocolVersion = protocolVersion ; | 
|---|
|  |  |  | return this ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 不断包不粘包,数据正好收全 | 
|---|
|  |  |  | * @param dataLen 数据长度 | 
|---|
|  |  |  | * @return 状态 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @SuppressWarnings("unused") | 
|---|
|  |  |  | public PrefixedDataAvailableStatus completed(Integer dataLen, String protocolName, Short protocolVersion){ | 
|---|
|  |  |  | this.status = status_complete ; | 
|---|
|  |  |  | this.dataLen = dataLen ; | 
|---|
|  |  |  | this.protocolName = protocolName ; | 
|---|
|  |  |  | this.protocolVersion = protocolVersion ; | 
|---|
|  |  |  | return this ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 是否垃圾数据 | 
|---|
|  |  |  | * @return 状态 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public boolean isRubbish(){ | 
|---|
|  |  |  | return this.status.intValue() == status_rubbish.intValue(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 是否断包 | 
|---|
|  |  |  | * @return 状态 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public boolean isBreaked(){ | 
|---|
|  |  |  | return this.status.intValue() == status_break.intValue(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 是否粘包 | 
|---|
|  |  |  | * @return 是否粘包 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public boolean isAdjoined(){ | 
|---|
|  |  |  | return this.status.intValue() == status_adjoin.intValue(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 是否不断不粘 | 
|---|
|  |  |  | * @return 是否不断不粘 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public boolean isCompleted(){ | 
|---|
|  |  |  | return this.status.intValue() == status_complete.intValue(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 返回数据长度 | 
|---|
|  |  |  | * @return 数据长度 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Integer getDataLen(){ | 
|---|
|  |  |  | return this.dataLen ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|