fix(data): handle pulse receiver methods

This commit is contained in:
Nova
2024-02-04 19:21:33 -05:00
parent 1e0ea6ae92
commit eec38dd60f

View File

@@ -72,6 +72,8 @@ impl PulseSender {
mask, mask,
aliases: LifeLinkedNodeMap::default(), aliases: LifeLinkedNodeMap::default(),
}; };
// <PulseSender as PulseSenderAspect>::add_node_members(node);
let sender = PULSE_SENDER_REGISTRY.add(sender); let sender = PULSE_SENDER_REGISTRY.add(sender);
let _ = node.pulse_sender.set(sender.clone()); let _ = node.pulse_sender.set(sender.clone());
for receiver in PULSE_RECEIVER_REGISTRY.get_valid_contents() { for receiver in PULSE_RECEIVER_REGISTRY.get_valid_contents() {
@@ -93,7 +95,7 @@ impl PulseSender {
return; return;
}; };
// Receiver itself // Receiver itself
let rx_alias = Alias::create( let Ok(rx_alias) = Alias::create(
&tx_client, &tx_client,
tx_node.get_path(), tx_node.get_path(),
receiver.uid.as_str(), receiver.uid.as_str(),
@@ -102,8 +104,9 @@ impl PulseSender {
server_methods: vec!["send_data"], server_methods: vec!["send_data"],
..Default::default() ..Default::default()
}, },
); ) else {
let Ok(rx_alias) = rx_alias else { return }; return;
};
self.aliases.add(receiver.uid.clone(), &rx_alias); self.aliases.add(receiver.uid.clone(), &rx_alias);
// Receiver's field // Receiver's field
@@ -165,10 +168,11 @@ impl PulseReceiver {
}; };
let receiver = PULSE_RECEIVER_REGISTRY.add(receiver); let receiver = PULSE_RECEIVER_REGISTRY.add(receiver);
<PulseReceiver as PulseReceiverAspect>::add_node_members(node);
let _ = node.pulse_receiver.set(receiver.clone());
for sender in PULSE_SENDER_REGISTRY.get_valid_contents() { for sender in PULSE_SENDER_REGISTRY.get_valid_contents() {
sender.handle_new_receiver(&receiver); sender.handle_new_receiver(&receiver);
} }
let _ = node.pulse_receiver.set(receiver.clone());
Ok(receiver) Ok(receiver)
} }
} }