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

Method get

projects/Python/proto/fbe.py:2995–3022  ·  view source on GitHub ↗
(self, values=None)

Source from the content-addressed store, hash-verified

2993
2994 # Get the map
2995 def get(self, values=None):
2996 if values is None:
2997 values = dict()
2998
2999 values.clear()
3000
3001 assert ((self._buffer.offset + self.fbe_offset + 4) <= self._buffer.size), "Model is broken!"
3002 if (self._buffer.offset + self.fbe_offset + 4) > self._buffer.size:
3003 return values, 0
3004
3005 fbe_map_size = self.read_uint32(self.fbe_offset)
3006 if fbe_map_size == 0:
3007 return values, 4
3008
3009 size = 4
3010 self._model_key.fbe_offset = self.fbe_offset + 4
3011 self._model_value.fbe_offset = self.fbe_offset + 4
3012 for i in range(fbe_map_size):
3013 key = self._model_key.get()
3014 self._model_key.fbe_shift(key[1])
3015 self._model_value.fbe_shift(key[1])
3016 size += key[1]
3017 value = self._model_value.get()
3018 self._model_key.fbe_shift(value[1])
3019 self._model_value.fbe_shift(value[1])
3020 size += value[1]
3021 values[key[0]] = value[0]
3022 return values, size
3023
3024 # Set the map
3025 def set(self, values):

Callers

nothing calls this directly

Calls 4

clearMethod · 0.80
read_uint32Method · 0.45
getMethod · 0.45
fbe_shiftMethod · 0.45

Tested by

no test coverage detected