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

Function writeArrayRefAndType

go/fory/array.go:27–36  ·  view source on GitHub ↗

writeArrayRefAndType handles reference and type writing for array serializers. Arrays are value types, so ref handling is simpler than slices. Returns true if the value was already written, false if data should be written.

(ctx *WriteContext, refMode RefMode, writeType bool, value reflect.Value, typeId TypeId)

Source from the content-addressed store, hash-verified

25// Arrays are value types, so ref handling is simpler than slices.
26// Returns true if the value was already written, false if data should be written.
27func writeArrayRefAndType(ctx *WriteContext, refMode RefMode, writeType bool, value reflect.Value, typeId TypeId) bool {
28 if refMode != RefModeNone {
29 // Arrays are value types, just write NotNullValueFlag
30 ctx.Buffer().WriteInt8(NotNullValueFlag)
31 }
32 if writeType {
33 ctx.Buffer().WriteUint8(uint8(typeId))
34 }
35 return false
36}
37
38// readArrayRefAndType handles reference and type reading for array serializers.
39// Returns true if a reference was resolved (value already set), false if data should be read.

Callers 15

WriteMethod · 0.85
WriteMethod · 0.85
WriteMethod · 0.85
WriteMethod · 0.85
WriteMethod · 0.85
WriteMethod · 0.85
WriteMethod · 0.85
WriteMethod · 0.85
WriteMethod · 0.85
WriteMethod · 0.85
WriteMethod · 0.85
WriteMethod · 0.85

Calls 4

WriteUint8Method · 0.80
uint8Function · 0.50
WriteInt8Method · 0.45
BufferMethod · 0.45

Tested by

no test coverage detected