示例#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
示例#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
示例#3
0
 def decode_headers(self, encoded):
     sc = StringCodec(encoded)
     result = []
     while sc.encoded:
         result.append(sc.read_struct32())
     return result
示例#4
0
 def encode_compound(self, op):
     sc = StringCodec()
     sc.write_compound(op)
     return sc.encoded
示例#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