MCPcopy Create free account
hub / github.com/chronoxor/FastBinaryEncoding / Set

Method Set

projects/Go/proto/fbe/FieldModelBytes.go:104–119  ·  view source on GitHub ↗

Set the bytes value

(value []byte)

Source from the content-addressed store, hash-verified

102
103// Set the bytes value
104func (fm *FieldModelBytes) Set(value []byte) error {
105 if (fm.buffer.Offset() + fm.FBEOffset() + fm.FBESize()) > fm.buffer.Size() {
106 return errors.New("model is broken")
107 }
108
109 fbeBytesSize := len(value)
110 fbeBytesOffset := fm.buffer.Allocate(4 + fbeBytesSize) - fm.buffer.Offset()
111 if (fbeBytesOffset <= 0) || ((fm.buffer.Offset() + fbeBytesOffset + 4 + fbeBytesSize) > fm.buffer.Size()) {
112 return errors.New("model is broken")
113 }
114
115 WriteUInt32(fm.buffer.Data(), fm.buffer.Offset() + fm.FBEOffset(), uint32(fbeBytesOffset))
116 WriteUInt32(fm.buffer.Data(), fm.buffer.Offset() + fbeBytesOffset, uint32(fbeBytesSize))
117 WriteBytes(fm.buffer.Data(), fm.buffer.Offset() + fbeBytesOffset + 4, value)
118 return nil
119}

Callers

nothing calls this directly

Calls 8

FBEOffsetMethod · 0.95
FBESizeMethod · 0.95
WriteUInt32Function · 0.85
WriteBytesFunction · 0.85
DataMethod · 0.80
OffsetMethod · 0.45
SizeMethod · 0.45
AllocateMethod · 0.45

Tested by

no test coverage detected