Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1473669
  • 博文数量: 108
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 997
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-29 09:58
个人简介

兴趣是坚持一件事永不衰竭的动力

文章分类

全部博文(108)

文章存档

2021年(1)

2020年(10)

2019年(19)

2018年(9)

2016年(23)

2015年(43)

2013年(3)

我的朋友
TTL

分类: Java

2016-01-18 00:45:16

package com.dd.model.protocol;


public class TTL implements IProtocolBase
{
private short tag;
private DataTypeEnum type;
private short len;

public TTL()
{

}

public TTL(short tag, DataTypeEnum type)
{
this.tag = tag;
this.type = type;
this.len = getLenByType(type);
}
private short getLenByType(DataTypeEnum type)
{
short byteWidth = 0;
switch (type)
{
case BOOL:
byteWidth = 1;
break;
case INT8:
byteWidth = 1;
break;
case INT16:
byteWidth = 2;
break;
case INT32:
byteWidth = 4;
break;
case FLOAT:
byteWidth = 4;
break;


default:
break;
}
return byteWidth;
}


public TTL(short tag, DataTypeEnum type, short len)
{
super();
this.tag = tag;
this.type = type;
this.len = len;
}


@Override
public int getTotalLen()
{
return 2+2+2;//tag type len
}


@Override
public byte[] serial()
{
int byteLen = 2+2+2;
byte result[] = new byte[byteLen];
result[0] = (byte)(tag >> 8);
result[1] = (byte)tag ;
result[2] = (byte)(type.ordinal() >> 8);

result[3] = (byte)type.ordinal();
result[4] = (byte)(len >> 8);
result[5] = (byte)len;
return result;
}


public void setLen(short len)
{
this.len = len;
}
@Override
public String toString()
{
return "TTL [tag=" + tag + ", type=" + type + ", len=" + len + "]";
}


public short getTag()
{
return tag;
}


public void setTag(short tag)
{
this.tag = tag;
}


public DataTypeEnum getType()
{
return type;
}


public void setType(DataTypeEnum type)
{
this.type = type;
}


public short getLen()
{
return len;
}
public int getSerialTotalLen()
{
return getTotalLen()*2;
}




}

阅读(1523) | 评论(0) | 转发(0) |
0

上一篇:Test

下一篇:TTLDecoder

给主人留下些什么吧!~~