MCPcopy
hub / github.com/segmentio/kafka-go / writeTo

Method writeTo

recordbatch.go:79–96  ·  view source on GitHub ↗
(wb *writeBuffer)

Source from the content-addressed store, hash-verified

77}
78
79func (r *recordBatch) writeTo(wb *writeBuffer) {
80 wb.writeInt32(r.size)
81
82 baseTime := r.msgs[0].Time
83 lastTime := r.msgs[len(r.msgs)-1].Time
84 if r.compressed != nil {
85 wb.writeRecordBatch(r.attributes, r.size, len(r.msgs), baseTime, lastTime, func(wb *writeBuffer) {
86 wb.Write(r.compressed.Bytes())
87 })
88 releaseBuffer(r.compressed)
89 } else {
90 wb.writeRecordBatch(r.attributes, r.size, len(r.msgs), baseTime, lastTime, func(wb *writeBuffer) {
91 for i, msg := range r.msgs {
92 wb.writeRecord(0, r.msgs[0].Time, int64(i), msg)
93 }
94 })
95 }
96}
97
98func recordSize(msg *Message, timestampDelta time.Duration, offsetDelta int64) int {
99 return 1 + // attributes

Callers

nothing calls this directly

Calls 6

releaseBufferFunction · 0.85
writeRecordBatchMethod · 0.80
writeRecordMethod · 0.80
BytesMethod · 0.65
writeInt32Method · 0.45
WriteMethod · 0.45

Tested by

no test coverage detected