(pd packetDecoder, version int16)
| 101 | } |
| 102 | |
| 103 | func (b *FetchResponseBlock) decode(pd packetDecoder, version int16) (err error) { |
| 104 | metricRegistry := pd.metricRegistry() |
| 105 | var sizeMetric metrics.Histogram |
| 106 | if metricRegistry != nil { |
| 107 | sizeMetric = getOrRegisterHistogram("consumer-fetch-response-size", metricRegistry) |
| 108 | } |
| 109 | |
| 110 | b.Err, err = pd.getKError() |
| 111 | if err != nil { |
| 112 | return err |
| 113 | } |
| 114 | |
| 115 | b.HighWaterMarkOffset, err = pd.getInt64() |
| 116 | if err != nil { |
| 117 | return err |
| 118 | } |
| 119 | |
| 120 | if version >= 4 { |
| 121 | b.LastStableOffset, err = pd.getInt64() |
| 122 | if err != nil { |
| 123 | return err |
| 124 | } |
| 125 | |
| 126 | if version >= 5 { |
| 127 | b.LogStartOffset, err = pd.getInt64() |
| 128 | if err != nil { |
| 129 | return err |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | numTransact, err := pd.getArrayLength() |
| 134 | if err != nil { |
| 135 | return err |
| 136 | } |
| 137 | |
| 138 | if numTransact >= 0 { |
| 139 | b.AbortedTransactions = make([]*AbortedTransaction, numTransact) |
| 140 | } |
| 141 | |
| 142 | for i := range numTransact { |
| 143 | transact := new(AbortedTransaction) |
| 144 | if err = transact.decode(pd); err != nil { |
| 145 | return err |
| 146 | } |
| 147 | b.AbortedTransactions[i] = transact |
| 148 | } |
| 149 | } |
| 150 | |
| 151 | if version >= 11 { |
| 152 | b.PreferredReadReplica, err = pd.getInt32() |
| 153 | if err != nil { |
| 154 | return err |
| 155 | } |
| 156 | } else { |
| 157 | b.PreferredReadReplica = -1 |
| 158 | } |
| 159 | |
| 160 | var recordsDecoder packetDecoder |
nothing calls this directly
no test coverage detected