Ejemplo n.º 1
0
 def unpack(self, msg: Buffer):
     definition: OrderedDict = self.types[0].definition
     length = VarInt.unpack(msg)
     items = list(definition.items())
     res = self.types[0]()
     for _ in range(length):
         index = VarInt.unpack(msg)
         setattr(res, items[index][0], items[index][1].unpack(msg))
     return self(res)
Ejemplo n.º 2
0
 def unpack(self, msg: Buffer):
     obj = {}
     count = VarInt.unpack(msg)
     for _ in range(count):
         key = self.types[0].unpack(msg)
         value = self.types[1].unpack(msg)
         obj[key] = value
     return self(obj)
Ejemplo n.º 3
0
 def pack(self):
     definition: OrderedDict = self.types[0].definition
     values = []
     for i, item in enumerate(definition.items()):
         value = getattr(self.data, item[0], None)
         if value is not None:
             values.append((i, value))
     res = VarInt(len(values)).pack()
     for i, v in values:
         res.extend(VarInt(i).pack())
         res.extend(v.pack())
     return res
Ejemplo n.º 4
0
 def pack(self):
     return VarInt(self.id).pack()
Ejemplo n.º 5
0
 def unpack(cls, msg: Buffer):
     return cls(VarInt.unpack(msg))
Ejemplo n.º 6
0
 def pack(self):
     res = VarInt(len(self.data)).pack()
     for i in self.data:
         res.extend(i.pack())
     return res
Ejemplo n.º 7
0
 def unpack(self, msg: Buffer):
     obj = []
     count = VarInt.unpack(msg)
     for _ in range(count):
         obj.append(self.types[0].unpack(msg))
     return self(obj)
Ejemplo n.º 8
0
 def pack(self):
     res = VarInt(self.type).pack()
     res.extend(self.data.pack())
Ejemplo n.º 9
0
 def unpack(self, msg: Buffer):
     index = VarInt.unpack(msg)
     return self(self.types[index].unpack(msg))
Ejemplo n.º 10
0
 def pack(self):
     res = VarInt(len(self.data)).pack()
     for k, v in self.data.items():
         res.extend(k.pack())
         res.extend(v.pack())
     return res