MCPcopy
hub / github.com/keploy/keploy / WriteLengthEncodedInteger

Function WriteLengthEncodedInteger

pkg/agent/proxy/integrations/mysql/utils/util.go:330–360  ·  view source on GitHub ↗
(buf *bytes.Buffer, num uint64)

Source from the content-addressed store, hash-verified

328}
329
330func WriteLengthEncodedInteger(buf *bytes.Buffer, num uint64) error {
331 switch {
332 case num <= 250:
333 if err := buf.WriteByte(byte(num)); err != nil {
334 return err
335 }
336 case num <= 0xFFFF:
337 if err := buf.WriteByte(0xFC); err != nil {
338 return err
339 }
340 if err := binary.Write(buf, binary.LittleEndian, uint16(num)); err != nil {
341 return err
342 }
343 case num <= 0xFFFFFF:
344 if err := buf.WriteByte(0xFD); err != nil {
345 return err
346 }
347 num24 := []byte{byte(num), byte(num >> 8), byte(num >> 16)}
348 if _, err := buf.Write(num24); err != nil {
349 return err
350 }
351 default:
352 if err := buf.WriteByte(0xFE); err != nil {
353 return err
354 }
355 if err := binary.Write(buf, binary.LittleEndian, num); err != nil {
356 return err
357 }
358 }
359 return nil
360}
361
362func WriteUint24(buf *bytes.Buffer, value uint32) error {
363 if value > 0xFFFFFF {

Callers 7

EncodeOkFunction · 0.92
EncodeTextResultSetFunction · 0.92
EncodeBinaryResultSetFunction · 0.92
writeLenEncBytesFunction · 0.92
EncodeTextRowFunction · 0.92
WriteLengthEncodedStringFunction · 0.85

Calls 1

WriteMethod · 0.65

Tested by

no test coverage detected