MCPcopy Index your code
hub / github.com/apache/fory / write_encoded_meta_string

Method write_encoded_meta_string

python/pyfory/context.py:106–120  ·  view source on GitHub ↗
(self, buffer, encoded_meta_string: EncodedMetaString)

Source from the content-addressed store, hash-verified

104 self._written_meta_strings = {}
105
106 def write_encoded_meta_string(self, buffer, encoded_meta_string: EncodedMetaString):
107 entry = self._written_meta_strings.get(id(encoded_meta_string))
108 length = encoded_meta_string.length
109 if entry is None:
110 dynamic_id = len(self._written_meta_strings)
111 self._written_meta_strings[id(encoded_meta_string)] = (dynamic_id, encoded_meta_string)
112 buffer.write_var_uint32(length << 1)
113 if length <= SMALL_STRING_THRESHOLD:
114 if length != 0:
115 buffer.write_int8(encoded_meta_string.encoding)
116 else:
117 buffer.write_int64(encoded_meta_string.hashcode)
118 buffer.write_bytes(encoded_meta_string.data)
119 return
120 buffer.write_var_uint32(((entry[0] + 1) << 1) | 1)
121
122 def reset(self):
123 self._written_meta_strings.clear()

Callers 2

_roundtrip_meta_stringFunction · 0.95
write_type_infoMethod · 0.80

Calls 5

getMethod · 0.65
write_var_uint32Method · 0.45
write_int8Method · 0.45
write_int64Method · 0.45
write_bytesMethod · 0.45

Tested by 1

_roundtrip_meta_stringFunction · 0.76