Exemplo n.º 1
0
 def smart_set(self, cur):
     if self.is_pointer:
         if cur is None: self.set(0)
         elif isinstance(cur, int):
             self.set(cur)
         else:
             if not isinstance(cur, (list, bytes, bytearray, str)):
                 cur = list([cur])
             array_len = len(cur)
             pointee = self.get_pointee(array_len=array_len)
             pointee.smart_set(cur)
     elif isinstance(cur, (bytes, bytearray, str)):
         self.set(Format.ToBytes(cur))
     elif self.is_primitive:
         return self.set(cur)
     elif self.is_array:
         for i, v in enumerate(cur):
             self.child(i).smart_set(v)
     elif isinstance(cur, dict):
         for k, v in cur.items():
             self[k].smart_set(v)
     else:
         assert 0
Exemplo n.º 2
0
 def send(self, data):
     data = Format.ToBytes(data)
     glog.debug('Sending data %s', data)
     return self._send(data)
Exemplo n.º 3
0
    def unwhiten(self, whitened_data):
        res = BitOps.xorlist(whitened_data,
                             self.get_white_seq(len(whitened_data)))

        return Format.ToBytes(res)
Exemplo n.º 4
0
 def push_data(self, data):
     self.buf += Format.ToBytes(data)