import msgpack cdef enum CommandType: INFERENCE = 1 LOAD = 2 cdef enum ProcessorType: SOCKET = 1, RABBIT = 2 cdef class FileCommand: cdef str filename def __init__(self, command_type: CommandType, processor_type: ProcessorType, str filename): self.command_type = command_type self.processor_type = processor_type self.filename = filename @staticmethod cdef from_msgpack(bytes data, processor_type: ProcessorType): unpacked = msgpack.unpackb(data, strict_map_key=False) return FileCommand(unpacked.get("CommandType"), processor_type, unpacked.get("Filename") )