MCPcopy Index your code
hub / github.com/tinylib/msgp / ReadBytesHeader

Method ReadBytesHeader

msgp/read.go:1077–1109  ·  view source on GitHub ↗

ReadBytesHeader reads the size header of a MessagePack 'bin' object. The user is responsible for dealing with the next 'sz' bytes from the reader in an application-specific way.

()

Source from the content-addressed store, hash-verified

1075// 'sz' bytes from the reader in an application-specific
1076// way.
1077func (m *Reader) ReadBytesHeader() (sz uint32, err error) {
1078 var p []byte
1079 lead, err := m.R.PeekByte()
1080 if err != nil {
1081 return
1082 }
1083 switch lead {
1084 case mbin8:
1085 p, err = m.R.Next(2)
1086 if err != nil {
1087 return
1088 }
1089 sz = uint32(p[1])
1090 return
1091 case mbin16:
1092 p, err = m.R.Next(3)
1093 if err != nil {
1094 return
1095 }
1096 sz = uint32(big.Uint16(p[1:]))
1097 return
1098 case mbin32:
1099 p, err = m.R.Next(5)
1100 if err != nil {
1101 return
1102 }
1103 sz = big.Uint32(p[1:])
1104 return
1105 default:
1106 err = badPrefix(BinType, lead)
1107 return
1108 }
1109}
1110
1111// ReadExactBytes reads a MessagePack 'bin'-encoded
1112// object off of the wire into the provided slice. An

Callers 1

TestReadWriteBytesHeaderFunction · 0.80

Calls 1

badPrefixFunction · 0.85

Tested by 1

TestReadWriteBytesHeaderFunction · 0.64