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

Method set

projects/Python/proto/fbe.py:1158–1177  ·  view source on GitHub ↗
(self, value)

Source from the content-addressed store, hash-verified

1156
1157 # Set the string value
1158 def set(self, value):
1159 assert (value is not None), "Invalid string value!"
1160 if value is None:
1161 raise ValueError("Invalid string value!")
1162
1163 assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!"
1164 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
1165 return
1166
1167 data = value.encode("utf-8")
1168
1169 fbe_string_size = len(data)
1170 fbe_string_offset = self._buffer.allocate(4 + fbe_string_size) - self._buffer.offset
1171 assert ((fbe_string_offset > 0) and ((self._buffer.offset + fbe_string_offset + 4 + fbe_string_size) <= self._buffer.size)), "Model is broken!"
1172 if (fbe_string_offset <= 0) or ((self._buffer.offset + fbe_string_offset + 4 + fbe_string_size) > self._buffer.size):
1173 return
1174
1175 self.write_uint32(self.fbe_offset, fbe_string_offset)
1176 self.write_uint32(fbe_string_offset, fbe_string_size)
1177 self.write_bytes(fbe_string_offset + 4, data)
1178
1179
1180# Fast Binary Encoding optional field model

Callers

nothing calls this directly

Calls 3

allocateMethod · 0.45
write_uint32Method · 0.45
write_bytesMethod · 0.45

Tested by

no test coverage detected