Skip to content

Commit d680cdc

Browse files
authored
vmbus_client: Fix bad merge and unbreak main (#639)
#440 broke main. This PR fixes up vmbus_client to take those changes.
1 parent e5c5db1 commit d680cdc

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

vm/devices/vmbus/vmbus_client/src/hvsock.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ impl HvsockRequestTracker {
3636
return None;
3737
}
3838
if let Some(index) = self.pending_requests.iter().position(|request| {
39-
request.0.service_id == result.service_id && request.0.endpoint_id == result.endpoint_id
39+
request.input().service_id == result.service_id
40+
&& request.input().endpoint_id == result.endpoint_id
4041
}) {
4142
let rpc = self.pending_requests.swap_remove(index);
4243
Some(rpc)
@@ -61,14 +62,15 @@ impl HvsockRequestTracker {
6162
// Since silo_id isn't part of the result message, it doesn't need to be checked here
6263
// either.
6364
let Some(index) = self.pending_requests.iter().position(|request| {
64-
request.0.service_id == offer.interface_id && request.0.endpoint_id == offer.instance_id
65+
request.input().service_id == offer.interface_id
66+
&& request.input().endpoint_id == offer.instance_id
6567
}) else {
6668
tracing::warn!(?offer, "Channel offer for unknown hvsock request");
6769
return None;
6870
};
6971

7072
let rpc = self.pending_requests.swap_remove(index);
71-
tracing::debug!(request = ?rpc.0, "channel offer matches hvsocket request");
73+
tracing::debug!(request = ?rpc.input(), "channel offer matches hvsocket request");
7274
Some(rpc)
7375
}
7476
}
@@ -91,7 +93,7 @@ mod tests {
9193
silo_id: Guid::new_random(),
9294
};
9395

94-
tracker.add_request(Rpc(request, mesh::oneshot().0));
96+
tracker.add_request(Rpc::detached(request));
9597
assert_eq!(1, tracker.pending_requests.len());
9698

9799
// Endpoint ID mismatch.
@@ -133,7 +135,7 @@ mod tests {
133135
silo_id: Guid::new_random(),
134136
};
135137

136-
tracker.add_request(Rpc(request, mesh::oneshot().0));
138+
tracker.add_request(Rpc::detached(request));
137139
assert_eq!(1, tracker.pending_requests.len());
138140

139141
// Endpoint ID mismatch.
@@ -155,7 +157,7 @@ mod tests {
155157
// Match.
156158
let offer = create_offer(request.service_id, request.endpoint_id, true, false);
157159
let found = tracker.check_offer(&offer).unwrap();
158-
assert_eq!(found.0, request);
160+
assert_eq!(*found.input(), request);
159161
assert_eq!(0, tracker.pending_requests.len());
160162

161163
// It no longer exists.

vm/devices/vmbus/vmbus_client/src/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -583,9 +583,8 @@ impl<T: VmbusMessageSource> ClientTask<T> {
583583
// The client only supports protocol versions which use the newer message format.
584584
// The host will not send a TlConnectRequestResult message on success, so a response to this
585585
// message is not guaranteed.
586-
let request = rpc.0;
586+
let message = protocol::TlConnectRequest2::from(*rpc.input());
587587
self.hvsock_tracker.add_request(rpc);
588-
let message = protocol::TlConnectRequest2::from(request);
589588
self.inner.send(&message);
590589
}
591590

0 commit comments

Comments
 (0)