in metadata_response.go [25:84]
func (p *PartitionMetadata) decode(pd packetDecoder, version int16) (err error) {
p.Version = version
tmp, err := pd.getInt16()
if err != nil {
return err
}
p.Err = KError(tmp)
if p.ID, err = pd.getInt32(); err != nil {
return err
}
if p.Leader, err = pd.getInt32(); err != nil {
return err
}
if p.Version >= 7 {
if p.LeaderEpoch, err = pd.getInt32(); err != nil {
return err
}
}
if p.Version < 9 {
p.Replicas, err = pd.getInt32Array()
} else {
p.Replicas, err = pd.getCompactInt32Array()
}
if err != nil {
return err
}
if p.Version < 9 {
p.Isr, err = pd.getInt32Array()
} else {
p.Isr, err = pd.getCompactInt32Array()
}
if err != nil {
return err
}
if p.Version >= 5 {
if p.Version < 9 {
p.OfflineReplicas, err = pd.getInt32Array()
} else {
p.OfflineReplicas, err = pd.getCompactInt32Array()
}
if err != nil {
return err
}
}
if p.Version >= 9 {
_, err = pd.getEmptyTaggedFieldArray()
if err != nil {
return err
}
}
return nil
}