JML

net.sf.jqql.packets.in
Class GetOnlineOpReplyPacket

java.lang.Object
  extended by net.sf.jqql.packets.Packet
      extended by net.sf.jqql.packets.InPacket
          extended by net.sf.jqql.packets.BasicInPacket
              extended by net.sf.jqql.packets.in.GetOnlineOpReplyPacket

public class GetOnlineOpReplyPacket
extends BasicInPacket

 reply packet of get online friend list, its format is
 1. header
 2. whether all online friend is got, 1 byte
 3. 31 byte FriendStaturs frame
 4. 2 unknown byte
 5. 1 byte extend sign
 6. 1 byte currency sign
 7. 2 unknown byte
 8. 1 unknown byte
 9. if has more online friend, repeat 2-8 part
 10. tail

 this reply packet most return 30 online friend, if has more, need to continue request
 得到在线好友列表的应答包,格式为
 1. 头部
 2. 在线好友是否已经全部得到,1字节
 3. 31字节的FriendStatus结构
 4. 2个未知字节
 5. 1个字节扩展标志
 6. 1个字节通用标志
 7. 2个未知字节
 8. 1个未知字节
 9. 如果有更多在线好友,重复2-8部分
 10. 尾部
 
 这个回复包最多返回30个在线好友,如果有更多,需要继续请求
 

Author:
luma

Field Summary
 boolean finished
           
 List<FriendOnlineEntry> onlineFriends
           
 int position
           
 
Fields inherited from class net.sf.jqql.packets.Packet
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user
 
Constructor Summary
GetOnlineOpReplyPacket(ByteBuffer buf, int length, QQUser user)
          constructed function 构造函数
 
Method Summary
 String getPacketName()
           
protected  void parseBody(ByteBuffer buf)
          parse packet body, from begin position of buf 解析包体,从buf的开头位置解析起
 
Methods inherited from class net.sf.jqql.packets.BasicInPacket
decryptBody, encryptBody, getBodyBytes, getCryptographStart, getFamily, getHeadLength, getLength, getTailLength, parseHeader, parseTail, putBody, putHead, putTail, toString
 
Methods inherited from class net.sf.jqql.packets.InPacket
validateHeader
 
Methods inherited from class net.sf.jqql.packets.Packet
dump, equals, getCommand, getHeader, getSequence, getSource, hash, hashCode, isDuplicated, setDuplicated, setHeader, setSequence
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

finished

public boolean finished

position

public int position

onlineFriends

public List<FriendOnlineEntry> onlineFriends
Constructor Detail

GetOnlineOpReplyPacket

public GetOnlineOpReplyPacket(ByteBuffer buf,
                              int length,
                              QQUser user)
                       throws PacketParseException
constructed function 构造函数

Parameters:
buf - 缓冲区 // buffer
length - 包长度 // packet length
Throws:
PacketParseException - 解析错误 // parse error
Method Detail

getPacketName

public String getPacketName()
Overrides:
getPacketName in class BasicInPacket
Returns:
descriptive name of packet 包的描述性名称

parseBody

protected void parseBody(ByteBuffer buf)
                  throws PacketParseException
Description copied from class: Packet
parse packet body, from begin position of buf 解析包体,从buf的开头位置解析起

Specified by:
parseBody in class Packet
Parameters:
buf - ByteBuffer
Throws:
PacketParseException - if parse error 如果解析出错

JML