JML

net.sf.jqql.packets.out
Class ClusterGetMemberInfoPacket

java.lang.Object
  extended by net.sf.jqql.packets.Packet
      extended by net.sf.jqql.packets.OutPacket
          extended by net.sf.jqql.packets.BasicOutPacket
              extended by net.sf.jqql.packets.out.ClusterCommandPacket
                  extended by net.sf.jqql.packets.out.ClusterGetMemberInfoPacket

public class ClusterGetMemberInfoPacket
extends ClusterCommandPacket

 get cluster member info request packet, format:
 1. head
 2. command type, member info got is 0x0c
 3. cluster internal ID, 4 byte
 4. member QQ number which wants the info, 4 byte
 5. If want to get more member info, repeat part 4
 6. tail

 得到群中成员信息的请求包,格式为:
 1. 头部
 2. 命令类型,得到成员信息是0x0C
 3. 群内部ID,4字节
 4. 需要得到信息的成员QQ号,4字节
 5. 如果要得到多个成员的信息,重复4部分
 6. 尾部
 
 Notice: we can get at most 61 member info for one time. In real operation, we get 30 every time.
 注意:一次最多只能得到61个成员信息,而实际操作中我们按照30个一组来得到
 

Author:
luma

Field Summary
 
Fields inherited from class net.sf.jqql.packets.out.ClusterCommandPacket
BOLD, clusterId, ITALIC, NONE, subCommand, UNDERLINE
 
Fields inherited from class net.sf.jqql.packets.OutPacket
ack, key, resendCountDown, sendCount, seq, timeout
 
Fields inherited from class net.sf.jqql.packets.Packet
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user
 
Constructor Summary
ClusterGetMemberInfoPacket(ByteBuffer buf, int length, QQUser user)
           
ClusterGetMemberInfoPacket(QQUser user)
          constructor 构造函数
 
Method Summary
 void addMember(int qqNum)
          add a member QQ number that wants to get the info 添加一个需要得到信息的成员QQ号
 void addMember(Integer qqNum)
          add a member QQ number that wants to get the info 添加一个需要得到信息的成员QQ号
 void addMembers(int[] m)
          add serval member for one time 一次添加多个成员
 int getMember(int index)
          get member QQ number at wanted position 得到指定位置的成员QQ号
 String getPacketName()
           
protected  void putBody(ByteBuffer buf)
          initialize packet body 初始化包体
 void setMembers(List<Integer> members)
          set the member list that need the info 设置需要得到信息的成员列表
 
Methods inherited from class net.sf.jqql.packets.out.ClusterCommandPacket
getClusterId, getSubCommand, parseBody, setClusterId, setSubCommand
 
Methods inherited from class net.sf.jqql.packets.BasicOutPacket
decryptBody, encryptBody, getBodyBytes, getCryptographStart, getFamily, getHeadLength, getLength, getTailLength, parseHeader, parseTail, postFill, putHead, putTail, toString, validateHeader
 
Methods inherited from class net.sf.jqql.packets.OutPacket
dump, fill, getKey, getNextSeq, getSendCount, getTimeout, needAck, needResend, setKey, setSendCount, setTimeout
 
Methods inherited from class net.sf.jqql.packets.Packet
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
 

Constructor Detail

ClusterGetMemberInfoPacket

public ClusterGetMemberInfoPacket(QQUser user)
constructor 构造函数


ClusterGetMemberInfoPacket

public ClusterGetMemberInfoPacket(ByteBuffer buf,
                                  int length,
                                  QQUser user)
                           throws PacketParseException
Parameters:
buf -
length -
Throws:
PacketParseException
Method Detail

getPacketName

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

putBody

protected void putBody(ByteBuffer buf)
Description copied from class: Packet
initialize packet body 初始化包体

Overrides:
putBody in class ClusterCommandPacket
Parameters:
buf - ByteBuffer

addMember

public void addMember(int qqNum)
add a member QQ number that wants to get the info 添加一个需要得到信息的成员QQ号

Parameters:
qqNum -

addMember

public void addMember(Integer qqNum)
add a member QQ number that wants to get the info 添加一个需要得到信息的成员QQ号

Parameters:
qqNum -

addMembers

public void addMembers(int[] m)
add serval member for one time 一次添加多个成员

Parameters:
m -

setMembers

public void setMembers(List<Integer> members)
set the member list that need the info 设置需要得到信息的成员列表

Parameters:
members -

getMember

public int getMember(int index)
get member QQ number at wanted position 得到指定位置的成员QQ号

Parameters:
index - member index 成员索引
Returns:
member QQ number

JML