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 ;
|
}
|
|
}
|