MCPcopy Create free account
hub / github.com/apache/fory / WriteData

Method WriteData

go/fory/array.go:350–363  ·  view source on GitHub ↗
(ctx *WriteContext, value reflect.Value)

Source from the content-addressed store, hash-verified

348type byteArraySerializer struct{}
349
350func (s byteArraySerializer) WriteData(ctx *WriteContext, value reflect.Value) {
351 buf := ctx.Buffer()
352 length := value.Len()
353 buf.WriteLength(length)
354 if value.CanAddr() {
355 buf.WriteBinary(value.Slice(0, length).Bytes())
356 } else {
357 data := make([]byte, length)
358 for i := 0; i < length; i++ {
359 data[i] = byte(value.Index(i).Uint())
360 }
361 buf.WriteBinary(data)
362 }
363}
364
365func (s byteArraySerializer) Write(ctx *WriteContext, refMode RefMode, writeType bool, hasGenerics bool, value reflect.Value) {
366 writeArrayRefAndType(ctx, refMode, writeType, value, BINARY)

Callers 1

WriteMethod · 0.95

Calls 6

LenMethod · 0.80
BytesMethod · 0.80
SliceMethod · 0.80
BufferMethod · 0.45
WriteLengthMethod · 0.45
WriteBinaryMethod · 0.45

Tested by

no test coverage detected