Currently we have 2 objects in vm-virtio that are providing mostly the same implementation: Queue and QueueGuard. The later was added in the context of supporting multi threaded queues, but its implementation is fairly similar to the one of the Queue.
This issue tracks having a single implementation that can be used by all customers. Currently Alibaba uses QueueGuard, while Cloud Hypervisor uses Queue.
More details TBD.