MCPcopy Create free account
hub / github.com/IBM/sarama / decode

Method decode

txn_offset_commit_request.go:61–131  ·  view source on GitHub ↗
(pd packetDecoder, version int16)

Source from the content-addressed store, hash-verified

59}
60
61func (t *TxnOffsetCommitRequest) decode(pd packetDecoder, version int16) (err error) {
62 t.Version = version
63 if t.TransactionalID, err = pd.getString(); err != nil {
64 return err
65 }
66 if t.GroupID, err = pd.getString(); err != nil {
67 return err
68 }
69 if t.ProducerID, err = pd.getInt64(); err != nil {
70 return err
71 }
72 if t.ProducerEpoch, err = pd.getInt16(); err != nil {
73 return err
74 }
75
76 if t.Version >= 3 {
77 if t.GenerationID, err = pd.getInt32(); err != nil {
78 return err
79 }
80 if t.MemberID, err = pd.getString(); err != nil {
81 return err
82 }
83 if t.GroupInstanceID, err = pd.getNullableString(); err != nil {
84 return err
85 }
86 }
87
88 n, err := pd.getArrayLength()
89 if err != nil {
90 return err
91 }
92 if n < 0 {
93 return errInvalidArrayLength
94 }
95
96 t.Topics = make(map[string][]*PartitionOffsetMetadata)
97 for range n {
98 topic, err := pd.getString()
99 if err != nil {
100 return err
101 }
102
103 m, err := pd.getArrayLength()
104 if err != nil {
105 return err
106 }
107 if m < 0 {
108 return errInvalidArrayLength
109 }
110
111 t.Topics[topic] = make([]*PartitionOffsetMetadata, m)
112
113 for j := range m {
114 partitionOffsetMetadata := new(PartitionOffsetMetadata)
115 if err := partitionOffsetMetadata.decode(pd, version); err != nil {
116 return err
117 }
118 t.Topics[topic][j] = partitionOffsetMetadata

Callers

nothing calls this directly

Calls 8

getStringMethod · 0.65
getInt64Method · 0.65
getInt16Method · 0.65
getInt32Method · 0.65
getNullableStringMethod · 0.65
getArrayLengthMethod · 0.65
decodeMethod · 0.65

Tested by

no test coverage detected