pub struct VmsplicePayload { /* private fields */ }Expand description
A single payload that may sit in a pipe as a consequence of a vmsplice(2)
to a pipe.
A VmsplicePayload originally starts with a single segment. The payload
may be split up into multiple segments as the payload sits in the pipe.
This can happen when a mapping that is also backing a vmsplice-ed payload
is modified such that the original segment is partially unmapped.
When the VmsplicePayload is created, it will be appended to its associated
memory manager’s InflightVmsplicedPayloads. The list cleans itself when
handle_unmapping is run.
Implementations§
Source§impl VmsplicePayload
impl VmsplicePayload
pub fn new( mapping: Weak<MemoryManager>, segment: VmsplicePayloadSegment, ) -> Arc<Self>
Trait Implementations§
Source§impl Debug for VmsplicePayload
impl Debug for VmsplicePayload
Source§impl Default for VmsplicePayload
impl Default for VmsplicePayload
Source§fn default() -> VmsplicePayload
fn default() -> VmsplicePayload
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for VmsplicePayload
impl !RefUnwindSafe for VmsplicePayload
impl Send for VmsplicePayload
impl Sync for VmsplicePayload
impl Unpin for VmsplicePayload
impl !UnwindSafe for VmsplicePayload
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
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
Converts the given service transport handle of type
T to [Self]Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
type Error = <U as TryFromExt<T>>::Error
§fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
Tries to perform the conversion.