func()

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
}