refactor(client): remove weak ref

This commit is contained in:
Nova
2022-06-05 15:58:21 -04:00
parent 57be2cd8e8
commit bb26038030

View File

@@ -5,20 +5,17 @@ use mio::net::UnixStream;
use rccell::{RcCell, WeakCell};
pub struct Client<'a> {
weak_ref: WeakCell<Client<'a>>,
messenger: Messenger<'a>,
pub messenger: Messenger<'a>,
scenegraph: Scenegraph<'a>,
}
impl<'a> Client<'a> {
pub fn from_connection(connection: UnixStream) -> RcCell<Self> {
let client = RcCell::new(Client {
weak_ref: WeakCell::new(),
scenegraph: Default::default(),
messenger: Messenger::new(connection),
});
client.borrow_mut().scenegraph.set_client(client.clone());
client.borrow_mut().weak_ref = client.downgrade();
spatial::create_interface(client.clone());
client
}