public override void Decode(ProtoStream stream) { base.Decode(stream); int tagAndType = 0; int fieldCount = stream.ReadFixedShort(); while (fieldCount-- > 0) { tagAndType = stream.ReadInt(); switch ((tagAndType >> ProtoDefine.TAG_TYPE_BITS)) { case 1: { sesskey = stream.ReadString(); break; } case 2: { terminalType = stream.ReadInt(); break; } case 3: { uid = stream.ReadInt(); break; } default: { stream.ReadUnknow(tagAndType); break; } } } }