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

Method encode

fetch_response.go:300–346  ·  view source on GitHub ↗
(pe packetEncoder, version int16)

Source from the content-addressed store, hash-verified

298}
299
300func (b *FetchResponseBlock) encode(pe packetEncoder, version int16) (err error) {
301 pe.putKError(b.Err)
302
303 pe.putInt64(b.HighWaterMarkOffset)
304
305 if version >= 4 {
306 pe.putInt64(b.LastStableOffset)
307
308 if version >= 5 {
309 pe.putInt64(b.LogStartOffset)
310 }
311
312 if err = pe.putArrayLength(len(b.AbortedTransactions)); err != nil {
313 return err
314 }
315 for _, transact := range b.AbortedTransactions {
316 if err = transact.encode(pe); err != nil {
317 return err
318 }
319 }
320 }
321
322 if version >= 11 {
323 pe.putInt32(b.PreferredReadReplica)
324 }
325
326 if version >= 12 {
327 recordsBytes, err := encode(fetchRecordsSet(b.RecordsSet), nil)
328 if err != nil {
329 return err
330 }
331 if err = pe.putBytes(recordsBytes); err != nil {
332 return err
333 }
334 b.encodeTaggedFields(pe)
335 return nil
336 }
337
338 pe.push(&lengthField{})
339 for _, records := range b.RecordsSet {
340 err = records.encode(pe)
341 if err != nil {
342 return err
343 }
344 }
345 return pe.pop()
346}
347
348func (b *FetchResponseBlock) encodeTaggedFields(pe packetEncoder) {
349 var numTaggedFields uint64

Callers

nothing calls this directly

Calls 11

encodeTaggedFieldsMethod · 0.95
encodeFunction · 0.85
fetchRecordsSetTypeAlias · 0.85
putKErrorMethod · 0.65
putInt64Method · 0.65
putArrayLengthMethod · 0.65
encodeMethod · 0.65
putInt32Method · 0.65
putBytesMethod · 0.65
pushMethod · 0.65
popMethod · 0.65

Tested by

no test coverage detected