MCPcopy
hub / github.com/tinylib/msgp / writeExtensionHeader

Method writeExtensionHeader

msgp/extension.go:131–206  ·  view source on GitHub ↗
(length int, extType int8)

Source from the content-addressed store, hash-verified

129}
130
131func (mw *Writer) writeExtensionHeader(length int, extType int8) error {
132 switch length {
133 case 0:
134 o, err := mw.require(3)
135 if err != nil {
136 return err
137 }
138 mw.buf[o] = mext8
139 mw.buf[o+1] = 0
140 mw.buf[o+2] = byte(extType)
141 case 1:
142 o, err := mw.require(2)
143 if err != nil {
144 return err
145 }
146 mw.buf[o] = mfixext1
147 mw.buf[o+1] = byte(extType)
148 case 2:
149 o, err := mw.require(2)
150 if err != nil {
151 return err
152 }
153 mw.buf[o] = mfixext2
154 mw.buf[o+1] = byte(extType)
155 case 4:
156 o, err := mw.require(2)
157 if err != nil {
158 return err
159 }
160 mw.buf[o] = mfixext4
161 mw.buf[o+1] = byte(extType)
162 case 8:
163 o, err := mw.require(2)
164 if err != nil {
165 return err
166 }
167 mw.buf[o] = mfixext8
168 mw.buf[o+1] = byte(extType)
169 case 16:
170 o, err := mw.require(2)
171 if err != nil {
172 return err
173 }
174 mw.buf[o] = mfixext16
175 mw.buf[o+1] = byte(extType)
176 default:
177 switch {
178 case length < math.MaxUint8:
179 o, err := mw.require(3)
180 if err != nil {
181 return err
182 }
183 mw.buf[o] = mext8
184 mw.buf[o+1] = byte(length)
185 mw.buf[o+2] = byte(extType)
186 case length < math.MaxUint16:
187 o, err := mw.require(4)
188 if err != nil {

Callers 2

WriteExtensionMethod · 0.95
WriteExtensionRawMethod · 0.95

Calls 1

requireMethod · 0.95

Tested by

no test coverage detected