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

Method writeVarInt

write.go:37–53  ·  view source on GitHub ↗
(i int64)

Source from the content-addressed store, hash-verified

35}
36
37func (wb *writeBuffer) writeVarInt(i int64) {
38 u := uint64((i << 1) ^ (i >> 63))
39 n := 0
40
41 for u >= 0x80 && n < len(wb.b) {
42 wb.b[n] = byte(u) | 0x80
43 u >>= 7
44 n++
45 }
46
47 if n < len(wb.b) {
48 wb.b[n] = byte(u)
49 n++
50 }
51
52 wb.Write(wb.b[:n])
53}
54
55func (wb *writeBuffer) writeString(s string) {
56 wb.writeInt16(int16(len(s)))

Callers 8

BenchmarkWriteVarIntFunction · 0.95
BenchmarkReadVarIntFunction · 0.95
TestWriteVarIntFunction · 0.95
writeVarStringMethod · 0.95
writeVarBytesMethod · 0.95
writeVarArrayMethod · 0.95
writeRecordMethod · 0.95
bytesMethod · 0.45

Calls 1

WriteMethod · 0.95

Tested by 4

BenchmarkWriteVarIntFunction · 0.76
BenchmarkReadVarIntFunction · 0.76
TestWriteVarIntFunction · 0.76
bytesMethod · 0.36