continue device handler
All checks were successful
Rust/sat-rs/pipeline/pr-main This commit looks good

This commit is contained in:
2024-04-03 12:35:30 +02:00
parent 708050e5bd
commit 3e55fde3b4
3 changed files with 134 additions and 88 deletions

View File

@ -79,7 +79,7 @@ impl ModeRequestHandler for TestDevice {
Ok(())
}
fn announce_mode(&self, _requestor_info: MessageMetadata, _recursive: bool) {
fn announce_mode(&self, _requestor_info: Option<MessageMetadata>, _recursive: bool) {
println!(
"{}: announcing mode: {:?}",
self.name, self.mode_and_submode
@ -150,9 +150,11 @@ impl TestAssembly {
ModeReply::ModeReply(self.mode_and_submode),
)
.unwrap(),
ModeRequest::AnnounceMode => self.announce_mode(request.requestor_info, false),
ModeRequest::AnnounceMode => {
self.announce_mode(Some(request.requestor_info), false)
}
ModeRequest::AnnounceModeRecursive => {
self.announce_mode(request.requestor_info, true)
self.announce_mode(Some(request.requestor_info), true)
}
ModeRequest::ModeInfo(_) => todo!(),
}
@ -197,7 +199,7 @@ impl ModeRequestHandler for TestAssembly {
Ok(())
}
fn announce_mode(&self, requestor_info: MessageMetadata, recursive: bool) {
fn announce_mode(&self, requestor_info: Option<MessageMetadata>, recursive: bool) {
println!(
"TestAssembly: Announcing mode (recursively: {}): {:?}",
recursive, self.mode_and_submode
@ -207,6 +209,7 @@ impl ModeRequestHandler for TestAssembly {
if recursive {
mode_request = ModeRequest::AnnounceModeRecursive;
}
let request_id = requestor_info.map_or(0, |info| info.request_id());
self.mode_node
.request_sender_map
.0
@ -214,10 +217,7 @@ impl ModeRequestHandler for TestAssembly {
.for_each(|(_, sender)| {
sender
.send(GenericMessage::new(
MessageMetadata::new(
requestor_info.request_id(),
self.mode_node.local_channel_id_generic(),
),
MessageMetadata::new(request_id, self.mode_node.local_channel_id_generic()),
mode_request,
))
.expect("sending mode request failed");