pub struct IbvMemoryRegionView {
pub virtual_addr: usize,
pub rdma_addr: usize,
pub size: usize,
pub lkey: u32,
pub rkey: u32,
pub device_name: String,
/* private fields */
}Expand description
A cloneable handle to a slice of registered memory: the keys and addresses
a peer needs, plus an Arc<dyn IbvMemoryRegionKeepalive> keepalive.
Cheap to clone; every clone shares the same guard, so the backing registration stays alive (and registered) until the last clone drops.
Fields§
§virtual_addr: usizeVirtual address in the local process address space.
rdma_addr: usizeRDMA address, possibly offset from the region’s base MR address.
size: usize§lkey: u32§rkey: u32§device_name: StringName of the RDMA device the view’s protection domain is on.
Trait Implementations§
Source§impl Clone for IbvMemoryRegionView
impl Clone for IbvMemoryRegionView
Source§fn clone(&self) -> IbvMemoryRegionView
fn clone(&self) -> IbvMemoryRegionView
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IbvMemoryRegionView
impl Debug for IbvMemoryRegionView
Source§impl From<&IbvMemoryRegionView> for IbvBuffer
impl From<&IbvMemoryRegionView> for IbvBuffer
Source§fn from(view: &IbvMemoryRegionView) -> Self
fn from(view: &IbvMemoryRegionView) -> Self
The wire transport details are fully derived from the registered MR view: the keys, the RDMA address, the size, and the device name.
Auto Trait Implementations§
impl Freeze for IbvMemoryRegionView
impl !RefUnwindSafe for IbvMemoryRegionView
impl Send for IbvMemoryRegionView
impl Sync for IbvMemoryRegionView
impl Unpin for IbvMemoryRegionView
impl UnsafeUnpin for IbvMemoryRegionView
impl !UnwindSafe for IbvMemoryRegionView
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].