diff options
author | David Riley <davidriley@chromium.org> | 2019-08-27 14:15:34 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-09-17 22:35:32 +0000 |
commit | e5e30a705af867d15ae92ac0dbc783ee73dd17f1 (patch) | |
tree | f36330a9fe992c6108b2545e6933e606f2b08ccf | |
parent | 9dd75d0d3e1a7fa8226bef55a40a608beff5baf7 (diff) | |
download | crosvm-e5e30a705af867d15ae92ac0dbc783ee73dd17f1.tar crosvm-e5e30a705af867d15ae92ac0dbc783ee73dd17f1.tar.gz crosvm-e5e30a705af867d15ae92ac0dbc783ee73dd17f1.tar.bz2 crosvm-e5e30a705af867d15ae92ac0dbc783ee73dd17f1.tar.lz crosvm-e5e30a705af867d15ae92ac0dbc783ee73dd17f1.tar.xz crosvm-e5e30a705af867d15ae92ac0dbc783ee73dd17f1.tar.zst crosvm-e5e30a705af867d15ae92ac0dbc783ee73dd17f1.zip |
virtio: Make Reader interface cloneable.
BUG=chromium:993452 TEST=apitrace replay Change-Id: If7dc8ef93d9e6b9783f2f8f124fcee5e016b3eb4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1775364 Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Tested-by: David Riley <davidriley@chromium.org> Commit-Queue: David Riley <davidriley@chromium.org>
-rw-r--r-- | devices/src/virtio/descriptor_utils.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/devices/src/virtio/descriptor_utils.rs b/devices/src/virtio/descriptor_utils.rs index 0ea4faa..2233931 100644 --- a/devices/src/virtio/descriptor_utils.rs +++ b/devices/src/virtio/descriptor_utils.rs @@ -40,12 +40,13 @@ pub type Result<T> = result::Result<T, Error>; impl std::error::Error for Error {} -#[derive(PartialEq, Eq)] +#[derive(Clone, PartialEq, Eq)] enum DescriptorFilter { OnlyReadable, OnlyWritable, } +#[derive(Clone)] struct DescriptorChainConsumer<'a> { offset: usize, desc_chain: Option<DescriptorChain<'a>>, @@ -200,6 +201,7 @@ impl<'a> DescriptorChainConsumer<'a> { /// descriptors after any device-readable descriptors (2.6.4.2 in Virtio Spec v1.1). /// Reader will skip iterating over descriptor chain when first writable /// descriptor is encountered. +#[derive(Clone)] pub struct Reader<'a> { mem: &'a GuestMemory, buffer: DescriptorChainConsumer<'a>, |