def unpack(cls, data): # we special-case as we need properties unpack class to change according to method_class method_class, data = Octet.unpack(data) weight, data = Octet.unpack(data) body_size, data = LongLong.unpack(data) properties, data = Properties.get_by_class(method_class).unpack(data) return cls(method_class, body_size, properties)
def __init__(self, method_class, body_size, properties): if not isinstance(properties, Properties): properties = Properties.get_by_class(method_class)(properties) super(ContentHeaderPayload, self).__init__(method_class, 0, body_size, properties)