def METHOD_NAME(cls, raw_header):
    parts = raw_header.split('|')
    _, stats = parts[0].split(':')
    pairs = parts[1].split(',')
    if not pairs[0].startswith('chunks='):
        LOG_WARN("invalid header chunk payload (no chunks=?): %s"
                 % raw_header)
        raise IbdmpDecodeError(raw_header)
    if not pairs[1].startswith('md5='):
        LOG_WARN("invalid header chunk payload (no md5=?): %s"
                 % raw_header)
        raise IbdmpDecodeError(raw_header)
    return cls(
        chunks=int(pairs[0].split('=')[1]),
        md5=str(pairs[1].split('=')[1]),
        csets=int(stats.split('/')[1]),
    )