in join_group_response.go [85:149]
func (r *JoinGroupResponse) decode(pd packetDecoder, version int16) (err error) {
r.Version = version
if version >= 2 {
if r.ThrottleTime, err = pd.getInt32(); err != nil {
return
}
}
kerr, err := pd.getInt16()
if err != nil {
return err
}
r.Err = KError(kerr)
if r.GenerationId, err = pd.getInt32(); err != nil {
return
}
if r.GroupProtocol, err = pd.getString(); err != nil {
return
}
if r.LeaderId, err = pd.getString(); err != nil {
return
}
if r.MemberId, err = pd.getString(); err != nil {
return
}
n, err := pd.getArrayLength()
if err != nil {
return err
}
if n == 0 {
return nil
}
r.Members = make([]GroupMember, n)
for i := 0; i < n; i++ {
memberId, err := pd.getString()
if err != nil {
return err
}
var groupInstanceId *string = nil
if r.Version >= 5 {
groupInstanceId, err = pd.getNullableString()
if err != nil {
return err
}
}
memberMetadata, err := pd.getBytes()
if err != nil {
return err
}
r.Members[i] = GroupMember{MemberId: memberId, GroupInstanceId: groupInstanceId, Metadata: memberMetadata}
}
return nil
}