Esempio n. 1
0
 def decode_control(self, encoded):
     sc = StringCodec(encoded)
     code = sc.read_uint16()
     cls = CONTROLS[code]
     ctl = cls()
     sc.read_fields(ctl)
     return ctl
Esempio n. 2
0
 def decode_command(self, encoded):
     sc = StringCodec(encoded)
     code = sc.read_uint16()
     cls = COMMANDS[code]
     hdr = sc.read_compound(Header)
     cmd = cls()
     sc.read_fields(cmd)
     cmd.sync = hdr.sync
     return cmd
Esempio n. 3
0
 def decode_headers(self, encoded):
     sc = StringCodec(encoded)
     result = []
     while sc.encoded:
         result.append(sc.read_struct32())
     return result
Esempio n. 4
0
 def encode_compound(self, op):
     sc = StringCodec()
     sc.write_compound(op)
     return sc.encoded
Esempio n. 5
0
 def encode_command(self, cmd):
     sc = StringCodec()
     sc.write_uint16(cmd.CODE)
     sc.write_compound(Header(sync=cmd.sync))
     sc.write_fields(cmd)
     return sc.encoded