Enum hypervisor::BalloonEvent
source · pub enum BalloonEvent {
Inflate(MemRegion),
Deflate(MemRegion),
BalloonTargetReached(u64),
}
Expand description
This is intended for use with virtio-balloon, where a guest driver determines unused ranges and requests they be freed. Use without the guest’s knowledge is sure to break something.
Variants§
Inflate(MemRegion)
Balloon event when the region is acquired from the guest. The guest cannot access this region any more. The guest memory can be reclaimed by the host OS. As per virtio-balloon spec, the given address and size are intended to be page-aligned.
Deflate(MemRegion)
Balloon event when the region is returned to the guest. VMM should reallocate memory and register it with the hypervisor for accesses by the guest.
BalloonTargetReached(u64)
Balloon event when the requested memory size is achieved. This can be achieved through
either inflation or deflation. The u64
will be the current size of the balloon in bytes.
Auto Trait Implementations§
impl RefUnwindSafe for BalloonEvent
impl Send for BalloonEvent
impl Sync for BalloonEvent
impl Unpin for BalloonEvent
impl UnwindSafe for BalloonEvent
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.