Struct Scoreboard

Source
pub struct Scoreboard<'a, T>
where T: Sized,
{ /* private fields */ }
Expand description

A wrapper structure for a qemu_plugin_scoreboard *. This is a way of having one entry per VCPU, the count of which is managed automatically by QEMU. Keep in mind that additional entries and existing entries will be allocated and reallocated by qemu, not by the plugin, so every use of a T should include a check for whether it is initialized.

Implementations§

Source§

impl<'a, T> Scoreboard<'a, T>

Source

pub fn new() -> Self

Allocate a new scoreboard object. This must be freed by calling qemu_plugin_scoreboard_free (or by being dropped).

Source

pub fn find<'b>(&mut self, vcpu_index: VCPUIndex) -> &'b mut MaybeUninit<T>

Returns a reference to entry of a scoreboard matching a given vcpu index. This address is only valid until the next call to get or set.

Trait Implementations§

Source§

impl<'a, T> Default for Scoreboard<'a, T>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'a, T> Drop for Scoreboard<'a, T>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'a, T> Freeze for Scoreboard<'a, T>

§

impl<'a, T> RefUnwindSafe for Scoreboard<'a, T>
where T: RefUnwindSafe,

§

impl<'a, T> Send for Scoreboard<'a, T>
where T: Sync,

§

impl<'a, T> Sync for Scoreboard<'a, T>
where T: Sync,

§

impl<'a, T> Unpin for Scoreboard<'a, T>

§

impl<'a, T> UnwindSafe for Scoreboard<'a, T>
where T: RefUnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.