You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: group_rpath_status.rs
    path of file: ./repos/CYFS/src/component/cyfs-group-lib/src/objects
    
    the code of the file until where you have to start completion: use std::collections::HashMap;

use cyfs_base::*;
use cyfs_core::{GroupConsensusBlockDesc, HotstuffBlockQC};
use cyfs_lib::NONObjectInfo;
use prost::Message;

#[derive(Clone)]
pub struct GroupRPathStatus {
    pub block_desc: GroupConsensusBlockDesc,
    pub certificate: HotstuffBlockQC,
    pub status_map: HashMap<ObjectId, NONObject
    
    fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize> {
        let block_desc = self.block_desc.to_vec()?;
        let certificate = self.certificate.to_vec()?;
        let mut status_list = vec![];
        for (_, obj) in self.status_map.iter() {
            status_list.push(obj.to_vec()?);
        }

        let proto = super::codec::protos::GroupRPathStatus {
            block_desc,
            certificate,
            status_list,
        };

        Ok(proto.encoded_len())
    }