fix(registry): make add always succeed

This commit is contained in:
Nova
2022-06-19 23:19:54 -04:00
parent ca57131558
commit 82140c09fa
2 changed files with 4 additions and 4 deletions

View File

@@ -6,10 +6,10 @@ use std::sync::{Arc, Weak};
pub struct Registry<T>(RwLock<Slab<Weak<T>>>);
impl<T> Registry<T> {
pub fn add(&self, t: T) -> Result<Arc<T>> {
pub fn add(&self, t: T) -> Arc<T> {
let t_arc = Arc::new(t);
self.0.write().insert(Arc::downgrade(&t_arc));
Ok(t_arc)
t_arc
}
pub fn get_valid_contents(&self) -> Vec<Arc<T>> {
self.0

View File

@@ -76,7 +76,7 @@ impl PulseSender {
);
let sender = Default::default();
let sender = PULSE_SENDER_REGISTRY.add(sender)?;
let sender = PULSE_SENDER_REGISTRY.add(sender);
let _ = node.pulse_sender.set(sender);
node.add_local_signal("setMask", PulseSender::set_mask_flex);
node.add_local_method("getReceivers", PulseSender::get_receivers_flex);
@@ -167,7 +167,7 @@ impl<'a> PulseReceiver {
field: Arc::downgrade(&field),
mask: Default::default(),
};
let receiver = PULSE_RECEIVER_REGISTRY.add(receiver)?;
let receiver = PULSE_RECEIVER_REGISTRY.add(receiver);
let _ = node.pulse_receiver.set(receiver);
node.add_local_signal("setMask", PulseReceiver::set_mask_flex);
node.add_local_signal("sendData", PulseReceiver::send_data_flex);