server/vfs: facilitate batching of requests

By replacing the calls of 'acknowledge_packet' and 'get_packet' with
'try_ack_packet' and 'try_get_packet', we avoid the implicit triggering
of data-flow signals. Instead, the VFS server now relies on explicit
calls of the packet stream's 'wakeup' interface.

Issue #4697
This commit is contained in:
Norman Feske 2022-12-02 15:54:44 +01:00 committed by Christian Helmuth
parent a15c894385
commit 6edede0db9

View File

@ -183,7 +183,7 @@ class Vfs_server::Session_component : private Session_resources,
auto drop_packet_from_submit_queue = [&] ()
{
_stream.get_packet();
_stream.try_get_packet();
overall_progress = true;
progress_in_iteration = true;
@ -273,7 +273,7 @@ class Vfs_server::Session_component : private Session_resources,
}
if (node.acknowledgement_pending()) {
_stream.acknowledge_packet(node.dequeue_acknowledgement());
_stream.try_ack_packet(node.dequeue_acknowledgement());
progress = true;
}