fn get_attachments()

in dubbo/src/context.rs [47:64]


    fn get_attachments() -> Option<Arc<Mutex<HashMap<String, Value>>>> {
        let local = APPLICATION_CONTEXT.try_get_local::<Arc<Mutex<HashMap<String, Value>>>>();

        tracing::debug!("{:?} - {:?}", thread::current().id(), local);

        match local {
            Some(attachment) => Some(attachment.clone()),
            None => {
                let attachment = HashMap::<String, Value>::new();
                let mutex = Arc::new(Mutex::new(attachment));
                let mutex_clone = Arc::clone(&mutex);
                APPLICATION_CONTEXT.set_local(move || {
                    return Arc::clone(&mutex_clone);
                });
                Some(Arc::clone(&mutex))
            }
        }
    }