Example #1
0
 def decode(data):
     if hasattr(data, 'read'):
         buf = data
     else:
         buf = BytesIO(data)
     if buf.read(8) != node_t._get_packed_fingerprint():
         raise ValueError("Decode error")
     return node_t._decode_one(buf)
Example #2
0
 def _encode_one(self, buf):
     buf.write(struct.pack(">i", self.num_children))
     for i0 in range(self.num_children):
         assert self.children[i0]._get_packed_fingerprint() == node_t._get_packed_fingerprint()
         self.children[i0]._encode_one(buf)
Example #3
0
 def encode(self):
     buf = BytesIO()
     buf.write(node_t._get_packed_fingerprint())
     self._encode_one(buf)
     return buf.getvalue()