JML

net.sf.jqql.packets.out
Class ClusterCommitMemberOrganizationPacket

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.ClusterCommitMemberOrganizationPacket

public class ClusterCommitMemberOrganizationPacket
extends ClusterCommandPacket

 commit member grouping info to server
 1. head
 2. command, 1 byte, 0x13
 3. cluster internal id, 4 byte
 4. unknown 1 byte, 0x00
 5. member QQ number, 4 bytes
 6. sequence of organization to which member belongs, 1 byte, no organization, it's 0x00
 7. If there are more members, repeat part 5-6
 8. tail. 
 提交成员分组情况到服务器
 1. 头部
 2. 命令,1字节,0x13
 3. 群内部id,4字节
 4. 未知1字节,0x00
 5. 成员QQ号,4字节
 6. 成员所属组织序号,1字节,没有组织时是0x00
 7. 如果有更多成员,重复5-6部分
 8. 尾部
 
 notice:  it's not necessary to commit all member grouping info at one time. If only serval member's grouping 
 changes(like drag), we just need to commit those member. So this operation is not like modifying temp cluster member
 whick asks for adding and removing. This can be done by one packet.
 注意:不需要一次提交所有成员分组情况,如果只有个别成员的分组变动了(比如拖动操作),
 那么只需要提交改变的成员。所以这个操作不象修改临时群成员那样,又有添加又有删除的,
 可以一个包搞定了
 

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
ClusterCommitMemberOrganizationPacket(ByteBuffer buf, int length, QQUser user)
           
ClusterCommitMemberOrganizationPacket(QQUser user)
           
 
Method Summary
 void addMember(Member m)
           
 List<Member> getMembers()
           
 String getPacketName()
           
protected  void putBody(ByteBuffer buf)
          initialize packet body 初始化包体
 void setMembers(List<Member> members)
           
 
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

ClusterCommitMemberOrganizationPacket

public ClusterCommitMemberOrganizationPacket(ByteBuffer buf,
                                             int length,
                                             QQUser user)
                                      throws PacketParseException
Throws:
PacketParseException

ClusterCommitMemberOrganizationPacket

public ClusterCommitMemberOrganizationPacket(QQUser user)
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(Member m)

getMembers

public List<Member> getMembers()
Returns:
Returns the members.

setMembers

public void setMembers(List<Member> members)
Parameters:
members - The members to set.

JML